Namespaces
-
namespace @nonymous_namespace -
namespace CompilerRtAPINames -
namespace KernelInfo -
namespace LiveDebugValues -
namespace NodeMatcher -
namespace PreferPredicateTy -
namespace TAPIRecord -
namespace TBDv1 -
namespace TBDv2 -
namespace TBDv3 -
namespace TBDv4 -
namespace TBDv5 -
namespace adl -
namespace annotationcount -
namespace benchmark -
namespace bitstream2yaml -
namespace callgraph -
namespace clang -
namespace detail -
namespace foo -
namespace instructioncount -
namespace instructionmix -
namespace leafs -
namespace llvm -
namespace llvm_gtest -
namespace members -
namespace omp -
namespace opts -
namespace proto2 -
namespace red -
namespace std -
namespace summary -
namespace testing -
namespace thinlto -
namespace tomp -
namespace yaml2bitstream
Enumerations
enum ObjdumpOptID
| Name | Value |
|---|---|
| OBJDUMP_INVALID | 0 |
enum
| Name | Value |
|---|---|
| Max7DecimalOffset | 9999999U |
enum
| Name | Value |
|---|---|
| MaxBase64Offset | 0xFFFFFFFFFULL |
enum LineTableOpCode
| Name | Value |
|---|---|
| EndSequence | 0x00 |
| SetFile | 0x01 |
| AdvancePC | 0x02 |
| AdvanceLine | 0x03 |
| FirstSpecial | 0x04 |
enum blake3_flags
| Name | Value |
|---|---|
| CHUNK_START | 1 << 0 |
| CHUNK_END | 1 << 1 |
| PARENT | 1 << 2 |
| ROOT | 1 << 3 |
| KEYED_HASH | 1 << 4 |
| DERIVE_KEY_CONTEXT | 1 << 5 |
| DERIVE_KEY_MATERIAL | 1 << 6 |
enum AsmWriterFlavorTy
| Name | Value |
|---|---|
| ATT | 0 |
| Intel | 1 |
enum OrderKind
| Name | Value |
|---|---|
| InOrder | 0 |
| OutOfOrder | 1 |
enum TransformKind
| Name | Value |
|---|---|
| Normalize | 0 |
| Denormalize | 1 |
enum InfoType
| Name | Value |
|---|---|
| EndOfList | 0u |
| LineTableInfo | 1u |
| InlineInfo | 2u |
| MergedFunctionsInfo | 3u |
| CallSiteInfo | 4u |
enum RawSegments
| Name | Value |
|---|---|
| none | 0 |
| data | 1 |
| linkedit | 1 << 1 |
enum
| Name | Value |
|---|---|
| JIT_NOACTION | 0 |
| JIT_REGISTER_FN | 1 |
| JIT_UNREGISTER_FN | 2 |
enum InlinePriorityMode
| Name | Value |
|---|---|
| Size | 0 |
| Cost | 1 |
| CostBenefit | 2 |
| ML | 3 |
enum TBDFlags
| Name | Value |
|---|---|
| None | 0U |
| FlatNamespace | 1U << 0 |
| NotApplicationExtensionSafe | 1U << 1 |
| InstallAPI | 1U << 2 |
| SimulatorSupport | 1U << 3 |
| OSLibNotForSharedCache | 1U << 4 |
| LLVM_BITMASK_LARGEST_ENUMERATOR | OSLibNotForSharedCache |
enum Token
| Name | Value |
|---|---|
| tok_eof | -1 |
| tok_def | -2 |
| tok_extern | -3 |
| tok_identifier | -4 |
| tok_number | -5 |
enum ReportStyleOptions
| Name | Value |
|---|---|
| human_output | 0 |
| json_output | 1 |
enum
| Name | Value |
|---|---|
| LLVMAnyComdatSelectionKind | 0 |
| LLVMExactMatchComdatSelectionKind | 1 |
| LLVMLargestComdatSelectionKind | 2 |
| LLVMNoDeduplicateComdatSelectionKind | 3 |
| LLVMSameSizeComdatSelectionKind | 4 |
enum
| Name | Value |
|---|---|
| LLVMLinkerDestroySource | 0 |
| LLVMLinkerPreserveSource_Removed | 1 |
enum
| Name | Value |
|---|---|
| IndexWidth | 7 |
| FullIndexWidth | IndexWidth + 4 |
| HistOpcWidth | 40 |
enum RankFlags
| Name | Value |
|---|---|
| RF_Z_EXTENSION | 1 << 6 |
| RF_S_EXTENSION | 2 << 6 |
| RF_X_EXTENSION | 3 << 6 |
| RF_UNKNOWN_MULTILETTER_EXTENSION | 4 << 6 |
enum OutputCostKind
| Name | Value |
|---|---|
| RecipThroughput | 0 |
| Latency | 1 |
| CodeSize | 2 |
| SizeAndLatency | 3 |
| All | 4 |
enum HashFunctionMode
| Name | Value |
|---|---|
| Local | 0 |
| BuildingHashFuncion | 1 |
| UsingHashFunction | 2 |
enum CGDataFormat
| Name | Value |
|---|---|
| Invalid | 0 |
| Text | 1 |
| Binary | 2 |
enum
| Name | Value |
|---|---|
| LLVMAbortProcessAction | 0 |
| LLVMPrintMessageAction | 1 |
| LLVMReturnStatusAction | 2 |
enum
| Name | Value |
|---|---|
| LLVMDIFlagZero | 0 |
| LLVMDIFlagPrivate | 1 |
| LLVMDIFlagProtected | 2 |
| LLVMDIFlagPublic | 3 |
| LLVMDIFlagFwdDecl | 1 << 2 |
| LLVMDIFlagAppleBlock | 1 << 3 |
| LLVMDIFlagReservedBit4 | 1 << 4 |
| LLVMDIFlagVirtual | 1 << 5 |
| LLVMDIFlagArtificial | 1 << 6 |
| LLVMDIFlagExplicit | 1 << 7 |
| LLVMDIFlagPrototyped | 1 << 8 |
| LLVMDIFlagObjcClassComplete | 1 << 9 |
| LLVMDIFlagObjectPointer | 1 << 10 |
| LLVMDIFlagVector | 1 << 11 |
| LLVMDIFlagStaticMember | 1 << 12 |
| LLVMDIFlagLValueReference | 1 << 13 |
| LLVMDIFlagRValueReference | 1 << 14 |
| LLVMDIFlagReserved | 1 << 15 |
| LLVMDIFlagSingleInheritance | 1 << 16 |
| LLVMDIFlagMultipleInheritance | 2 << 16 |
| LLVMDIFlagVirtualInheritance | 3 << 16 |
| LLVMDIFlagIntroducedVirtual | 1 << 18 |
| LLVMDIFlagBitField | 1 << 19 |
| LLVMDIFlagNoReturn | 1 << 20 |
| LLVMDIFlagTypePassByValue | 1 << 22 |
| LLVMDIFlagTypePassByReference | 1 << 23 |
| LLVMDIFlagEnumClass | 1 << 24 |
| LLVMDIFlagFixedEnum | LLVMDIFlagEnumClass |
| LLVMDIFlagThunk | 1 << 25 |
| LLVMDIFlagNonTrivial | 1 << 26 |
| LLVMDIFlagBigEndian | 1 << 27 |
| LLVMDIFlagLittleEndian | 1 << 28 |
| LLVMDIFlagIndirectVirtualBase | (1 << 2) | (1 << 5) |
| LLVMDIFlagAccessibility | LLVMDIFlagPrivate | LLVMDIFlagProtected | LLVMDIFlagPublic |
| LLVMDIFlagPtrToMemberRep | LLVMDIFlagSingleInheritance | LLVMDIFlagMultipleInheritance | LLVMDIFlagVirtualInheritance |
enum ConvertFormats
| Name | Value |
|---|---|
| BINARY | 0 |
| YAML | 1 |
| CHROME_TRACE_EVENT | 2 |
enum LLVMByteOrdering
| Name | Value |
|---|---|
| LLVMBigEndian | 0 |
| LLVMLittleEndian | 1 |
enum IR
| Name | Value |
|---|---|
| LLVM | 0 |
| SBoxNoTracking | 1 |
| SBoxTracking | 2 |
enum CGDataAction
| Name | Value |
|---|---|
| Convert | 0 |
| Merge | 1 |
| Show | 2 |
enum
| Name | Value |
|---|---|
| LLVMCodeGenLevelNone | 0 |
| LLVMCodeGenLevelLess | 1 |
| LLVMCodeGenLevelDefault | 2 |
| LLVMCodeGenLevelAggressive | 3 |
enum UnicodeEncodingForm
| Name | Value |
|---|---|
| UEF_UTF32_LE | 0 |
| UEF_UTF32_BE | 1 |
| UEF_UTF16_LE | 2 |
| UEF_UTF16_BE | 3 |
| UEF_UTF8 | 4 |
| UEF_Unknown | 5 |
enum
| Name | Value |
|---|---|
| LLVMBinaryTypeArchive | 0 |
| LLVMBinaryTypeMachOUniversalBinary | 1 |
| LLVMBinaryTypeCOFFImportFile | 2 |
| LLVMBinaryTypeIR | 3 |
| LLVMBinaryTypeWinRes | 4 |
| LLVMBinaryTypeCOFF | 5 |
| LLVMBinaryTypeELF32L | 6 |
| LLVMBinaryTypeELF32B | 7 |
| LLVMBinaryTypeELF64L | 8 |
| LLVMBinaryTypeELF64B | 9 |
| LLVMBinaryTypeMachO32L | 10 |
| LLVMBinaryTypeMachO32B | 11 |
| LLVMBinaryTypeMachO64L | 12 |
| LLVMBinaryTypeMachO64B | 13 |
| LLVMBinaryTypeWasm | 14 |
| LLVMBinaryTypeOffload | 15 |
| LLVMBinaryTypeDXcontainer | 16 |
enum LLVMRemarkType
| Name | Value |
|---|---|
| LLVMRemarkTypeUnknown | 0 |
| LLVMRemarkTypePassed | 1 |
| LLVMRemarkTypeMissed | 2 |
| LLVMRemarkTypeAnalysis | 3 |
| LLVMRemarkTypeAnalysisFPCommute | 4 |
| LLVMRemarkTypeAnalysisAliasing | 5 |
| LLVMRemarkTypeFailure | 6 |
enum OptionFlags
| Name | Value |
|---|---|
| OptFlag1 | (1 << 4) |
| OptFlag2 | (1 << 5) |
| OptFlag3 | (1 << 6) |
enum LoopDeletionResult
| Name | Value |
|---|---|
| Unmodified | 0 |
| Modified | 1 |
| Deleted | 2 |
enum
| Name | Value |
|---|---|
| LLVMRelocDefault | 0 |
| LLVMRelocStatic | 1 |
| LLVMRelocPIC | 2 |
| LLVMRelocDynamicNoPic | 3 |
| LLVMRelocROPI | 4 |
| LLVMRelocRWPI | 5 |
| LLVMRelocROPI_RWPI | 6 |
enum TutorialVersion
| Name | Value |
|---|---|
| V1 | 0 |
| V2 | 1 |
| V3 | 2 |
enum OptionVisibility
| Name | Value |
|---|---|
| SubtoolVis | (1 << 2) |
| MultiLineVis | (1 << 3) |
enum DebugLocVerifyLevel
| Name | Value |
|---|---|
| None | 0 |
| Legalizations | 1 |
| LegalizationsAndArtifactCombiners | 2 |
enum IntrinsicCostStrategy
| Name | Value |
|---|---|
| InstructionCost | 0 |
| IntrinsicCost | 1 |
| TypeBasedIntrinsicCost | 2 |
enum SkipMLPolicyCriteria
| Name | Value |
|---|---|
| Never | 0 |
| IfCallerIsNotCold | 1 |
enum ActionType
| Name | Value |
|---|---|
| AC_Execute | 0 |
| AC_PrintObjectLineInfo | 1 |
| AC_PrintLineInfo | 2 |
| AC_PrintDebugLineInfo | 3 |
| AC_Verify | 4 |
enum ID
| Name | Value |
|---|---|
| OPT_INVALID | 0 |
enum
| Name | Value |
|---|---|
| GCOV_ARC_ON_TREE | 1 << 0 |
| GCOV_TAG_FUNCTION | 0x01000000 |
| GCOV_TAG_BLOCKS | 0x01410000 |
| GCOV_TAG_ARCS | 0x01430000 |
| GCOV_TAG_LINES | 0x01450000 |
enum
| Name | Value |
|---|---|
| LTO_SYMBOL_ALIGNMENT_MASK | 0x0000001F |
| LTO_SYMBOL_PERMISSIONS_MASK | 0x000000E0 |
| LTO_SYMBOL_PERMISSIONS_CODE | 0x000000A0 |
| LTO_SYMBOL_PERMISSIONS_DATA | 0x000000C0 |
| LTO_SYMBOL_PERMISSIONS_RODATA | 0x00000080 |
| LTO_SYMBOL_DEFINITION_MASK | 0x00000700 |
| LTO_SYMBOL_DEFINITION_REGULAR | 0x00000100 |
| LTO_SYMBOL_DEFINITION_TENTATIVE | 0x00000200 |
| LTO_SYMBOL_DEFINITION_WEAK | 0x00000300 |
| LTO_SYMBOL_DEFINITION_UNDEFINED | 0x00000400 |
| LTO_SYMBOL_DEFINITION_WEAKUNDEF | 0x00000500 |
| LTO_SYMBOL_SCOPE_MASK | 0x00003800 |
| LTO_SYMBOL_SCOPE_INTERNAL | 0x00000800 |
| LTO_SYMBOL_SCOPE_HIDDEN | 0x00001000 |
| LTO_SYMBOL_SCOPE_PROTECTED | 0x00002000 |
| LTO_SYMBOL_SCOPE_DEFAULT | 0x00001800 |
| LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN | 0x00002800 |
| LTO_SYMBOL_COMDAT | 0x00004000 |
| LTO_SYMBOL_ALIAS | 0x00008000 |
enum LTOBitcodeEmbedding
| Name | Value |
|---|---|
| DoNotEmbed | 0 |
| EmbedOptimized | 1 |
| EmbedPostMergePreOptimized | 2 |
enum LinkMode
| Name | Value |
|---|---|
| LinkModeAuto | 0 |
| LinkModeShared | 1 |
| LinkModeStatic | 2 |
enum AccountOutputFormats
| Name | Value |
|---|---|
| TEXT | 0 |
| CSV | 1 |
enum
| Name | Value |
|---|---|
| LLVMCodeModelDefault | 0 |
| LLVMCodeModelJITDefault | 1 |
| LLVMCodeModelTiny | 2 |
| LLVMCodeModelSmall | 3 |
| LLVMCodeModelKernel | 4 |
| LLVMCodeModelMedium | 5 |
| LLVMCodeModelLarge | 6 |
enum
| Name | Value |
|---|---|
| RecursionLimit | 3 |
enum
| Name | Value |
|---|---|
| LLVMJITSymbolGenericFlagsNone | 0 |
| LLVMJITSymbolGenericFlagsExported | 1U << 0 |
| LLVMJITSymbolGenericFlagsWeak | 1U << 1 |
| LLVMJITSymbolGenericFlagsCallable | 1U << 2 |
| LLVMJITSymbolGenericFlagsMaterializationSideEffectsOnly | 1U << 3 |
enum ReportKind
| Name | Value |
|---|---|
| Error | 0 |
| Summary | 1 |
| Discrepancy | 2 |
| Full | 3 |
enum AllocType
| Name | Value |
|---|---|
| OpNewLike | 1<<0 |
| MallocLike | 1<<1 |
| StrDupLike | 1<<2 |
| MallocOrOpNewLike | MallocLike | OpNewLike |
| AllocLike | MallocOrOpNewLike | StrDupLike |
| AnyAlloc | AllocLike |
enum FilesPresent
| Name | Value |
|---|---|
| A | 0 |
| B | 1 |
| BOTH | 2 |
enum
| Name | Value |
|---|---|
| LLVMRet | 1 |
| LLVMBr | 2 |
| LLVMSwitch | 3 |
| LLVMIndirectBr | 4 |
| LLVMInvoke | 5 |
| LLVMUnreachable | 7 |
| LLVMCallBr | 67 |
| LLVMFNeg | 66 |
| LLVMAdd | 8 |
| LLVMFAdd | 9 |
| LLVMSub | 10 |
| LLVMFSub | 11 |
| LLVMMul | 12 |
| LLVMFMul | 13 |
| LLVMUDiv | 14 |
| LLVMSDiv | 15 |
| LLVMFDiv | 16 |
| LLVMURem | 17 |
| LLVMSRem | 18 |
| LLVMFRem | 19 |
| LLVMShl | 20 |
| LLVMLShr | 21 |
| LLVMAShr | 22 |
| LLVMAnd | 23 |
| LLVMOr | 24 |
| LLVMXor | 25 |
| LLVMAlloca | 26 |
| LLVMLoad | 27 |
| LLVMStore | 28 |
| LLVMGetElementPtr | 29 |
| LLVMTrunc | 30 |
| LLVMZExt | 31 |
| LLVMSExt | 32 |
| LLVMFPToUI | 33 |
| LLVMFPToSI | 34 |
| LLVMUIToFP | 35 |
| LLVMSIToFP | 36 |
| LLVMFPTrunc | 37 |
| LLVMFPExt | 38 |
| LLVMPtrToInt | 39 |
| LLVMPtrToAddr | 69 |
| LLVMIntToPtr | 40 |
| LLVMBitCast | 41 |
| LLVMAddrSpaceCast | 60 |
| LLVMICmp | 42 |
| LLVMFCmp | 43 |
| LLVMPHI | 44 |
| LLVMCall | 45 |
| LLVMSelect | 46 |
| LLVMUserOp1 | 47 |
| LLVMUserOp2 | 48 |
| LLVMVAArg | 49 |
| LLVMExtractElement | 50 |
| LLVMInsertElement | 51 |
| LLVMShuffleVector | 52 |
| LLVMExtractValue | 53 |
| LLVMInsertValue | 54 |
| LLVMFreeze | 68 |
| LLVMFence | 55 |
| LLVMAtomicCmpXchg | 56 |
| LLVMAtomicRMW | 57 |
| LLVMResume | 58 |
| LLVMLandingPad | 59 |
| LLVMCleanupRet | 61 |
| LLVMCatchRet | 62 |
| LLVMCatchPad | 63 |
| LLVMCleanupPad | 64 |
| LLVMCatchSwitch | 65 |
enum SuppressLevel
| Name | Value |
|---|---|
| SUPPRESSION_DISABLE | 0 |
| SUPPRESSION_LEVEL1 | 1 |
| SUPPRESSION_LEVEL2 | 2 |
enum
| Name | Value |
|---|---|
| LLVMAssemblyFile | 0 |
| LLVMObjectFile | 1 |
enum CmpType
| Name | Value |
|---|---|
| Equal | 0 |
| Contains | 1 |
enum SortField
| Name | Value |
|---|---|
| FUNCID | 0 |
| COUNT | 1 |
| MIN | 2 |
| MED | 3 |
| PCT90 | 4 |
| PCT99 | 5 |
| MAX | 6 |
| SUM | 7 |
| FUNC | 8 |
enum MallocFamily
| Name | Value |
|---|---|
| Malloc | 0 |
| CPPNew | 1 |
| CPPNewAligned | 2 |
| CPPNewArray | 3 |
| CPPNewArrayAligned | 4 |
| MSVCNew | 5 |
| MSVCArrayNew | 6 |
| VecMalloc | 7 |
| KmpcAllocShared | 8 |
enum
| Name | Value |
|---|---|
| LLVMGlobalISelAbortEnable | 0 |
| LLVMGlobalISelAbortDisable | 1 |
| LLVMGlobalISelAbortDisableWithDiag | 2 |
enum radix
| Name | Value |
|---|---|
| none | 0 |
| octal | 1 |
| hexadecimal | 2 |
| decimal | 3 |
enum DebugLogging
| Name | Value |
|---|---|
| None | 0 |
| Normal | 1 |
| Verbose | 2 |
| Quiet | 3 |
enum StackOutputFormat
| Name | Value |
|---|---|
| HUMAN | 0 |
| FLAMETOOL | 1 |
enum Operation
| Name | Value |
|---|---|
| None | 0 |
| Static | 1 |
enum
| Name | Value |
|---|---|
| LTO_DEBUG_MODEL_NONE | 0 |
| LTO_DEBUG_MODEL_DWARF | 1 |
enum
| Name | Value |
|---|---|
| LLVMDWARFSourceLanguageC89 | 0 |
| LLVMDWARFSourceLanguageC | 1 |
| LLVMDWARFSourceLanguageAda83 | 2 |
| LLVMDWARFSourceLanguageC_plus_plus | 3 |
| LLVMDWARFSourceLanguageCobol74 | 4 |
| LLVMDWARFSourceLanguageCobol85 | 5 |
| LLVMDWARFSourceLanguageFortran77 | 6 |
| LLVMDWARFSourceLanguageFortran90 | 7 |
| LLVMDWARFSourceLanguagePascal83 | 8 |
| LLVMDWARFSourceLanguageModula2 | 9 |
| LLVMDWARFSourceLanguageJava | 10 |
| LLVMDWARFSourceLanguageC99 | 11 |
| LLVMDWARFSourceLanguageAda95 | 12 |
| LLVMDWARFSourceLanguageFortran95 | 13 |
| LLVMDWARFSourceLanguagePLI | 14 |
| LLVMDWARFSourceLanguageObjC | 15 |
| LLVMDWARFSourceLanguageObjC_plus_plus | 16 |
| LLVMDWARFSourceLanguageUPC | 17 |
| LLVMDWARFSourceLanguageD | 18 |
| LLVMDWARFSourceLanguagePython | 19 |
| LLVMDWARFSourceLanguageOpenCL | 20 |
| LLVMDWARFSourceLanguageGo | 21 |
| LLVMDWARFSourceLanguageModula3 | 22 |
| LLVMDWARFSourceLanguageHaskell | 23 |
| LLVMDWARFSourceLanguageC_plus_plus_03 | 24 |
| LLVMDWARFSourceLanguageC_plus_plus_11 | 25 |
| LLVMDWARFSourceLanguageOCaml | 26 |
| LLVMDWARFSourceLanguageRust | 27 |
| LLVMDWARFSourceLanguageC11 | 28 |
| LLVMDWARFSourceLanguageSwift | 29 |
| LLVMDWARFSourceLanguageJulia | 30 |
| LLVMDWARFSourceLanguageDylan | 31 |
| LLVMDWARFSourceLanguageC_plus_plus_14 | 32 |
| LLVMDWARFSourceLanguageFortran03 | 33 |
| LLVMDWARFSourceLanguageFortran08 | 34 |
| LLVMDWARFSourceLanguageRenderScript | 35 |
| LLVMDWARFSourceLanguageBLISS | 36 |
| LLVMDWARFSourceLanguageKotlin | 37 |
| LLVMDWARFSourceLanguageZig | 38 |
| LLVMDWARFSourceLanguageCrystal | 39 |
| LLVMDWARFSourceLanguageC_plus_plus_17 | 40 |
| LLVMDWARFSourceLanguageC_plus_plus_20 | 41 |
| LLVMDWARFSourceLanguageC17 | 42 |
| LLVMDWARFSourceLanguageFortran18 | 43 |
| LLVMDWARFSourceLanguageAda2005 | 44 |
| LLVMDWARFSourceLanguageAda2012 | 45 |
| LLVMDWARFSourceLanguageHIP | 46 |
| LLVMDWARFSourceLanguageAssembly | 47 |
| LLVMDWARFSourceLanguageC_sharp | 48 |
| LLVMDWARFSourceLanguageMojo | 49 |
| LLVMDWARFSourceLanguageGLSL | 50 |
| LLVMDWARFSourceLanguageGLSL_ES | 51 |
| LLVMDWARFSourceLanguageHLSL | 52 |
| LLVMDWARFSourceLanguageOpenCL_CPP | 53 |
| LLVMDWARFSourceLanguageCPP_for_OpenCL | 54 |
| LLVMDWARFSourceLanguageSYCL | 55 |
| LLVMDWARFSourceLanguageRuby | 56 |
| LLVMDWARFSourceLanguageMove | 57 |
| LLVMDWARFSourceLanguageHylo | 58 |
| LLVMDWARFSourceLanguageMetal | 59 |
| LLVMDWARFSourceLanguageMips_Assembler | 60 |
| LLVMDWARFSourceLanguageGOOGLE_RenderScript | 61 |
| LLVMDWARFSourceLanguageBORLAND_Delphi | 62 |
enum InputLanguages
| Name | Value |
|---|---|
| None | 0 |
| IR | 1 |
| MIR | 2 |
enum SplitByCategoryType
| Name | Value |
|---|---|
| SBCT_ByModuleId | 0 |
| SBCT_ByKernel | 1 |
| SBCT_None | 2 |
enum SectionType
| Name | Value |
|---|---|
| GOT | 0 |
| Stubs | 1 |
| AArch32Stubs | 2 |
| Other | 3 |
enum DefaultOnOff
| Name | Value |
|---|---|
| Default | 0 |
| Enable | 1 |
| Disable | 2 |
enum UseBFI
| Name | Value |
|---|---|
| None | 0 |
| PGO | 1 |
| All | 2 |
enum MatrixLayoutTy
| Name | Value |
|---|---|
| ColumnMajor | 0 |
| RowMajor | 1 |
enum
| Name | Value |
|---|---|
| LTO_CODEGEN_PIC_MODEL_STATIC | 0 |
| LTO_CODEGEN_PIC_MODEL_DYNAMIC | 1 |
| LTO_CODEGEN_PIC_MODEL_DYNAMIC_NO_PIC | 2 |
| LTO_CODEGEN_PIC_MODEL_DEFAULT | 3 |
enum DWARFVerify
| Name | Value |
|---|---|
| None | 0 |
| Input | 1 << 0 |
| Output | 1 << 1 |
| OutputOnValidInput | 1 << 2 |
| All | Input | Output |
| Auto | Input | OutputOnValidInput |
| Default | Auto |
enum OptParsingState
| Name | Value |
|---|---|
| NotParsed | 0 |
| Early | 1 |
| Done | 2 |
enum AggregationType
| Name | Value |
|---|---|
| TOTAL_TIME | 0 |
| INVOCATION_COUNT | 1 |
enum SortDirection
| Name | Value |
|---|---|
| ASCENDING | 0 |
| DESCENDING | 1 |
enum cpu_feature
| Name | Value |
|---|---|
| SSE2 | 1 << 0 |
| SSSE3 | 1 << 1 |
| SSE41 | 1 << 2 |
| AVX | 1 << 3 |
| AVX2 | 1 << 4 |
| AVX512F | 1 << 5 |
| AVX512VL | 1 << 6 |
| UNDEFINED | 1 << 30 |
enum SpeculateKind
| Name | Value |
|---|---|
| None | 0 |
| Simple | 1 |
enum DebugifyMode
| Name | Value |
|---|---|
| NoDebugify | 0 |
| SyntheticDebugInfo | 1 |
| OriginalDebugInfo | 2 |
enum ThinLTOModes
| Name | Value |
|---|---|
| THINLINK | 0 |
| THINDISTRIBUTE | 1 |
| THINEMITIMPORTS | 2 |
| THINPROMOTE | 3 |
| THINIMPORT | 4 |
| THININTERNALIZE | 5 |
| THINOPT | 6 |
| THINCODEGEN | 7 |
| THINALL | 8 |
enum
| Name | Value |
|---|---|
| UndefLocNo | ~0U |
enum CanMerge
| Name | Value |
|---|---|
| No | 0 |
| Yes | 1 |
enum FusionDependenceAnalysisChoice
| Name | Value |
|---|---|
| FUSION_DEPENDENCE_ANALYSIS_SCEV | 0 |
| FUSION_DEPENDENCE_ANALYSIS_DA | 1 |
| FUSION_DEPENDENCE_ANALYSIS_ALL | 2 |
enum MaskedICmpType
| Name | Value |
|---|---|
| AMask_AllOnes | 1 |
| AMask_NotAllOnes | 2 |
| BMask_AllOnes | 4 |
| BMask_NotAllOnes | 8 |
| Mask_AllZeros | 16 |
| Mask_NotAllZeros | 32 |
| AMask_Mixed | 64 |
| AMask_NotMixed | 128 |
| BMask_Mixed | 256 |
| BMask_NotMixed | 512 |
enum OutputStyle
| Name | Value |
|---|---|
| LLVM | 0 |
| GNU | 1 |
| JSON | 2 |
enum Command
| Name | Value |
|---|---|
| Code | 0 |
| Data | 1 |
| Frame | 2 |
enum DumpInputValue
| Name | Value |
|---|---|
| DumpInputNever | 0 |
| DumpInputFail | 1 |
| DumpInputAlways | 2 |
| DumpInputHelp | 3 |
enum OutputFileType
| Name | Value |
|---|---|
| OFT_Null | 0 |
| OFT_AssemblyFile | 1 |
| OFT_ObjectFile | 2 |
enum DotScope
| Name | Value |
|---|---|
| All | 0 |
| Alloc | 1 |
| Context | 2 |
enum LinkageNameOption
| Name | Value |
|---|---|
| DefaultLinkageNames | 0 |
| AllLinkageNames | 1 |
| AbstractLinkageNames | 2 |
enum DumpInputFilterValue
| Name | Value |
|---|---|
| DumpInputFilterError | 0 |
| DumpInputFilterAnnotation | 1 |
| DumpInputFilterAnnotationFull | 2 |
| DumpInputFilterAll | 3 |
enum SkipType
| Name | Value |
|---|---|
| NONE | 0 |
| LACK_SCHED | 1 |
| PARSE_FAILURE | 2 |
| ANY_FAILURE | 3 |
enum PGOMapFeaturesEnum
| Name | Value |
|---|---|
| None | 0 |
| FuncEntryCount | 1 |
| BBFreq | 2 |
| BrProb | 3 |
| PropellerCFG | 4 |
| All | 5 |
enum
| Name | Value |
|---|---|
| LLVMVoidTypeKind | 0 |
| LLVMHalfTypeKind | 1 |
| LLVMFloatTypeKind | 2 |
| LLVMDoubleTypeKind | 3 |
| LLVMX86_FP80TypeKind | 4 |
| LLVMFP128TypeKind | 5 |
| LLVMPPC_FP128TypeKind | 6 |
| LLVMLabelTypeKind | 7 |
| LLVMIntegerTypeKind | 8 |
| LLVMFunctionTypeKind | 9 |
| LLVMStructTypeKind | 10 |
| LLVMArrayTypeKind | 11 |
| LLVMPointerTypeKind | 12 |
| LLVMVectorTypeKind | 13 |
| LLVMMetadataTypeKind | 14 |
| LLVMTokenTypeKind | 16 |
| LLVMScalableVectorTypeKind | 17 |
| LLVMBFloatTypeKind | 18 |
| LLVMX86_AMXTypeKind | 19 |
| LLVMTargetExtTypeKind | 20 |
enum
| Name | Value |
|---|---|
| LLVMDWARFEmissionNone | 0 |
| LLVMDWARFEmissionFull | 1 |
| LLVMDWARFEmissionLineTablesOnly | 2 |
enum ClassIDEnum
| Name | Value |
|---|---|
| GPRClass | 0 |
| VectorClass | 1 |
| ScalarFPClass | 2 |
enum FSEntity
| Name | Value |
|---|---|
| FS_Dir | 0 |
| FS_File | 1 |
| FS_Name | 2 |
enum
| Name | Value |
|---|---|
| LLVMMDStringMetadataKind | 0 |
| LLVMConstantAsMetadataMetadataKind | 1 |
| LLVMLocalAsMetadataMetadataKind | 2 |
| LLVMDistinctMDOperandPlaceholderMetadataKind | 3 |
| LLVMMDTupleMetadataKind | 4 |
| LLVMDILocationMetadataKind | 5 |
| LLVMDIExpressionMetadataKind | 6 |
| LLVMDIGlobalVariableExpressionMetadataKind | 7 |
| LLVMGenericDINodeMetadataKind | 8 |
| LLVMDISubrangeMetadataKind | 9 |
| LLVMDIEnumeratorMetadataKind | 10 |
| LLVMDIBasicTypeMetadataKind | 11 |
| LLVMDIDerivedTypeMetadataKind | 12 |
| LLVMDICompositeTypeMetadataKind | 13 |
| LLVMDISubroutineTypeMetadataKind | 14 |
| LLVMDIFileMetadataKind | 15 |
| LLVMDICompileUnitMetadataKind | 16 |
| LLVMDISubprogramMetadataKind | 17 |
| LLVMDILexicalBlockMetadataKind | 18 |
| LLVMDILexicalBlockFileMetadataKind | 19 |
| LLVMDINamespaceMetadataKind | 20 |
| LLVMDIModuleMetadataKind | 21 |
| LLVMDITemplateTypeParameterMetadataKind | 22 |
| LLVMDITemplateValueParameterMetadataKind | 23 |
| LLVMDIGlobalVariableMetadataKind | 24 |
| LLVMDILocalVariableMetadataKind | 25 |
| LLVMDILabelMetadataKind | 26 |
| LLVMDIObjCPropertyMetadataKind | 27 |
| LLVMDIImportedEntityMetadataKind | 28 |
| LLVMDIMacroMetadataKind | 29 |
| LLVMDIMacroFileMetadataKind | 30 |
| LLVMDICommonBlockMetadataKind | 31 |
| LLVMDIStringTypeMetadataKind | 32 |
| LLVMDIGenericSubrangeMetadataKind | 33 |
| LLVMDIArgListMetadataKind | 34 |
| LLVMDIAssignIDMetadataKind | 35 |
| LLVMDISubrangeTypeMetadataKind | 36 |
| LLVMDIFixedPointTypeMetadataKind | 37 |
enum
| Name | Value |
|---|---|
| LLVMExternalLinkage | 0 |
| LLVMAvailableExternallyLinkage | 1 |
| LLVMLinkOnceAnyLinkage | 2 |
| LLVMLinkOnceODRLinkage | 3 |
| LLVMLinkOnceODRAutoHideLinkage | 4 |
| LLVMWeakAnyLinkage | 5 |
| LLVMWeakODRLinkage | 6 |
| LLVMAppendingLinkage | 7 |
| LLVMInternalLinkage | 8 |
| LLVMPrivateLinkage | 9 |
| LLVMDLLImportLinkage | 10 |
| LLVMDLLExportLinkage | 11 |
| LLVMExternalWeakLinkage | 12 |
| LLVMGhostLinkage | 13 |
| LLVMCommonLinkage | 14 |
| LLVMLinkerPrivateLinkage | 15 |
| LLVMLinkerPrivateWeakLinkage | 16 |
enum BlockExecWeight
| Name | Value |
|---|---|
| ZERO | 0x0 |
| LOWEST_NON_ZERO | 0x1 |
| UNREACHABLE | ZERO |
| NORETURN | LOWEST_NON_ZERO |
| UNWIND | LOWEST_NON_ZERO |
| COLD | 0xffff |
| DEFAULT | 0xfffff |
enum IIT_Info
| Name | Value |
|---|---|
| IIT_Done | 0 |
| IIT_I1 | 1 |
| IIT_I8 | 2 |
| IIT_I16 | 3 |
| IIT_I32 | 4 |
| IIT_I64 | 5 |
| IIT_F16 | 6 |
| IIT_F32 | 7 |
| IIT_F64 | 8 |
| IIT_V2 | 9 |
| IIT_V4 | 10 |
| IIT_V8 | 11 |
| IIT_V16 | 12 |
| IIT_V32 | 13 |
| IIT_PTR | 14 |
| IIT_ARG | 15 |
| IIT_V64 | 16 |
| IIT_MMX | 17 |
| IIT_TOKEN | 18 |
| IIT_METADATA | 19 |
| IIT_EMPTYSTRUCT | 20 |
| IIT_STRUCT2 | 21 |
| IIT_STRUCT3 | 22 |
| IIT_STRUCT4 | 23 |
| IIT_STRUCT5 | 24 |
| IIT_EXTEND_ARG | 25 |
| IIT_TRUNC_ARG | 26 |
| IIT_ANYPTR | 27 |
| IIT_V1 | 28 |
| IIT_VARARG | 29 |
| IIT_ONE_NTH_ELTS_VEC_ARG | 30 |
| IIT_SAME_VEC_WIDTH_ARG | 31 |
| IIT_VEC_OF_ANYPTRS_TO_ELT | 34 |
| IIT_I128 | 35 |
| IIT_V512 | 36 |
| IIT_V1024 | 37 |
| IIT_STRUCT6 | 38 |
| IIT_STRUCT7 | 39 |
| IIT_STRUCT8 | 40 |
| IIT_F128 | 41 |
| IIT_VEC_ELEMENT | 42 |
| IIT_SCALABLE_VEC | 43 |
| IIT_SUBDIVIDE2_ARG | 44 |
| IIT_SUBDIVIDE4_ARG | 45 |
| IIT_VEC_OF_BITCASTS_TO_INT | 46 |
| IIT_V128 | 47 |
| IIT_BF16 | 48 |
| IIT_STRUCT9 | 49 |
| IIT_V256 | 50 |
| IIT_AMX | 51 |
| IIT_PPCF128 | 52 |
| IIT_V3 | 53 |
| IIT_EXTERNREF | 54 |
| IIT_FUNCREF | 55 |
| IIT_I2 | 57 |
| IIT_I4 | 58 |
| IIT_AARCH64_SVCOUNT | 59 |
| IIT_V6 | 60 |
| IIT_V10 | 61 |
| IIT_V2048 | 62 |
| IIT_V4096 | 63 |
enum LineType
| Name | Value |
|---|---|
| CallSiteProfile | 0 |
| BodyProfile | 1 |
| Metadata | 2 |
| VirtualCallTypeProfile | 3 |
enum
| Name | Value |
|---|---|
| LLVMDefaultVisibility | 0 |
| LLVMHiddenVisibility | 1 |
| LLVMProtectedVisibility | 2 |
enum
| Name | Value |
|---|---|
| LLVMOrcLookupKindStatic | 0 |
| LLVMOrcLookupKindDLSym | 1 |
enum
| Name | Value |
|---|---|
| LLVMNoUnnamedAddr | 0 |
| LLVMLocalUnnamedAddr | 1 |
| LLVMGlobalUnnamedAddr | 2 |
enum ArchiveOperation
| Name | Value |
|---|---|
| 0 | |
| Delete | 1 |
| Move | 2 |
| QuickAppend | 3 |
| ReplaceOrInsert | 4 |
| DisplayTable | 5 |
| Extract | 6 |
| CreateSymTab | 7 |
enum
| Name | Value |
|---|---|
| CSK_MD5 | 0 |
| CSK_SHA1 | 1 |
| CSK_SHA256 | 2 |
enum
| Name | Value |
|---|---|
| LLVMDefaultStorageClass | 0 |
| LLVMDLLImportStorageClass | 1 |
| LLVMDLLExportStorageClass | 2 |
enum
| Name | Value |
|---|---|
| LLVMOrcJITDylibLookupFlagsMatchExportedSymbolsOnly | 0 |
| LLVMOrcJITDylibLookupFlagsMatchAllSymbols | 1 |
enum
| Name | Value |
|---|---|
| LLVMCCallConv | 0 |
| LLVMFastCallConv | 8 |
| LLVMColdCallConv | 9 |
| LLVMGHCCallConv | 10 |
| LLVMHiPECallConv | 11 |
| LLVMAnyRegCallConv | 13 |
| LLVMPreserveMostCallConv | 14 |
| LLVMPreserveAllCallConv | 15 |
| LLVMSwiftCallConv | 16 |
| LLVMCXXFASTTLSCallConv | 17 |
| LLVMX86StdcallCallConv | 64 |
| LLVMX86FastcallCallConv | 65 |
| LLVMARMAPCSCallConv | 66 |
| LLVMARMAAPCSCallConv | 67 |
| LLVMARMAAPCSVFPCallConv | 68 |
| LLVMMSP430INTRCallConv | 69 |
| LLVMX86ThisCallCallConv | 70 |
| LLVMPTXKernelCallConv | 71 |
| LLVMPTXDeviceCallConv | 72 |
| LLVMSPIRFUNCCallConv | 75 |
| LLVMSPIRKERNELCallConv | 76 |
| LLVMIntelOCLBICallConv | 77 |
| LLVMX8664SysVCallConv | 78 |
| LLVMWin64CallConv | 79 |
| LLVMX86VectorCallCallConv | 80 |
| LLVMHHVMCallConv | 81 |
| LLVMHHVMCCallConv | 82 |
| LLVMX86INTRCallConv | 83 |
| LLVMAVRINTRCallConv | 84 |
| LLVMAVRSIGNALCallConv | 85 |
| LLVMAVRBUILTINCallConv | 86 |
| LLVMAMDGPUVSCallConv | 87 |
| LLVMAMDGPUGSCallConv | 88 |
| LLVMAMDGPUPSCallConv | 89 |
| LLVMAMDGPUCSCallConv | 90 |
| LLVMAMDGPUKERNELCallConv | 91 |
| LLVMX86RegCallCallConv | 92 |
| LLVMAMDGPUHSCallConv | 93 |
| LLVMMSP430BUILTINCallConv | 94 |
| LLVMAMDGPULSCallConv | 95 |
| LLVMAMDGPUESCallConv | 96 |
enum BitModeTy
| Name | Value |
|---|---|
| Bit32 | 0 |
| Bit64 | 1 |
| Bit32_64 | 2 |
| Any | 3 |
| Unknown | 4 |
enum
| Name | Value |
|---|---|
| LLVMDWARFMacinfoRecordTypeDefine | 0x01 |
| LLVMDWARFMacinfoRecordTypeMacro | 0x02 |
| LLVMDWARFMacinfoRecordTypeStartFile | 0x03 |
| LLVMDWARFMacinfoRecordTypeEndFile | 0x04 |
| LLVMDWARFMacinfoRecordTypeVendorExt | 0xff |
enum InstructionTablesType
| Name | Value |
|---|---|
| NONE | 0 |
| NORMAL | 1 |
| FULL | 2 |
enum WPDCheckMode
| Name | Value |
|---|---|
| None | 0 |
| Trap | 1 |
| Fallback | 2 |
enum RecordStackHistoryMode
| Name | Value |
|---|---|
| none | 0 |
| instr | 1 |
| libcall | 2 |
enum Action
| Name | Value |
|---|---|
| AddSection | 0 |
| UpdateSection | 1 |
enum LLJITPlatform
| Name | Value |
|---|---|
| Inactive | 0 |
| Auto | 1 |
| ExecutorNative | 2 |
| GenericIR | 3 |
enum
| Name | Value |
|---|---|
| LLVMOrcSymbolLookupFlagsRequiredSymbol | 0 |
| LLVMOrcSymbolLookupFlagsWeaklyReferencedSymbol | 1 |
enum EFLAGSClobber
| Name | Value |
|---|---|
| NoClobber | 0 |
| EvitableClobber | 1 |
| InevitableClobber | 2 |
enum DumpKind
| Name | Value |
|---|---|
| NoDump | 0 |
| DumpFuncsToStdOut | 1 |
| DumpModsToStdOut | 2 |
| DumpModsToDisk | 3 |
| DumpDebugDescriptor | 4 |
| DumpDebugObjects | 5 |
enum
| Name | Value |
|---|---|
| LLVMArgumentValueKind | 0 |
| LLVMBasicBlockValueKind | 1 |
| LLVMMemoryUseValueKind | 2 |
| LLVMMemoryDefValueKind | 3 |
| LLVMMemoryPhiValueKind | 4 |
| LLVMFunctionValueKind | 5 |
| LLVMGlobalAliasValueKind | 6 |
| LLVMGlobalIFuncValueKind | 7 |
| LLVMGlobalVariableValueKind | 8 |
| LLVMBlockAddressValueKind | 9 |
| LLVMConstantExprValueKind | 10 |
| LLVMConstantArrayValueKind | 11 |
| LLVMConstantStructValueKind | 12 |
| LLVMConstantVectorValueKind | 13 |
| LLVMUndefValueValueKind | 14 |
| LLVMConstantAggregateZeroValueKind | 15 |
| LLVMConstantDataArrayValueKind | 16 |
| LLVMConstantDataVectorValueKind | 17 |
| LLVMConstantIntValueKind | 18 |
| LLVMConstantFPValueKind | 19 |
| LLVMConstantPointerNullValueKind | 20 |
| LLVMConstantTokenNoneValueKind | 21 |
| LLVMMetadataAsValueValueKind | 22 |
| LLVMInlineAsmValueKind | 23 |
| LLVMInstructionValueKind | 24 |
| LLVMPoisonValueValueKind | 25 |
| LLVMConstantTargetNoneValueKind | 26 |
| LLVMConstantPtrAuthValueKind | 27 |
enum PGOKind
| Name | Value |
|---|---|
| NoPGO | 0 |
| SampleUse | 1 |
enum ColorOutput
| Name | Value |
|---|---|
| Auto | 0 |
| Enable | 1 |
| Disable | 2 |
| Invalid | 3 |
enum
| Name | Value |
|---|---|
| LLVMIntEQ | 32 |
| LLVMIntNE | 33 |
| LLVMIntUGT | 34 |
| LLVMIntUGE | 35 |
| LLVMIntULT | 36 |
| LLVMIntULE | 37 |
| LLVMIntSGT | 38 |
| LLVMIntSGE | 39 |
| LLVMIntSLT | 40 |
| LLVMIntSLE | 41 |
enum
| Name | Value |
|---|---|
| LLVMRealPredicateFalse | 0 |
| LLVMRealOEQ | 1 |
| LLVMRealOGT | 2 |
| LLVMRealOGE | 3 |
| LLVMRealOLT | 4 |
| LLVMRealOLE | 5 |
| LLVMRealONE | 6 |
| LLVMRealORD | 7 |
| LLVMRealUNO | 8 |
| LLVMRealUEQ | 9 |
| LLVMRealUGT | 10 |
| LLVMRealUGE | 11 |
| LLVMRealULT | 12 |
| LLVMRealULE | 13 |
| LLVMRealUNE | 14 |
| LLVMRealPredicateTrue | 15 |
enum BaseType
| Name | Value |
|---|---|
| NonConstant | 1 |
| ExclusivelyNull | 2 |
| ExclusivelySomeConstant | 3 |
enum MemMgr
| Name | Value |
|---|---|
| Default | 0 |
| Generic | 1 |
| SimpleRemote | 2 |
| Shared | 3 |
enum
| Name | Value |
|---|---|
| LLVMNotThreadLocal | 0 |
| LLVMGeneralDynamicTLSModel | 1 |
| LLVMLocalDynamicTLSModel | 2 |
| LLVMInitialExecTLSModel | 3 |
| LLVMLocalExecTLSModel | 4 |
enum
| Name | Value |
|---|---|
| LLVMAtomicOrderingNotAtomic | 0 |
| LLVMAtomicOrderingUnordered | 1 |
| LLVMAtomicOrderingMonotonic | 2 |
| LLVMAtomicOrderingAcquire | 4 |
| LLVMAtomicOrderingRelease | 5 |
| LLVMAtomicOrderingAcquireRelease | 6 |
| LLVMAtomicOrderingSequentiallyConsistent | 7 |
enum
| Name | Value |
|---|---|
| LTO_DS_ERROR | 0 |
| LTO_DS_WARNING | 1 |
| LTO_DS_REMARK | 3 |
| LTO_DS_NOTE | 2 |
enum
| Name | Value |
|---|---|
| LLVMAtomicRMWBinOpXchg | 0 |
| LLVMAtomicRMWBinOpAdd | 1 |
| LLVMAtomicRMWBinOpSub | 2 |
| LLVMAtomicRMWBinOpAnd | 3 |
| LLVMAtomicRMWBinOpNand | 4 |
| LLVMAtomicRMWBinOpOr | 5 |
| LLVMAtomicRMWBinOpXor | 6 |
| LLVMAtomicRMWBinOpMax | 7 |
| LLVMAtomicRMWBinOpMin | 8 |
| LLVMAtomicRMWBinOpUMax | 9 |
| LLVMAtomicRMWBinOpUMin | 10 |
| LLVMAtomicRMWBinOpFAdd | 11 |
| LLVMAtomicRMWBinOpFSub | 12 |
| LLVMAtomicRMWBinOpFMax | 13 |
| LLVMAtomicRMWBinOpFMin | 14 |
| LLVMAtomicRMWBinOpUIncWrap | 15 |
| LLVMAtomicRMWBinOpUDecWrap | 16 |
| LLVMAtomicRMWBinOpUSubCond | 17 |
| LLVMAtomicRMWBinOpUSubSat | 18 |
| LLVMAtomicRMWBinOpFMaximum | 19 |
| LLVMAtomicRMWBinOpFMinimum | 20 |
enum
| Name | Value |
|---|---|
| LLVMDSError | 0 |
| LLVMDSWarning | 1 |
| LLVMDSRemark | 2 |
| LLVMDSNote | 3 |
enum
| Name | Value |
|---|---|
| LLVMInlineAsmDialectATT | 0 |
| LLVMInlineAsmDialectIntel | 1 |
enum
| Name | Value |
|---|---|
| LLVMModuleFlagBehaviorError | 0 |
| LLVMModuleFlagBehaviorWarning | 1 |
| LLVMModuleFlagBehaviorRequire | 2 |
| LLVMModuleFlagBehaviorOverride | 3 |
| LLVMModuleFlagBehaviorAppend | 4 |
| LLVMModuleFlagBehaviorAppendUnique | 5 |
enum PrefixType
| Name | Value |
|---|---|
| GlobalPrefix | 0 |
| ComdatPrefix | 1 |
| LabelPrefix | 2 |
| LocalPrefix | 3 |
| NoPrefix | 4 |
enum RelocKindGroup
| Name | Value |
|---|---|
| RKG_FIELD | 0 |
| RKG_TYPE | 1 |
| RKG_ENUMVAL | 2 |
| RKG_UNKNOWN | 3 |
enum GlobalOffsetTableExprKind
| Name | Value |
|---|---|
| GOT_None | 0 |
| GOT_Normal | 1 |
| GOT_SymDiff | 2 |
enum
| Name | Value |
|---|---|
| LLVMAttributeReturnIndex | 0U |
| LLVMAttributeFunctionIndex | -1 |
enum
| Name | Value |
|---|---|
| LLVMTailCallKindNone | 0 |
| LLVMTailCallKindTail | 1 |
| LLVMTailCallKindMustTail | 2 |
| LLVMTailCallKindNoTail | 3 |
enum
| Name | Value |
|---|---|
| LLVMFastMathAllowReassoc | (1 << 0) |
| LLVMFastMathNoNaNs | (1 << 1) |
| LLVMFastMathNoInfs | (1 << 2) |
| LLVMFastMathNoSignedZeros | (1 << 3) |
| LLVMFastMathAllowReciprocal | (1 << 4) |
| LLVMFastMathAllowContract | (1 << 5) |
| LLVMFastMathApproxFunc | (1 << 6) |
| LLVMFastMathNone | 0 |
| LLVMFastMathAll | LLVMFastMathAllowReassoc | LLVMFastMathNoNaNs | LLVMFastMathNoInfs | LLVMFastMathNoSignedZeros | LLVMFastMathAllowReciprocal | LLVMFastMathAllowContract | LLVMFastMathApproxFunc |
enum
| Name | Value |
|---|---|
| LLVMGEPFlagInBounds | (1 << 0) |
| LLVMGEPFlagNUSW | (1 << 1) |
| LLVMGEPFlagNUW | (1 << 2) |
enum
| Name | Value |
|---|---|
| LLVMDbgRecordLabel | 0 |
| LLVMDbgRecordDeclare | 1 |
| LLVMDbgRecordValue | 2 |
| LLVMDbgRecordAssign | 3 |
enum
| Name | Value |
|---|---|
| OP_COPY | 0 |
| OP_VREV | 1 |
| OP_VDUP0 | 2 |
| OP_VDUP1 | 3 |
| OP_VDUP2 | 4 |
| OP_VDUP3 | 5 |
| OP_VEXT1 | 6 |
| OP_VEXT2 | 7 |
| OP_VEXT3 | 8 |
| OP_VUZPL | 9 |
| OP_VUZPR | 10 |
| OP_VZIPL | 11 |
| OP_VZIPR | 12 |
| OP_VTRNL | 13 |
| OP_VTRNR | 14 |
enum Enum
| Name | Value |
|---|---|
| One | 0 |
| Two | 1 |
enum BitsetEnum
| Name | Value |
|---|---|
| ZeroOne | 0x01 |
| OneZero | 0x10 |
| LLVM_BITMASK_LARGEST_ENUMERATOR | OneZero |
enum Domain
| Name | Value |
|---|---|
| NonNegative | 0 |
| NonPositive | 1 |
| Unknown | 2 |
enum AttributeProperty
| Name | Value |
|---|---|
| FnAttr | (1 << 0) |
| ParamAttr | (1 << 1) |
| RetAttr | (1 << 2) |
| IntersectPreserve | (0 << 3) |
| IntersectAnd | (1 << 3) |
| IntersectMin | (2 << 3) |
| IntersectCustom | (3 << 3) |
| IntersectPropertyMask | (3 << 3) |
enum InsertAction
| Name | Value |
|---|---|
| IA_AddOldMember | 0 |
| IA_AddNewMember | 1 |
| IA_Delete | 2 |
| IA_MoveOldMember | 3 |
| IA_MoveNewMember | 4 |
enum Colors
| Name | Value |
|---|---|
| cRed | 0 |
| cBlue | 1 |
| cGreen | 2 |
| cYellow | 3 |
enum ContinuationType
| Name | Value |
|---|---|
| ContinueWithShadow | 0 |
| ResumeFromValue | 1 |
enum MyFlags
| Name | Value |
|---|---|
| flagNone | 0 |
| flagBig | 1 << 0 |
| flagFlat | 1 << 1 |
| flagRound | 1 << 2 |
| flagPointy | 1 << 3 |
enum AvailabilityState
| Name | Value |
|---|---|
| Unavailable | 0 |
| Available | 1 |
| SpeculativelyAvailable | 2 |
enum
| Name | Value |
|---|---|
| DEFAULT_ADDRSPACE | 0 |
enum PrintStyle
| Name | Value |
|---|---|
| Hex | 0 |
| Number | 1 |
enum StringEncoding
| Name | Value |
|---|---|
| SE_Char6 | 0 |
| SE_Fixed7 | 1 |
| SE_Fixed8 | 2 |
enum SkipFlags
| Name | Value |
|---|---|
| SkipReadMem | 1 |
| SkipSideEffect | 2 |
| SkipImplicitControlFlow | 4 |
enum AFlags
| Name | Value |
|---|---|
| a1 | 0 |
| a2 | 1 |
| a3 | 2 |
enum BFlags
| Name | Value |
|---|---|
| b1 | 0 |
| b2 | 1 |
| b3 | 2 |
enum Kind
| Name | Value |
|---|---|
| kindA | 0 |
| kindB | 1 |
enum MetadataAbbrev
| Name | Value |
|---|---|
| MDTupleAbbrevID | 0 |
| DILocationAbbrevID | 1 |
| DIExpressionAbbrevID | 2 |
| DIGlobalVariableExpressionAbbrevID | 3 |
| GenericDINodeAbbrevID | 4 |
| DISubrangeAbbrevID | 5 |
| DIEnumeratorAbbrevID | 6 |
| DIBasicTypeAbbrevID | 7 |
| DIDerivedTypeAbbrevID | 8 |
| DICompositeTypeAbbrevID | 9 |
| DISubroutineTypeAbbrevID | 10 |
| DIFileAbbrevID | 11 |
| DICompileUnitAbbrevID | 12 |
| DISubprogramAbbrevID | 13 |
| DILexicalBlockAbbrevID | 14 |
| DILexicalBlockFileAbbrevID | 15 |
| DINamespaceAbbrevID | 16 |
| DIModuleAbbrevID | 17 |
| DITemplateTypeParameterAbbrevID | 18 |
| DITemplateValueParameterAbbrevID | 19 |
| DIGlobalVariableAbbrevID | 20 |
| DILocalVariableAbbrevID | 21 |
| DILabelAbbrevID | 22 |
| DIObjCPropertyAbbrevID | 23 |
| DIImportedEntityAbbrevID | 24 |
| DIAssignIDAbbrevID | 25 |
| DIMacroAbbrevID | 26 |
| DIMacroFileAbbrevID | 27 |
| DICommonBlockAbbrevID | 28 |
| DIStringTypeAbbrevID | 29 |
| DIGenericSubrangeAbbrevID | 30 |
| DISubrangeTypeAbbrevID | 31 |
| DIFixedPointTypeAbbrevID | 32 |
| LastPlusOne | 33 |
enum MonotonicType
| Name | Value |
|---|---|
| GreaterEq | 0 |
| LowerEq | 1 |
enum OffsetKind
| Name | Value |
|---|---|
| Invalid | 0 |
| Value | 1 |
| Select | 2 |
enum MinMaxOptResult
| Name | Value |
|---|---|
| CannotOptimize | 0 |
| UseNewConstVal | 1 |
| UseOtherVal | 2 |
| UseEither | 3 |
enum UndefPoisonKind
| Name | Value |
|---|---|
| PoisonOnly | (1 << 0) |
| UndefOnly | (1 << 1) |
| UndefOrPoison | PoisonOnly | UndefOnly |
enum MachineOutlinerClass
| Name | Value |
|---|---|
| MachineOutlinerDefault | 0 |
| MachineOutlinerTailCall | 1 |
enum BitTestKind
| Name | Value |
|---|---|
| UndefBit | 0 |
| ConstantBit | 1 |
| NotConstantBit | 2 |
| ShiftBit | 3 |
| NotShiftBit | 4 |
enum ShrinkMode
| Name | Value |
|---|---|
| MULS8 | 0 |
| MULU8 | 1 |
| MULS16 | 2 |
| MULU16 | 3 |
Inner Classes
-
class -
class -
class -
class -
class -
class AArch32Errors -
class AArch32Errors_applyFixupDataGeneric_Test -
class AArch32Errors_applyFixupThumbCall_Test -
class AArch32Errors_applyFixupThumbJump24_Test -
class AArch32Errors_readAddendDataGeneric_Test -
class AArch32_ELF_DynFixupInfos_Test -
class AArch32_ELF_EdgeKinds_Test -
class AArch32_ELF_applyFixupArmErrors_Test -
class AArch32_ELF_applyFixupThumbErrors_Test -
class AArch32_ELF_readAddendArmErrors_Test -
class AArch32_ELF_readAddendThumbErrors_Test -
class AArch32_Relocations_Arm_Call_Bare_Test -
class AArch32_Relocations_Arm_MovtAbs_Test -
class AArch32_Relocations_Thumb_Call_Bare_Test -
class AArch32_Relocations_Thumb_Call_J1J2_Test -
class AArch32_Relocations_Thumb_MovtAbs_Test -
class AArch64GISelMITest -
class AArch64GISelMITest_BuildAddoSubo_Test -
class AArch64GISelMITest_BuildAtomicRMW_Test -
class AArch64GISelMITest_BuildBitCounts_Test -
class AArch64GISelMITest_BuildBitfieldExtract_Test -
class AArch64GISelMITest_BuildCasts_Test -
class AArch64GISelMITest_BuildExtractSubvector_Test -
class AArch64GISelMITest_BuildFPEnv_Test -
class AArch64GISelMITest_BuildIntrinsic_Test -
class AArch64GISelMITest_BuildMergeLikeInstr_Test -
class AArch64GISelMITest_BuildMinMaxAbs_Test -
class AArch64GISelMITest_BuildUnmerge_Test -
class AArch64GISelMITest_BuildXor_Test -
class AArch64GISelMITest_DstOpSrcOp_Test -
class AArch64GISelMITest_TestBuildConstantFConstantDeath_Test -
class AArch64GISelMITest_TestBuildConstantFConstant_Test -
class AArch64GISelMITest_TestBuildFPInsts_Test -
class AArch64GISelMITest_TestFPClassBuildVec_Test -
class AArch64GISelMITest_TestFPClassConcatVec_Test -
class AArch64GISelMITest_TestFPClassCopySignNInfSrc0_NegSign_Test -
class AArch64GISelMITest_TestFPClassCopySignNInfSrc0_PosSign_Test -
class AArch64GISelMITest_TestFPClassCopySignNNanSrc0_Test -
class AArch64GISelMITest_TestFPClassCopy_Test -
class AArch64GISelMITest_TestFPClassCstNegZero_Test -
class AArch64GISelMITest_TestFPClassCstPosZero_Test -
class AArch64GISelMITest_TestFPClassCstVecNegZero_Test -
class AArch64GISelMITest_TestFPClassCstVecZeroFPExt_Test -
class AArch64GISelMITest_TestFPClassCstVecZeroFPTrunc_Test -
class AArch64GISelMITest_TestFPClassCstZeroFPExt_Test -
class AArch64GISelMITest_TestFPClassCstZeroFPTrunc_Test -
class AArch64GISelMITest_TestFPClassFAdd_NegZero_Test -
class AArch64GISelMITest_TestFPClassFAdd_Test -
class AArch64GISelMITest_TestFPClassFAdd_Zero_Test -
class AArch64GISelMITest_TestFPClassFDiv_Inf_Test -
class AArch64GISelMITest_TestFPClassFDiv_Test -
class AArch64GISelMITest_TestFPClassFLDExp_Test -
class AArch64GISelMITest_TestFPClassFLogNegZero_Test -
class AArch64GISelMITest_TestFPClassFLogNeg_Test -
class AArch64GISelMITest_TestFPClassFLogPosZero_Test -
class AArch64GISelMITest_TestFPClassFMulZero_Test -
class AArch64GISelMITest_TestFPClassFMul_Test -
class AArch64GISelMITest_TestFPClassFNegNInf_Test -
class AArch64GISelMITest_TestFPClassFPowIEvenExp_Test -
class AArch64GISelMITest_TestFPClassFPowIPos_Test -
class AArch64GISelMITest_TestFPClassFRem_Test -
class AArch64GISelMITest_TestFPClassFabsUnknown_Test -
class AArch64GISelMITest_TestFPClassFnegFabsNInf_Test -
class AArch64GISelMITest_TestFPClassFnegFabsNNan_Test -
class AArch64GISelMITest_TestFPClassFnegFabs_Test -
class AArch64GISelMITest_TestFPClassFstrictAdd_Zero_Test -
class AArch64GISelMITest_TestFPClassSIToFP_Test -
class AArch64GISelMITest_TestFPClassSelectIsFPClass_Test -
class AArch64GISelMITest_TestFPClassSelectNInf_Test -
class AArch64GISelMITest_TestFPClassSelectNNaNNInf_Test -
class AArch64GISelMITest_TestFPClassSelectNNaN_Test -
class AArch64GISelMITest_TestFPClassSelectNeg0_Test -
class AArch64GISelMITest_TestFPClassSelectNegInf_Test -
class AArch64GISelMITest_TestFPClassSelectPos0_Test -
class AArch64GISelMITest_TestFPClassSelectPosInf_Test -
class AArch64GISelMITest_TestFPClassSelectPosOrNeg0_Test -
class AArch64GISelMITest_TestFPClassSelectPosOrNegInf_Test -
class AArch64GISelMITest_TestFPClassShuffleVec_Test -
class AArch64GISelMITest_TestFPClassUIToFP_Test -
class AArch64GISelMITest_TestFPClassUndef_Test -
class AArch64GISelMITest_TestFPClassVecExtractElem_Test -
class AArch64GISelMITest_TestFPClassVecFabsUnknown_Test -
class AArch64GISelMITest_TestFPClassVecInsertElem_Test -
class AArch64GISelMITest_TestInvalidQueries_Test -
class AArch64GISelMITest_TestKnownBitsADD_Test -
class AArch64GISelMITest_TestKnownBitsAND_Test -
class AArch64GISelMITest_TestKnownBitsASHR_Test -
class AArch64GISelMITest_TestKnownBitsAssertSext_Test -
class AArch64GISelMITest_TestKnownBitsAssertZext_Test -
class AArch64GISelMITest_TestKnownBitsBSwapBitReverse_Test -
class AArch64GISelMITest_TestKnownBitsBuildVector_Test -
class AArch64GISelMITest_TestKnownBitsCTPOP_Test -
class AArch64GISelMITest_TestKnownBitsCstPHIToNonGenericReg_Test -
class AArch64GISelMITest_TestKnownBitsCstPHIWithLoop_Test -
class AArch64GISelMITest_TestKnownBitsCstPHI_Test -
class AArch64GISelMITest_TestKnownBitsDecreasingCstPHIWithLoop_Test -
class AArch64GISelMITest_TestKnownBitsExt_Test -
class AArch64GISelMITest_TestKnownBitsFCMP_Test -
class AArch64GISelMITest_TestKnownBitsICMP_Test -
class AArch64GISelMITest_TestKnownBitsLSHR_Test -
class AArch64GISelMITest_TestKnownBitsMUL_Test -
class AArch64GISelMITest_TestKnownBitsMergeValues_Test -
class AArch64GISelMITest_TestKnownBitsOR_Test -
class AArch64GISelMITest_TestKnownBitsPtrToIntViceVersa_Test -
class AArch64GISelMITest_TestKnownBitsSHL_Test -
class AArch64GISelMITest_TestKnownBitsSMAX_Test -
class AArch64GISelMITest_TestKnownBitsSMIN_Test -
class AArch64GISelMITest_TestKnownBitsSUB_Test -
class AArch64GISelMITest_TestKnownBitsSelect_Test -
class AArch64GISelMITest_TestKnownBitsSextInReg_Test -
class AArch64GISelMITest_TestKnownBitsUADDO_Test -
class AArch64GISelMITest_TestKnownBitsUMAX_Test -
class AArch64GISelMITest_TestKnownBitsUMIN_Test -
class AArch64GISelMITest_TestKnownBitsUMax_Test -
class AArch64GISelMITest_TestKnownBitsUnknownPHI_Test -
class AArch64GISelMITest_TestKnownBitsUnmergeValues_Test -
class AArch64GISelMITest_TestKnownBitsVectorADD_Test -
class AArch64GISelMITest_TestKnownBitsVectorAND_Test -
class AArch64GISelMITest_TestKnownBitsVectorASHR_Test -
class AArch64GISelMITest_TestKnownBitsVectorAssertSext_Test -
class AArch64GISelMITest_TestKnownBitsVectorAssertZext_Test -
class AArch64GISelMITest_TestKnownBitsVectorCstPHIToNonGenericReg_Test -
class AArch64GISelMITest_TestKnownBitsVectorCstPHIWithLoop_Test -
class AArch64GISelMITest_TestKnownBitsVectorCstPHI_Test -
class AArch64GISelMITest_TestKnownBitsVectorDecreasingCstPHIWithLoop_Test -
class AArch64GISelMITest_TestKnownBitsVectorLSHR_Test -
class AArch64GISelMITest_TestKnownBitsVectorMUL_Test -
class AArch64GISelMITest_TestKnownBitsVectorOR_Test -
class AArch64GISelMITest_TestKnownBitsVectorSHL_Test -
class AArch64GISelMITest_TestKnownBitsVectorSMAX_Test -
class AArch64GISelMITest_TestKnownBitsVectorSMIN_Test -
class AArch64GISelMITest_TestKnownBitsVectorSUB_Test -
class AArch64GISelMITest_TestKnownBitsVectorSelect_Test -
class AArch64GISelMITest_TestKnownBitsVectorSextInReg_Test -
class AArch64GISelMITest_TestKnownBitsVectorUMAX_Test -
class AArch64GISelMITest_TestKnownBitsVectorUMIN_Test -
class AArch64GISelMITest_TestKnownBitsVectorUnknownPHI_Test -
class AArch64GISelMITest_TestKnownBitsVectorXORConstant_Test -
class AArch64GISelMITest_TestKnownBitsVectorXOR_Test -
class AArch64GISelMITest_TestKnownBitsXORConstant_Test -
class AArch64GISelMITest_TestKnownBitsXOR_Test -
class AArch64GISelMITest_TestKnownBits_Test -
class AArch64GISelMITest_TestMetadataExt_Test -
class AArch64GISelMITest_TestMetadataSExt_Test -
class AArch64GISelMITest_TestMetadataZExt_Test -
class AArch64GISelMITest_TestMetadata_Test -
class AArch64GISelMITest_TestNumSignBitsAND_Test -
class AArch64GISelMITest_TestNumSignBitsAssertSext_Test -
class AArch64GISelMITest_TestNumSignBitsCmp_Test -
class AArch64GISelMITest_TestNumSignBitsConstant_Test -
class AArch64GISelMITest_TestNumSignBitsOR_Test -
class AArch64GISelMITest_TestNumSignBitsSextInReg_Test -
class AArch64GISelMITest_TestNumSignBitsSext_Test -
class AArch64GISelMITest_TestNumSignBitsTrunc_Test -
class AArch64GISelMITest_TestNumSignBitsUAddoOverflow_Test -
class AArch64GISelMITest_TestNumSignBitsVectorAssertSext_Test -
class AArch64GISelMITest_TestNumSignBitsXOR_Test -
class AArch64GISelMITest_TestSignBitIsZero_Test -
class AArch64GISelMITest_TestVectorInvalidQueries_Test -
class AArch64GISelMITest_TestVectorKnownBitsBSwapBitReverse_Test -
class AArch64GISelMITest_TestVectorKnownBitsExt_Test -
class AArch64GISelMITest_TestVectorKnownBitsUMax_Test -
class AArch64GISelMITest_TestVectorMetadata_Test -
class AArch64GISelMITest_TestVectorNumSignBitsConstant_Test -
class AArch64GISelMITest_TestVectorNumSignBitsSextInReg_Test -
class AArch64GISelMITest_TestVectorNumSignBitsSext_Test -
class AArch64GISelMITest_TestVectorNumSignBitsTrunc_Test -
class AArch64GISelMITest_TestVectorSignBitIsZero_Test -
class AArch64_EmptyLinkGraph_Test -
class AArch64_GOTAndStubs_Test -
class AMDGPUGISelMITest -
class AMDGPUGISelMITest_TestIsKnownToBeAPowerOfTwo_Test -
class AMDGPUGISelMITest_TestKnownBitsAssertAlign_Test -
class AMDGPUGISelMITest_TestKnownBitsSBFX_Test -
class AMDGPUGISelMITest_TestKnownBitsUBFX_Test -
class AMDGPUGISelMITest_TestNumSignBitsSBFX_Test -
class AMDGPUGISelMITest_TestNumSignBitsTrunc_Test -
class AMDGPUGISelMITest_TestNumSignBitsUBFX_Test -
class AMDGPUGISelMITest_TestTargetKnownAlign_Test -
class AMDGPUGISelMITest_TestVectorIsKnownToBeAPowerOfTwo_Test -
class AMDGPUNote -
class AMDNote -
class ARMAttributeParser_UnknownCPU_arch_Test -
class ARMISABuildAttr_testBuildAttr_Test -
class ASanStackFrameLayout_Test_Test -
class AbstractCallSite_CallbackCall_Test -
class AbstractCallSite_DirectCall_Test -
class AbstractCallSite_IndirectCall_Test -
class AddClass -
class AddSection_COFF_Test -
class AddSection_ELF_Test -
class AddSection_MachO_Test -
class AddSection_Wasm_Test -
class AddressRangeTest_TestRangesMapRandom_Test -
class AddressRangeTest_TestRangesMap_Test -
class AddressRangeTest_TestRangesRandom_Test -
class AddressRangeTest_TestRanges_Test -
class AliasScopeTracker -
class AliasSetTracker_AliasUnknownInst_Test -
class AlignNeededBuildAttr_testBuildAttr_Test -
class AlignPreservedBuildAttr_testBuildAttr_Test -
class AllocFnsTy -
class AllocGroupSmallMap_EmptyMap_Test -
class AllocGroupSmallMap_NonEmptyMap_Test -
class AllocMatchInfo -
class AllocationOrderTest_Basic_Test -
class AllocationOrderTest_DuplicateIsFirstWithLimits_Test -
class AllocationOrderTest_DuplicateIsFirst_Test -
class AllocationOrderTest_Duplicates_Test -
class AllocationOrderTest_HardHints_Test -
class AllocationOrderTest_IsHintTest_Test -
class AllocationOrderTest_LimitsBasic_Test -
class AllocationOrderTest_LimitsDuplicates_Test -
class AllocationOrderTest_LimitsHardHints_Test -
class AllocationOrderTest_NoHints_Test -
class ArangeSpan -
class ArchName_testAttribute_Test -
class ArchiveTestsFixture -
class ArchiveTestsFixture_ArchiveChildGetBuffer_Test -
class ArchiveTestsFixture_ArchiveChildGetSizeRegularArchive_Test -
class ArchiveTestsFixture_ArchiveChildGetSizeThinArchive_Test -
class AssumeQueryAPI_Alignment_Test -
class AssumeQueryAPI_AssumptionCache_Test -
class AssumeQueryAPI_fillMapFromAssume_Test -
class AssumeQueryAPI_getKnowledgeFromUseInAssume_Test -
class AssumeQueryAPI_hasAttributeInAssume_Test -
class AttributeComparator -
class AttributeHeaderParser -
class AttributeHeaderParser_InvalidAttributeSize_Test -
class AttributeHeaderParser_InvalidSectionLength_Test -
class AttributeHeaderParser_UnrecognizedFormatVersion_Test -
class AttributeHeaderParser_UnrecognizedTag_Test -
class AttributeSection -
class Automata_BinPackerAutomatonAccepts_Test -
class Automata_BinPackerAutomatonExplains_Test -
class Automata_NfaAutomatonAccepts_Test -
class Automata_SimpleAutomatonAcceptsFromInitialState_Test -
class Automata_SimpleAutomatonAcceptsSequences_Test -
class Automata_TupleAutomatonAccepts_Test -
class AvailableComponent -
class BBValueInfo -
class Base64Test_Base64_Test -
class Base64Test_DecodeBase64_Test -
class BasicAATest -
class BasicAATest_AliasInstWithFullObjectOfImpreciseSize_Test -
class BasicAATest_AliasInstWithObjectOfImpreciseSize_Test -
class BasicAATest_PartialAliasOffsetPhi_Test -
class BasicAATest_PartialAliasOffsetSelect_Test -
class BasicBlockUtils_BasicBlockPrintable_Test -
class BasicBlockUtils_EliminateUnreachableBlocks_Test -
class BasicBlockUtils_IsPresplitCoroSuspendExitTest_Test -
class BasicBlockUtils_NoUnreachableBlocksToEliminate_Test -
class BasicBlockUtils_SetEdgeProbability_Test -
class BasicBlockUtils_SplitBlockPredecessors_Test -
class BasicBlockUtils_SplitCriticalEdge_Test -
class BasicBlockUtils_SplitEdge_ex1_Test -
class BasicBlockUtils_SplitEdge_ex2_Test -
class BasicBlockUtils_SplitEdge_ex3_Test -
class BasicBlockUtils_SplitEdge_ex4_Test -
class BasicBlockUtils_SplitIndirectBrCriticalEdgesIgnorePHIs_Test -
class BasicBlockUtils_SplitIndirectBrCriticalEdges_Test -
class BasicBlockUtils_SplitLoopCriticalEdge_Test -
class BasicBlockUtils_splitBasicBlockBefore_ex1_Test -
class BasicBlockUtils_splitBasicBlockBefore_ex2_Test -
class BasicLoadAndStorePromoter -
class BasicTest_getHorizontalDemandedEltsForFirstOperand_Test -
class BasicTest_getShuffleDemandedElts_Test -
class BasicTest_getShuffleMaskWithWidestElts_Test -
class BasicTest_getSplatIndex_Test -
class BasicTest_isSplat_Test -
class BasicTest_narrowShuffleMaskElts_Test -
class BasicTest_widenShuffleMaskElts_Test -
class BinaryExprAST -
class BinaryHolder -
class BinopElts -
class BitVectorEmitter -
class BitstreamRemarkSerializer_SeparateRemarkFileAll_Test -
class BitstreamRemarkSerializer_SeparateRemarkFileArgDebugLoc_Test -
class BitstreamRemarkSerializer_SeparateRemarkFileArgNoDebugLoc_Test -
class BitstreamRemarkSerializer_SeparateRemarkFileDebugLoc_Test -
class BitstreamRemarkSerializer_SeparateRemarkFileHotness_Test -
class BitstreamRemarkSerializer_SeparateRemarkFileNoOptionalsSeparateStrTab_Test -
class BitstreamRemarkSerializer_SeparateRemarkFileNoOptionals_Test -
class BitstreamRemarkSerializer_Standalone_Test -
class BitstreamRemarksFormat_BlockIDs_Test -
class BitstreamRemarksFormat_ContainerVersion_Test -
class BitstreamRemarksFormat_Magic_Test -
class BitstreamRemarksFormat_RecordIDs_Test -
class BitstreamRemarks_ContentsCAPI_Test -
class BitstreamRemarks_Contents_Test -
class BitstreamRemarks_ParsingBadMagic_Test -
class BitstreamRemarks_ParsingEmpty_Test -
class BitstreamRemarks_ParsingGood_Test -
class BitstreamRemarks_ParsingTypes_Test -
class BlockFlags -
class BlockIsFilledWithMatcherP3 -
class BogusFrameLowering -
class BogusRegisterInfo -
class BogusSubtarget -
class BogusTargetInstrInfo -
class BogusTargetLowering -
class BogusTargetMachine -
class BrainF -
class BrokenLink -
class BuildIDTest_InvalidPhdrFileSizeNoShdrs_Test -
class BuildIDTest_InvalidPhdrFileSizeWithShdrs_Test -
class BuildIDTest_InvalidSectionHeader_Test -
class BuilderTy -
class BuiltInTypes -
class BuiltinTypeEntry -
class CAPIDenseMap -
class CAPIDenseMap -
class CASProgramTest -
class CASProgramTest_MappedFileRegionArenaSizeTest_Test -
class CASProgramTest_MappedFileRegionArenaTest_Test -
class CASTest -
class CASTest_ActionCacheHit_Test -
class CASTest_ActionCacheMiss_Test -
class CASTest_ActionCacheRewrite_Test -
class CASTest_BlobsBig_Test -
class CASTest_BlobsParallel_Test -
class CASTest_Blobs_Test -
class CASTest_LeafNodes_Test -
class CASTest_NodesBig_Test -
class CASTest_PrintIDs_Test -
class CASTestingEnv -
class CFARegOffsetInfo -
class CFGBuilder_Construction_Test -
class CFGBuilder_Deletions_Test -
class CFGBuilder_Insertions_Test -
class CFGBuilder_Rebuild_Test -
class CGPluginTests_ExecuteCallback_Test -
class CGPluginTests_LoadPlugin_Test -
class CLR -
class COFFObjectFileTest_CHPERangeEntry_Test -
class COFFOptTable -
class CPUAlignBuildAttr_testBuildAttr_Test -
class CPUArchBuildAttr_testBuildAttr_Test -
class CPUArchProfileBuildAttr_testBuildAttr_Test -
class CPUName_testAttribute_Test -
class CSKYAttributeSection -
class CachePruningPolicyParser_Empty_Test -
class CachePruningPolicyParser_Errors_Test -
class CachePruningPolicyParser_Expiration_Test -
class CachePruningPolicyParser_Interval_Test -
class CachePruningPolicyParser_MaxSizeBytes_Test -
class CachePruningPolicyParser_MaxSizePercentageOfAvailableSpace_Test -
class CachePruningPolicyParser_Multiple_Test -
class Caching_NoCommit_Test -
class Caching_Normal_Test -
class Caching_WriteAfterCommit_Test -
class CallExprAST -
class CallPromotionUtilsTest_PromoteWithIcmpAndCtxProf_Test -
class CallPromotionUtilsTest_TryPromoteCall_EmptyVTable_Test -
class CallPromotionUtilsTest_TryPromoteCall_Legality_Test -
class CallPromotionUtilsTest_TryPromoteCall_MemberFunctionCalls_Test -
class CallPromotionUtilsTest_TryPromoteCall_NoFPLoad_Test -
class CallPromotionUtilsTest_TryPromoteCall_NoVTableInitFound_Test -
class CallPromotionUtilsTest_TryPromoteCall_NoVTablePtrLoad_Test -
class CallPromotionUtilsTest_TryPromoteCall_NullFP_Test -
class CallPromotionUtilsTest_TryPromoteCall_Test -
class CallPromotionUtilsTest_promoteCallWithVTableCmp_Test -
class CallSPSViaEPCTest_CallMainViaCallerAsync_Test -
class CallSPSViaEPCTest_CallMainViaCallerSync_Test -
class CallSPSViaEPCTest_CallMainViaGenericCallAsync_Test -
class CallSPSViaEPCTest_CallMainViaGenericCallSync_Test -
class CallSPSViaEPCTest_CallVoidViaCallerAsync_Test -
class CallSPSViaEPCTest_CallVoidViaCallerSync_Test -
class CallSiteEntry -
class CallableTraitsHelperTest_BinaryOpObj_Test -
class CallableTraitsHelperTest_FreeBinaryOp_Test -
class CallableTraitsHelperTest_FreeVoidVoid_Test -
class CallableTraitsHelperTest_PreservesLValueRefConstness_Test -
class CallableTraitsHelperTest_PreservesLValueRef_Test -
class CallableTraitsHelperTest_PreservesRValueRef_Test -
class CallableTraitsHelperTest_VoidVoidObj_Test -
class CallbackAndCookie -
class CaptureTracking_MaxUsesToExplore_Test -
class CaptureTracking_MultipleUsesInSameInstruction_Test -
class ChoppedName -
class Class5 -
class Class5Tmpl -
class CodeExpander_Escape_Test -
class CodeExpander_EscapedExpansion_Test -
class CodeExpander_EscapedNotAnExpansion_Test -
class CodeExpander_EscapedUnterminatedExpansion_Test -
class CodeExpander_Indentation_Test -
class CodeExpander_NoExpansions_Test -
class CodeExpander_NotAnExpansion_Test -
class CodeExpander_UndefinedExpansion_Test -
class CodeExpander_UnterminatedExpansion_Test -
class CodeGenTest -
class CodeMoverUtils_IsSafeToMoveTest1_Test -
class CodeMoverUtils_IsSafeToMoveTest2_Test -
class CodeMoverUtils_IsSafeToMoveTest3_Test -
class CodeMoverUtils_IsSafeToMoveTest4_Test -
class CodeMoverUtils_IsSafeToMoveTest5_Test -
class CodeMoverUtils_IsSafeToMoveTest6_Test -
class CollectHashInfo -
class CollectingCaptureTracker -
class ColorMap -
class CombineRuleBuilder -
class CommandLineInitTest_GetPresetOptions_Test -
class Composition_GetCompoundConstruct_Test -
class Composition_GetLeafConstructsOrSelf_Test -
class Composition_GetLeafConstructs_Test -
class Composition_GetLeafOrCompositeConstructs_Test -
class Composition_IsCombinedConstruct_Test -
class Composition_IsCompositeConstruct_Test -
class Composition_IsLeafConstruct_Test -
class ComputeKnownBitsTest_ComputeKnownBitsAbsoluteSymbol_Test -
class ComputeKnownBitsTest_ComputeKnownBitsAddWithRangeNoOverlap_Test -
class ComputeKnownBitsTest_ComputeKnownBitsAddWithRange_Test -
class ComputeKnownBitsTest_ComputeKnownBitsFreeze_Test -
class ComputeKnownBitsTest_ComputeKnownBitsGEPExtendBeforeMul_Test -
class ComputeKnownBitsTest_ComputeKnownBitsGEPOnlyIndexBits_Test -
class ComputeKnownBitsTest_ComputeKnownBitsGEPWithRangeNoOverlap_Test -
class ComputeKnownBitsTest_ComputeKnownBitsGEPWithRange_Test -
class ComputeKnownBitsTest_ComputeKnownBitsPtrToIntTrunc_Test -
class ComputeKnownBitsTest_ComputeKnownBitsPtrToIntZext_Test -
class ComputeKnownBitsTest_ComputeKnownBitsReturnedRangeConflict_Test -
class ComputeKnownBitsTest_ComputeKnownBitsUnknownVScale_Test -
class ComputeKnownBitsTest_ComputeKnownBits_Test -
class ComputeKnownBitsTest_ComputeKnownFshlZero_Test -
class ComputeKnownBitsTest_ComputeKnownFshl_Test -
class ComputeKnownBitsTest_ComputeKnownFshr_Test -
class ComputeKnownBitsTest_ComputeKnownMulBits_Test -
class ComputeKnownBitsTest_ComputeKnownUAddSatLeadingOnes_Test -
class ComputeKnownBitsTest_ComputeKnownUAddSatOnesPreserved_Test -
class ComputeKnownBitsTest_ComputeKnownUSubSatLHSLeadingZeros_Test -
class ComputeKnownBitsTest_ComputeKnownUSubSatRHSLeadingOnes_Test -
class ComputeKnownBitsTest_ComputeKnownUSubSatZerosPreserved_Test -
class ComputeKnownBitsTest_KnownNonZeroShift_Test -
class ComputeKnownFPClassTest_CannotBeOrderedLessThanZero_Test -
class ComputeKnownFPClassTest_Constants_Test -
class ComputeKnownFPClassTest_CopySignNInfSrc0_NegSign_Test -
class ComputeKnownFPClassTest_CopySignNInfSrc0_PosSign_Test -
class ComputeKnownFPClassTest_CopySignNNanSrc0_Test -
class ComputeKnownFPClassTest_FAdd_Test -
class ComputeKnownFPClassTest_FCmpToClassTest_FabsNInf_Test -
class ComputeKnownFPClassTest_FCmpToClassTest_NInf_Test -
class ComputeKnownFPClassTest_FCmpToClassTest_OrdNan_Test -
class ComputeKnownFPClassTest_FCmpToClassTest_PInf_Test -
class ComputeKnownFPClassTest_FMulNoZero_Test -
class ComputeKnownFPClassTest_FMul_Test -
class ComputeKnownFPClassTest_FNegFabsNNaN_Test -
class ComputeKnownFPClassTest_FNegFabsUnknown_Test -
class ComputeKnownFPClassTest_FNegNInf_Test -
class ComputeKnownFPClassTest_FSub_Test -
class ComputeKnownFPClassTest_FabsUnknown_Test -
class ComputeKnownFPClassTest_MaximumNumSignBit_Test -
class ComputeKnownFPClassTest_MinimumNumSignBit_Test -
class ComputeKnownFPClassTest_NegFabsNInf_Test -
class ComputeKnownFPClassTest_PhiKnownSignFalse_Test -
class ComputeKnownFPClassTest_PhiKnownSignTrue_Test -
class ComputeKnownFPClassTest_Phi_Test -
class ComputeKnownFPClassTest_SIToFP_Test -
class ComputeKnownFPClassTest_SelectNInf_Test -
class ComputeKnownFPClassTest_SelectNNaNNInf_Test -
class ComputeKnownFPClassTest_SelectNNaN_Test -
class ComputeKnownFPClassTest_SelectNeg0_Test -
class ComputeKnownFPClassTest_SelectNegInf_Test -
class ComputeKnownFPClassTest_SelectNoFPClassArgNoNInf_Test -
class ComputeKnownFPClassTest_SelectNoFPClassArgNoNan_Test -
class ComputeKnownFPClassTest_SelectNoFPClassArgNoPInf_Test -
class ComputeKnownFPClassTest_SelectNoFPClassArgUnionAll_Test -
class ComputeKnownFPClassTest_SelectNoFPClassCallSiteNoNan_Test -
class ComputeKnownFPClassTest_SelectNoFPClassCallSiteNoZerosNInfFlags_Test -
class ComputeKnownFPClassTest_SelectNoFPClassCallSiteNoZeros_Test -
class ComputeKnownFPClassTest_SelectNoFPClassDeclarationNoNan_Test -
class ComputeKnownFPClassTest_SelectPos0_Test -
class ComputeKnownFPClassTest_SelectPosInf_Test -
class ComputeKnownFPClassTest_SelectPosOrNeg0_Test -
class ComputeKnownFPClassTest_SelectPosOrNegInf_Test -
class ComputeKnownFPClassTest_SelfPhiFirstArg_Test -
class ComputeKnownFPClassTest_SelfPhiOnly_Test -
class ComputeKnownFPClassTest_SelfPhiSecondArg_Test -
class ComputeKnownFPClassTest_SqrtNszSignBit_Test -
class ComputeKnownFPClassTest_UIToFP_Test -
class ComputeKnownFPClassTest_UnreachablePhi_Test -
class ComputeKnownFPClassTest_fcmpImpliesClass_fabs_zero_Test -
class Config -
class ContextDecision -
class ContiguousCasesResult -
class ConvertUTFResultContainer -
class ConvertUTFTest_ConvertUTF16BigEndianToUTF8String_Test -
class ConvertUTFTest_ConvertUTF16LittleEndianToUTF8String_Test -
class ConvertUTFTest_ConvertUTF32BigEndianToUTF8String_Test -
class ConvertUTFTest_ConvertUTF32LittleEndianToUTF8String_Test -
class ConvertUTFTest_ConvertUTF8ToUTF16String_Test -
class ConvertUTFTest_ConvertUTF8toWide_Test -
class ConvertUTFTest_Empty_Test -
class ConvertUTFTest_HasUTF16BOM_Test -
class ConvertUTFTest_OddLengthInput_Test -
class ConvertUTFTest_UTF16WrappersForConvertUTF16ToUTF8String_Test -
class ConvertUTFTest_UTF8ToUTF32Lenient_Test -
class ConvertUTFTest_UTF8ToUTF32PartialLenient_Test -
class ConvertUTFTest_convertWideToUTF8_Test -
class CopySimpleInMemoryFile_COFF_Test -
class CopySimpleInMemoryFile_ELF_Test -
class CopySimpleInMemoryFile_MachO_Test -
class CopySimpleInMemoryFile_Wasm_Test -
class CoreAPIsStandardTest -
class CoreFileMapping -
class CoreNote -
class CostKindCosts -
class CostTest_DefaultCtor_Test -
class CostTest_Operators_Test -
class CrashRecoveryTest_Basic_Test -
class CrashRecoveryTest_Cleanup_Test -
class CrashRecoveryTest_DumpStackCleanup_Test -
class CrashRecoveryTest_LimitedStackTrace_Test -
class CrashRecoveryTest_UnixCRCReturnCode_Test -
class CustomContainer -
class CustomHasher_CustomHasher_Test -
class DDGTest_avoidDuplicateEdgesToFromPiBlocks_Test -
class DDGTest_getDependencies_Test -
class DIE -
class DIR -
class DISABLED_OptTableTest -
class DISABLED_OptTableTest_FindNearestFIXME_Test -
class DJBTest_caseFolding_Test -
class DJBTest_knownValuesLowerCase_Test -
class DJBTest_knownValuesUnicode_Test -
class DLangDemangleTestFixture -
class DLangDemangleTestFixture_DLangDemangleTest_Test -
class DOTFuncMSSAInfo -
class DSOMarkupPrinter -
class DSPVersion_testAttribute_Test -
class DWARFDebugAbbrevTest_DWARFAbbrevDeclSetExtractSuccessOutOfOrder_Test -
class DWARFDebugAbbrevTest_DWARFAbbrevDeclSetExtractSuccess_Test -
class DWARFDebugAbbrevTest_DWARFAbbrevDeclSetInvalidAttrValidForm_Test -
class DWARFDebugAbbrevTest_DWARFAbbrevDeclSetInvalidTag_Test -
class DWARFDebugAbbrevTest_DWARFAbbrevDeclSetMissingTerminator_Test -
class DWARFDebugAbbrevTest_DWARFAbbrevDeclSetValidAttrInvalidForm_Test -
class DWARFDebugAbbrevTest_DWARFAbbreviationDeclSetAttributeExtractionError_Test -
class DWARFDebugAbbrevTest_DWARFAbbreviationDeclSetChildExtractionError_Test -
class DWARFDebugAbbrevTest_DWARFAbbreviationDeclSetCodeExtractionError_Test -
class DWARFDebugAbbrevTest_DWARFAbbreviationDeclSetFormExtractionError_Test -
class DWARFDebugAbbrevTest_DWARFAbbreviationDeclSetTagExtractionError_Test -
class DWARFDebugAbbrevTest_DWARFDebugAbbrevParseError_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_LLVM_nop_OP_reg_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_LLVM_nop_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_LLVM_user_unknown_subop_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_breg0_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_breg0_large_offset_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_breg0_negative_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_breg13_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_breg13_zero_offset_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_bregx_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_entry_value_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_entry_value_mem_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_nop_OP_reg_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_nop_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_reg0_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_reg10_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_regx_Test -
class DWARFExpressionCompactPrinterTest_Test_OP_stack_value_Test -
class DWARFExpressionCopyBytesTest_Test_OP_breg0_Test -
class DWARFExpressionCopyBytesTest_Test_OP_breg0_large_offset_Test -
class DWARFExpressionCopyBytesTest_Test_OP_breg0_negative_Test -
class DWARFExpressionCopyBytesTest_Test_OP_breg13_Test -
class DWARFExpressionCopyBytesTest_Test_OP_breg13_zero_offset_Test -
class DWARFExpressionCopyBytesTest_Test_OP_bregx_Test -
class DWARFExpressionCopyBytesTest_Test_OP_entry_value_Test -
class DWARFExpressionCopyBytesTest_Test_OP_entry_value_mem_Test -
class DWARFExpressionCopyBytesTest_Test_OP_reg0_Test -
class DWARFExpressionCopyBytesTest_Test_OP_reg10_Test -
class DWARFExpressionCopyBytesTest_Test_OP_regx_Test -
class DWARFExpressionCopyBytesTest_Test_OP_stack_value_Test -
class DWARFLocationExpression_Equality_Test -
class DWARFLocationExpression_StreamingOperator_Test -
class DXCFile_EmptyFile_Test -
class DXCFile_IdentifyMagic_Test -
class DXCFile_MalformedSignature_Test -
class DXCFile_MaliciousFiles_Test -
class DXCFile_MisalignedStringTable_Test -
class DXCFile_PSVResourceIteratorsStride_Test -
class DXCFile_PSVResourceIterators_Test -
class DXCFile_ParseDXILPart_Test -
class DXCFile_ParseEmptyParts_Test -
class DXCFile_ParseHeaderErrors_Test -
class DXCFile_ParseHeader_Test -
class DXCFile_ParseOverlappingParts_Test -
class DXCFile_ParsePartInvalidOffsets_Test -
class DXCFile_ParsePartMissingOffsets_Test -
class DXCFile_ParsePartNoSize_Test -
class DXCFile_ParsePartTooSmallBuffer_Test -
class DXCFile_SigElementsExtendBeyondPart_Test -
class DXILResource_AnnotationsAndMetadata_Test -
class DXNotSupportedError -
class DarwinStabName -
class DbgLoop -
class DebugAddrSection_TestMissingVersion_Test -
class DebugAddrSection_TestParseDebugAddrYAML_Test -
class DebugAddrSection_TestUnexpectedKey_Test -
class DebugCounterTest_Basic_Test -
class DebugGNUPubSection_TestDebugGNUPubSections_Test -
class DebugGNUPubSection_TestMissingDescriptor_Test -
class DebugInfo -
class DebugInfoPerPass -
class DebugLogTest_BasicWithLevel_Test -
class DebugLogTest_Basic_Test -
class DebugLogTest_DestructorPrefix_Test -
class DebugLogTest_LDBG_MACROS_Test -
class DebugLogTest_LDBG_OS_MACROS_Test -
class DebugLogTest_NegativeLevel_Test -
class DebugLogTest_StreamPrefix_Test -
class DebugPubSection_TestDebugPubSection_Test -
class DebugPubSection_TestUnexpectedDescriptor_Test -
class DebugTest_Basic_Test -
class DebugTest_CommaInDebugBlock_Test -
class DebugTest_DebugWithType_Test -
class DebugifyStatistics -
class DebuginfodClient_CacheHit_Test -
class DebuginfodClient_CacheMiss_Test -
class DecomposedBitMaskMul -
class DefinitionNotFoundInSummary -
class DeltaInfo -
class Demangle_demangleTest_Test -
class DependencyGraphTest -
class DependencyGraphTest_AddRemoveMemPred_Test -
class DependencyGraphTest_AliasingStores_Test -
class DependencyGraphTest_Basic_Test -
class DependencyGraphTest_Call_Test -
class DependencyGraphTest_CreateInstrCallback_Test -
class DependencyGraphTest_DGNodeRange_Test -
class DependencyGraphTest_EraseInstrCallbackScheduled_Test -
class DependencyGraphTest_EraseInstrCallback_Test -
class DependencyGraphTest_ExtendDAGWithNoMem_Test -
class DependencyGraphTest_Extend_Test -
class DependencyGraphTest_Instruction_isMemDepCandidate_Test -
class DependencyGraphTest_Instruction_isMemIntrinsic_Test -
class DependencyGraphTest_MaintainUnscheduledSuccsOnUseSet_Test -
class DependencyGraphTest_MemDGNode_Test -
class DependencyGraphTest_MemDGNode_getPrevNode_getNextNode_Test -
class DependencyGraphTest_MoveInstrCallbackWithNonMemInstrs_Test -
class DependencyGraphTest_MoveInstrCallback_Test -
class DependencyGraphTest_NonAliasingStores_Test -
class DependencyGraphTest_NonNullPreds_Test -
class DependencyGraphTest_Preds_Test -
class DependencyGraphTest_StackRestoreAndInAlloca_Test -
class DependencyGraphTest_StackSaveAndInAlloca_Test -
class DependencyGraphTest_StackSaveRestoreDependOnOtherMem_Test -
class DependencyGraphTest_StackSaveRestoreInAlloca_Test -
class DependencyGraphTest_StackSaveRestoreNoInAlloca_Test -
class DependencyGraphTest_VolatileLoads_Test -
class DependencyGraphTest_VolatileStores_Test -
class DependencyGraphTest_isStackSaveOrRestoreIntrinsic_Test -
class DependencyInfo -
class DependentFalseType -
class DescriptorInfo -
class DiffsCategorizedByFilesPresent -
class Disassembler_WebAssemblyTest_Test -
class Disassembler_X86Test_Test -
class DivBuildAttr_testBuildAttr_Test -
class DlIteratePhdrData -
class DomTreeUpdater_CriticalEdgeSplitTest_Test -
class DomTreeUpdater_EagerUpdateBasicOperations_Test -
class DomTreeUpdater_EagerUpdateReplaceEntryBB_Test -
class DomTreeUpdater_LazyUpdateBasicOperations_Test -
class DomTreeUpdater_LazyUpdateDTBasicOperations_Test -
class DomTreeUpdater_LazyUpdateDTInheritedPreds_Test -
class DomTreeUpdater_LazyUpdateDeduplicationTest_Test -
class DomTreeUpdater_LazyUpdateReplaceEntryBB_Test -
class DomTreeUpdater_LazyUpdateStepTest_Test -
class DomTreeUpdater_NoTreeTest_Test -
class DominatorTreeBatchUpdates_DeadBlocks_Test -
class DominatorTreeBatchUpdates_FewDeletions_Test -
class DominatorTreeBatchUpdates_FewInsertion_Test -
class DominatorTreeBatchUpdates_InfiniteLoop2_Test -
class DominatorTreeBatchUpdates_InfiniteLoop_Test -
class DominatorTreeBatchUpdates_InsertDeleteExhaustive_Test -
class DominatorTreeBatchUpdates_InsertDelete_Test -
class DominatorTreeBatchUpdates_LegalizeDomUpdates_Test -
class DominatorTreeBatchUpdates_LegalizePostDomUpdates_Test -
class DominatorTreeBatchUpdates_SingleDeletion_Test -
class DominatorTreeBatchUpdates_SingleInsertion_Test -
class DominatorTree_CallBrDomination_Test -
class DominatorTree_DeleteReachable_Test -
class DominatorTree_DeleteUnreachable_Test -
class DominatorTree_DeletingEdgesIntroducesInfiniteLoop2_Test -
class DominatorTree_DeletingEdgesIntroducesInfiniteLoop_Test -
class DominatorTree_DeletingEdgesIntroducesUnreachables_Test -
class DominatorTree_EdgeDomination_Test -
class DominatorTree_IDFDeterminismTest_Test -
class DominatorTree_InsertDeleteExhaustive_Test -
class DominatorTree_InsertDelete_Test -
class DominatorTree_InsertFromUnreachable_Test -
class DominatorTree_InsertIntoIrreducible_Test -
class DominatorTree_InsertMixed_Test -
class DominatorTree_InsertPermut_Test -
class DominatorTree_InsertReachable2_Test -
class DominatorTree_InsertReachable_Test -
class DominatorTree_InsertUnreachable_Test -
class DominatorTree_NonUniqueEdges_Test -
class DominatorTree_PHIs_Test -
class DominatorTree_Unreachable_Test -
class DominatorTree_ValueDomination_Test -
class DoublerModulePass -
class DriverConfig -
class DsymutilOptions -
class DummyDependencyInfo -
class DuplicateDefinitionInSummary -
class DwarfLineTableHeaders_TestDWARF4HeaderEmission_Test -
class DwarfLineTableHeaders_TestDWARF5HeaderEmission_Test -
class DwarfLineTables_TestCustomParams2_Test -
class DwarfLineTables_TestCustomParams_Test -
class DwarfLineTables_TestDefaultParams_Test -
class DwarfStringPoolEntryRefTest_CompareFullAndShort_Test -
class DwarfStringPoolEntryRefTest_TestFullEntry_Test -
class DwarfStringPoolEntryRefTest_TestShortEntry_Test -
class DynamicLibrary_Overload_Test -
class DynamicThreadPoolDispatchTest_GenericNamedTask_Test -
class EHFrameCFIBlockInspector_BasicSuccessCase_Test -
class EHFrameCFIBlockInspector_ExternalPCBegin_Test -
class ELFObjectFileTest_CheckOSAndTriple_Test -
class ELFObjectFileTest_ELFNoteIteratorOverflow_Test -
class ELFObjectFileTest_ELFSymbolRefLess_Test -
class ELFObjectFileTest_ExecutableWithRelocs_Test -
class ELFObjectFileTest_GetSectionAndRelocations_Test -
class ELFObjectFileTest_InvalidDecodeBBAddrMap_Test -
class ELFObjectFileTest_InvalidDecodePGOAnalysisMap_Test -
class ELFObjectFileTest_InvalidLoadSegmentsOrderTest_Test -
class ELFObjectFileTest_InvalidSymbolTest_Test -
class ELFObjectFileTest_InvalidSymtabShndxTest_Test -
class ELFObjectFileTest_MachineTestFor386_Test -
class ELFObjectFileTest_MachineTestForAARCH64_Test -
class ELFObjectFileTest_MachineTestForAMDGPU_Test -
class ELFObjectFileTest_MachineTestForARM_Test -
class ELFObjectFileTest_MachineTestForAVR_Test -
class ELFObjectFileTest_MachineTestForBPF_Test -
class ELFObjectFileTest_MachineTestForCSKY_Test -
class ELFObjectFileTest_MachineTestForHEXAGON_Test -
class ELFObjectFileTest_MachineTestForIAMCU_Test -
class ELFObjectFileTest_MachineTestForLANAI_Test -
class ELFObjectFileTest_MachineTestForLoongArch_Test -
class ELFObjectFileTest_MachineTestForMIPS_Test -
class ELFObjectFileTest_MachineTestForMSP430_Test -
class ELFObjectFileTest_MachineTestForNoneOrUnused_Test -
class ELFObjectFileTest_MachineTestForPPC64_Test -
class ELFObjectFileTest_MachineTestForPPC_Test -
class ELFObjectFileTest_MachineTestForRISCV_Test -
class ELFObjectFileTest_MachineTestForS390_Test -
class ELFObjectFileTest_MachineTestForSPARC32PLUS_Test -
class ELFObjectFileTest_MachineTestForSPARCV9_Test -
class ELFObjectFileTest_MachineTestForSPARC_Test -
class ELFObjectFileTest_MachineTestForVE_Test -
class ELFObjectFileTest_MachineTestForX86_64_Test -
class ELFObjectFileTest_MachineTestForXtensa_Test -
class ELFObjectFileTest_ReadBBAddrMap_Test -
class ELFObjectFileTest_ReadBBHash_Test -
class ELFObjectFileTest_ReadPGOAnalysisMap_Test -
class ELFObjectFileTest_RelativeRelocationTypeTest_Test -
class ELFRelocationTypeTest_RelocationTestForVE_Test -
class ELFTest_DataRegionTest_Test -
class ELFTest_Hash_Test -
class ELFTest_getELFRelativeRelocationType_Test -
class ELFTest_getELFRelocationTypeNameForLoongArch_Test -
class ELFTest_getELFRelocationTypeNameForVE_Test -
class ELFTest_getRISCVVendorRelocationTypeName_Test -
class ELFTypesTest_BBAddrMapFeaturesEncodingTest_Test -
class ELFTypesTest_BBAddrMapFeaturesInvalidEncodingTest_Test -
class ELFTypesTest_BBEntryMetadataEncodingTest_Test -
class ELFTypesTest_BBEntryMetadataInvalidEncodingTest_Test -
class ELFTypesTest_NoteTest_Test -
class EditDistance_VerifyShortCircuit_Test -
class ElfYamlTextAPI_YAMLReadableTBE_Test -
class ElfYamlTextAPI_YAMLReadsInvalidSymbols_Test -
class ElfYamlTextAPI_YAMLReadsNoTBESyms_Test -
class ElfYamlTextAPI_YAMLReadsTBESymbols_Test -
class ElfYamlTextAPI_YAMLUnreadableTBE_Test -
class ElfYamlTextAPI_YAMLUnsupportedVersion_Test -
class ElfYamlTextAPI_YAMLWritesNoTBESyms_Test -
class ElfYamlTextAPI_YAMLWritesTBESymbols_Test -
class EndianEnums -
class EndianTypes -
class EntryPointCategorizer -
class EnumAttr -
class EnumSizeBuildAttr_testBuildAttr_Test -
class EqualScopesMatcher -
class ErrnoTest_RetryAfterSignal_Test -
class ExecutionSessionLookupHelper -
class ExecutionSessionWrapperFunctionCalls_RegisterAsyncHandlerAndRun_Test -
class ExecutionSessionWrapperFunctionCalls_RunNonVoidWrapperAsyncTemplate_Test -
class ExecutionSessionWrapperFunctionCalls_RunVoidWrapperAsyncTemplate_Test -
class ExecutionSessionWrapperFunctionCalls_RunWrapperTemplate_Test -
class ExpectedErrorOr -
class ExprAST -
class ExtensionDescriptor -
class FP16BuildAttr_testBuildAttr_Test -
class FPArchBuildAttr_testBuildAttr_Test -
class FPDenormalBuildAttr_testBuildAttr_Test -
class FPExceptionsBuildAttr_testBuildAttr_Test -
class FPHPBuildAttr_testBuildAttr_Test -
class FPNumberModelBuildAttr_testBuildAttr_Test -
class FPRoundingBuildAttr_testBuildAttr_Test -
class FPUABI_testAttribute_Test -
class FPUDenormal_testAttribute_Test -
class FPUException_testAttribute_Test -
class FPUHardFP_testAttribute_Test -
class FPUNumberModule_testAttribute_Test -
class FPURounding_testAttribute_Test -
class FPUVersion_testAttribute_Test -
class FPUserExceptionsBuildAttr_testBuildAttr_Test -
class FatArchTraits -
class FatArchTraits -
class FatArchTraits -
class FileChecksumEntryHeader -
class FileCollectorTest_Symlinks_Test -
class FileCollectorTest_addDirectory_Test -
class FileCollectorTest_addFile_Test -
class FileCollectorTest_copyFiles_Test -
class FileCollectorTest_recordAndConstructDirectory_Test -
class FileCollectorTest_recordVFSAccesses_Test -
class FileCollectorTest_recordVFSSymlinkAccesses_Test -
class FilenameRange -
class FilterOptions -
class FindAllocaForValueTest -
class FindAllocaForValueTestParams -
class FindAllocaForValueTest_findAllocaForValueZeroOffset_Test -
class FindAllocaForValueTest_findAllocaForValue_Test -
class FixedArray -
class FlagsMap -
class FloatingPointIV -
class FlowFooBar -
class FlowFooBarDoc -
class FlowMap -
class FlowSeq -
class FlowStringRef -
class FooBar -
class FooBarContainer -
class FooBarEnum -
class FooBarHashTraits -
class FooBarMap -
class FooBarMapMap -
class ForExprAST -
class FormatVariadicTest_Adapter_Test -
class FormatVariadicTest_AutomaticIndices_Test -
class FormatVariadicTest_BigTest_Test -
class FormatVariadicTest_BoolTest_Test -
class FormatVariadicTest_CharFormatting_Test -
class FormatVariadicTest_CopiesAndMoves_Test -
class FormatVariadicTest_CustomPaddingCharacter_Test -
class FormatVariadicTest_DefaultReplacementValues_Test -
class FormatVariadicTest_DoubleFormatting_Test -
class FormatVariadicTest_EmptyFormatString_Test -
class FormatVariadicTest_EscapedBrace_Test -
class FormatVariadicTest_FormatAdapter_Test -
class FormatVariadicTest_FormatAutomaticIndices_Test -
class FormatVariadicTest_FormatBasicTypesOneReplacement_Test -
class FormatVariadicTest_FormatError_Test -
class FormatVariadicTest_FormatFilterRange_Test -
class FormatVariadicTest_FormatFormatvObject_Test -
class FormatVariadicTest_FormatNoReplacements_Test -
class FormatVariadicTest_FormatStreamable_Test -
class FormatVariadicTest_ImplicitConversions_Test -
class FormatVariadicTest_IntegralHexFormatting_Test -
class FormatVariadicTest_IntegralNumberFormatting_Test -
class FormatVariadicTest_MoveConstructor_Test -
class FormatVariadicTest_MultipleReplacements_Test -
class FormatVariadicTest_NoReplacements_Test -
class FormatVariadicTest_PointerFormatting_Test -
class FormatVariadicTest_Range_Test -
class FormatVariadicTest_StringFormatting_Test -
class FormatVariadicTest_ValidReplacementSequence_Test -
class FormatVariadicTest_Validate_Test -
class FreeBSDNote -
class FreeFnsTy -
class FunCloner -
class FuncMergeInfo -
class FunctionAST -
class FunctionComparatorTest_TestAPI_Test -
class FunctionDiff -
class FunctionSpecializationTest_BinOp_Test -
class FunctionSpecializationTest_BranchInst_Test -
class FunctionSpecializationTest_Misc_Test -
class FunctionSpecializationTest_PhiNode_Test -
class FunctionSpecializationTest_SelectInst_Test -
class FunctionSpecializationTest_SwitchInst_Test -
class FunctionVarLocsBuilder -
class FwdRegParamInfo -
class GCEmptyBasicBlocks -
class GICombinerEmitter -
class GISelMITest -
class GNUAbiTag -
class GOFFObjectFileTest_ConcatenatedGOFFFile_Test -
class GOFFObjectFileTest_ConstructGOFFObjectInvalidSize_Test -
class GOFFObjectFileTest_ConstructGOFFObjectValidSize_Test -
class GOFFObjectFileTest_ContinuationBitNotSet_Test -
class GOFFObjectFileTest_ContinuationGetSymbolName_Test -
class GOFFObjectFileTest_ContinuationRecordNotTerminated_Test -
class GOFFObjectFileTest_ContinuationTypeMismatch_Test -
class GOFFObjectFileTest_GetSymbolName_Test -
class GOFFObjectFileTest_InvalidERSymbolType_Test -
class GOFFObjectFileTest_InvalidSymbolType_Test -
class GOFFObjectFileTest_MissingEND_Test -
class GOFFObjectFileTest_MissingHDR_Test -
class GOFFObjectFileTest_PrevNotContinued_Test -
class GOFFObjectFileTest_TXTConstruct_Test -
class GOFFObjectFileTest_TwoSymbols_Test -
class GSYMTest_TestAddressRangeEncodeDecode_Test -
class GSYMTest_TestAddressRangesEncodeDecode_Test -
class GSYMTest_TestDWARFDeadStripAddr4_Test -
class GSYMTest_TestDWARFDeadStripAddr8_Test -
class GSYMTest_TestDWARFEmptyInline_Test -
class GSYMTest_TestDWARFFunctionWithAddressAndOffset_Test -
class GSYMTest_TestDWARFFunctionWithAddresses_Test -
class GSYMTest_TestDWARFInlineInfo_Test -
class GSYMTest_TestDWARFInlineRangeScopes_Test -
class GSYMTest_TestDWARFNoLines_Test -
class GSYMTest_TestDWARFStructMethodNoMangled_Test -
class GSYMTest_TestDWARFTextRanges_Test -
class GSYMTest_TestDWARFTransformNoErrorForMissingFileDecl_Test -
class GSYMTest_TestEmptyLinkageName_Test -
class GSYMTest_TestEmptyRangeWarnings_Test -
class GSYMTest_TestEmptySymbolEndAddressOfTextRanges_Test -
class GSYMTest_TestFileEntry_Test -
class GSYMTest_TestFileWriter_Test -
class GSYMTest_TestFinalizeForLineTables_Test -
class GSYMTest_TestFunctionInfoDecodeErrors_Test -
class GSYMTest_TestFunctionInfoEncodeErrors_Test -
class GSYMTest_TestFunctionInfoEncoding_Test -
class GSYMTest_TestFunctionInfo_Test -
class GSYMTest_TestGsymCreator1ByteAddrOffsets_Test -
class GSYMTest_TestGsymCreator2ByteAddrOffsets_Test -
class GSYMTest_TestGsymCreator4ByteAddrOffsets_Test -
class GSYMTest_TestGsymCreator8ByteAddrOffsets_Test -
class GSYMTest_TestGsymCreatorEncodeErrors_Test -
class GSYMTest_TestGsymCreatorMultipleSymbolsWithNoSize_Test -
class GSYMTest_TestGsymLookups_Test -
class GSYMTest_TestGsymReader_Test -
class GSYMTest_TestGsymSegmentingNoBase_Test -
class GSYMTest_TestGsymSegmenting_Test -
class GSYMTest_TestHandlingOfInvalidFileIndexes_Test -
class GSYMTest_TestHeaderDecodeErrors_Test -
class GSYMTest_TestHeaderEncodeDecode_Test -
class GSYMTest_TestHeaderEncodeErrors_Test -
class GSYMTest_TestInlineInfoDecodeErrors_Test -
class GSYMTest_TestInlineInfoEncodeErrors_Test -
class GSYMTest_TestInlineInfo_Test -
class GSYMTest_TestLineEntry_Test -
class GSYMTest_TestLineTableDecodeErrors_Test -
class GSYMTest_TestLineTableEncodeErrors_Test -
class GSYMTest_TestLineTable_Test -
class GSYMTest_TestLineTablesWithEmptyRanges_Test -
class GSYMTest_TestLookupsOfOverlappingAndUnequalRanges_Test -
class GSYMTest_TestRangeWarnings_Test -
class GSYMTest_TestStringTable_Test -
class GSYMTest_TestUnableToLocateDWO_Test -
class GSYMUtilOptTable -
class Global -
class GlobalISelLEB128Test_fastDecodeULEB128_Test -
class GlobalPart -
class GlobalSymtabInfo -
class GlobalsImporter -
class GlobalsModRef_OptNone_Test -
class HLSLBindingTest_TestEndOfRange_Test -
class HLSLBindingTest_TestExactOverlap_Test -
class HLSLBindingTest_TestFindAvailable_Test -
class HLSLBindingTest_TestManyBindings_Test -
class HLSLBindingTest_TestNoOverlapWithDuplicates_Test -
class HLSLBindingTest_TestTrivialCase_Test -
class HLSLBindingTest_TestUnboundedAndOverlap_Test -
class HTTPClientCleanup -
class HTTPServer_IsAvailable_Test -
class HardFPBuildAttr_testBuildAttr_Test -
class HasSpecificValueMatcherP -
class HashBuilderTest -
class HashBuilderTest_AddHashableData_Test -
class HashBuilderTest_AddRangeElements_Test -
class HashBuilderTest_HashArrayRefHashableDataTypes_Test -
class HashBuilderTest_HashArrayRefNonHashableDataTypes_Test -
class HashBuilderTest_HashArrayRef_Test -
class HashBuilderTest_HashRangeWithForwardIterator_Test -
class HashBuilderTest_HashStdPair_Test -
class HashBuilderTest_HashStdString_Test -
class HashBuilderTest_HashStdTuple_Test -
class HashBuilderTest_HashStringRef_Test -
class HashBuilderTest_HashUserDefinedStruct_Test -
class HashBuilderTest_VariadicHelpers_Test -
class HashTableTest_Grow_Test -
class HashTableTest_NamedStreamMap_Test -
class HashTableTest_NonTrivialValueType_Test -
class HashTableTest_Serialization_Test -
class HashTableTest_TestCollisionAfterMultipleProbes_Test -
class HashTableTest_TestCollision_Test -
class HashTableTest_TestRemove_Test -
class HashTableTest_TestSimple_Test -
class HasherTAndEndianness -
class Header -
class HostTest_AIXHostCPUDetect_Test -
class HostTest_AIXHostVersionDetect_Test -
class HostTest_AIXTargetVersionDetect_Test -
class HostTest_DummyRunAndGetCommandOutputUse_Test -
class HostTest_getMacOSHostVersion_Test -
class IFSOptTable -
class IRInstructionMapper_AllocaIllegal_Test -
class IRInstructionMapper_BranchLegal_Test -
class IRInstructionMapper_CallBrInstIllegal_Test -
class IRInstructionMapper_CallsDifferentArgTypeDifferentName_Test -
class IRInstructionMapper_CallsDifferentCallingConventions_Test -
class IRInstructionMapper_CallsDifferentReturnTypeDifferentName_Test -
class IRInstructionMapper_CallsDifferentTails_Test -
class IRInstructionMapper_CallsIllegalIndirect_Test -
class IRInstructionMapper_CallsLegalIndirect_Test -
class IRInstructionMapper_CallsSameArgTypeDifferentNameDisallowed_Test -
class IRInstructionMapper_CallsSameArgTypeDifferentName_Test -
class IRInstructionMapper_CallsSameParameters_Test -
class IRInstructionMapper_CallsSameTypeSameName_Test -
class IRInstructionMapper_CatchpadIllegal_Test -
class IRInstructionMapper_CleanuppadIllegal_Test -
class IRInstructionMapper_DebugInfoInvisible_Test -
class IRInstructionMapper_ExceptionHandlingExceptionCodeIllegal_Test -
class IRInstructionMapper_ExceptionHandlingExceptionPointerIllegal_Test -
class IRInstructionMapper_ExceptionHandlingTypeIdIllegal_Test -
class IRInstructionMapper_ExceptionHandlingUnwindIllegal_Test -
class IRInstructionMapper_FPPredicatDifference_Test -
class IRInstructionMapper_FPPredicateSimilarity_Test -
class IRInstructionMapper_GetElementPtrDifferentBaseType_Test -
class IRInstructionMapper_GetElementPtrDifferentEndOperands_Test -
class IRInstructionMapper_GetElementPtrDifferentInBounds_Test -
class IRInstructionMapper_GetElementPtrSameEndOperands_Test -
class IRInstructionMapper_InvokeIllegal_Test -
class IRInstructionMapper_LoadDifferentAlign_Test -
class IRInstructionMapper_LoadDifferentAtomic_Test -
class IRInstructionMapper_LoadDifferentType_Test -
class IRInstructionMapper_LoadDifferentVolatile_Test -
class IRInstructionMapper_LoadSameAtomic_Test -
class IRInstructionMapper_LoadSameVolatile_Test -
class IRInstructionMapper_LoadSimilarType_Test -
class IRInstructionMapper_MemCpyIllegal_Test -
class IRInstructionMapper_MemMoveIllegal_Test -
class IRInstructionMapper_MemOpsLegal_Test -
class IRInstructionMapper_MemSetIllegal_Test -
class IRInstructionMapper_OpcodeDifferentiation_Test -
class IRInstructionMapper_OpcodeTypeSimilarity_Test -
class IRInstructionMapper_PhiIllegal_Test -
class IRInstructionMapper_PhiLegal_Test -
class IRInstructionMapper_PredicateDifferentiation_Test -
class IRInstructionMapper_PredicateIsomorphism_Test -
class IRInstructionMapper_PredicateSimilarity_Test -
class IRInstructionMapper_RepeatedIllegalLength_Test -
class IRInstructionMapper_SextTypeDifference_Test -
class IRInstructionMapper_SextTypeSimilarity_Test -
class IRInstructionMapper_StoreDifferentAlign_Test -
class IRInstructionMapper_StoreDifferentAtomic_Test -
class IRInstructionMapper_StoreDifferentType_Test -
class IRInstructionMapper_StoreDifferentVolatile_Test -
class IRInstructionMapper_StoreSameAtomic_Test -
class IRInstructionMapper_StoreSameVolatile_Test -
class IRInstructionMapper_StoreSimilarType_Test -
class IRInstructionMapper_TypeDifferentiation_Test -
class IRInstructionMapper_VarArgsIllegal_Test -
class IRInstructionMapper_ZextTypeDifference_Test -
class IRInstructionMapper_ZextTypeSimilarity_Test -
class IRSimilarityCandidate_CanonicalNumbering_Test -
class IRSimilarityCandidate_CheckIdenticalInstructions_Test -
class IRSimilarityCandidate_CheckRegionsDifferentInstruction_Test -
class IRSimilarityCandidate_CheckRegionsDifferentTypes_Test -
class IRSimilarityCandidate_DifferentBranchStructureInternal_Test -
class IRSimilarityCandidate_DifferentBranchStructureOutside_Test -
class IRSimilarityCandidate_DifferentNameSameStructure_Test -
class IRSimilarityCandidate_DifferentPHIStructureInternal_Test -
class IRSimilarityCandidate_DifferentStructure_Test -
class IRSimilarityCandidate_IdenticalWithDebug_Test -
class IRSimilarityCandidate_IllegalInCandidate_Test -
class IRSimilarityCandidate_PredicateDifference_Test -
class IRSimilarityCandidate_PredicateIsomorphismStructure_Test -
class IRSimilarityCandidate_PredicateIsomorphism_Test -
class IRSimilarityCandidate_SameBranchStructureInternal_Test -
class IRSimilarityCandidate_SameBranchStructureOutside_Test -
class IRSimilarityCandidate_SamePHIStructureInternal_Test -
class IRSimilarityCandidate_SameStructure_Test -
class IRSimilarityIdentifier_CommutativeSameValueFirstMisMatch_Test -
class IRSimilarityIdentifier_CommutativeSimilarity_Test -
class IRSimilarityIdentifier_ConstantMappingDifference_Test -
class IRSimilarityIdentifier_ConstantMappingSimilarity_Test -
class IRSimilarityIdentifier_IdentitySimilarity_Test -
class IRSimilarityIdentifier_InstructionDifference_Test -
class IRSimilarityIdentifier_IntrinsicCommutative_Test -
class IRSimilarityIdentifier_MappingSimilarity_Test -
class IRSimilarityIdentifier_NoCommutativeSimilarity_Test -
class IRSimilarityIdentifier_NonCommutativeDifference_Test -
class IRSimilarityIdentifier_PredicateIsomorphism_Test -
class IVDescriptorsTest_FMaxRednIdentity_Test -
class IVDescriptorsTest_FMinRednIdentity_Test -
class IVDescriptorsTest_LoopWithPtrToInt_Test -
class IVDescriptorsTest_LoopWithSingleLatch_Test -
class IfExprAST -
class ImpliedExtsEntry -
class ImportIDTableTests_Basic_Test -
class ImportIDTableTests_Duplicates_Test -
class ImportIDTableTests_Missing_Test -
class ImportIDTableTests_Present_Test -
class ImportStatistics -
class InMemoryFileSystemTest -
class InMemoryFileSystemTest_AddDirectoryThenAddChild_Test -
class InMemoryFileSystemTest_AddFileInPlaceOfAHardLinkWithDifferentContent_Test -
class InMemoryFileSystemTest_AddFileInPlaceOfAHardLinkWithSameContent_Test -
class InMemoryFileSystemTest_AddFileWithFileType_Test -
class InMemoryFileSystemTest_AddFileWithGroup_Test -
class InMemoryFileSystemTest_AddFileWithPerms_Test -
class InMemoryFileSystemTest_AddFileWithUser_Test -
class InMemoryFileSystemTest_AddHardLinkFromADirectory_Test -
class InMemoryFileSystemTest_AddHardLinkFromAFileThatWasAddedBefore_Test -
class InMemoryFileSystemTest_AddHardLinkInChainPattern_Test -
class InMemoryFileSystemTest_AddHardLinkToADirectory_Test -
class InMemoryFileSystemTest_AddHardLinkToAFileThatWasNotAddedBefore_Test -
class InMemoryFileSystemTest_AddHardLinkToASymlink_Test -
class InMemoryFileSystemTest_AddHardLinkToFile_Test -
class InMemoryFileSystemTest_AddHardLinkUnderAFile_Test -
class InMemoryFileSystemTest_AddRecursiveSymlink_Test -
class InMemoryFileSystemTest_AddSameHardLinkMoreThanOnce_Test -
class InMemoryFileSystemTest_AddSymlinkToADirectory_Test -
class InMemoryFileSystemTest_AddSymlinkToAFile_Test -
class InMemoryFileSystemTest_AddSymlinkToASymlink_Test -
class InMemoryFileSystemTest_DirectoryIteration_Test -
class InMemoryFileSystemTest_DirectoryIteratorWithSymlinkToAFile_Test -
class InMemoryFileSystemTest_DuplicatedFile_Test -
class InMemoryFileSystemTest_GetRealPath_Test -
class InMemoryFileSystemTest_IsEmpty_Test -
class InMemoryFileSystemTest_IsLocal_Test -
class InMemoryFileSystemTest_OpenFileForRead_Test -
class InMemoryFileSystemTest_OverlayFileNoOwn_Test -
class InMemoryFileSystemTest_OverlayFile_Test -
class InMemoryFileSystemTest_RecursiveDirectoryIteratorWithSymlinkToADir_Test -
class InMemoryFileSystemTest_RecursiveIterationWithHardLink_Test -
class InMemoryFileSystemTest_StatusName_Test -
class InMemoryFileSystemTest_UniqueID_Test -
class InMemoryFileSystemTest_WindowsPath_Test -
class InMemoryFileSystemTest_WorkingDirectory_Test -
class InPlaceTaskDispatchTest_GenericNamedTask_Test -
class InProgressEntry -
class IncrementGlobalCleanup -
class IndexedModuleDescriptor -
class IndirectCallPromotionPlugin -
class InputAnnotation -
class InsertionPoint -
class InstAnalyzer -
class InstCountAndStackSize -
class InstrMapsTest -
class InstrMapsTest_Basic_Test -
class InstrMapsTest_VectorLanes_Test -
class InstrProfValueData -
class InstrProfileEntry -
class InstrRefLDVTest -
class InstrRefLDVTest_MLocBadlyNestedLoops_Test -
class InstrRefLDVTest_MLocDiamondBlocks_Test -
class InstrRefLDVTest_MLocDiamondSpills_Test -
class InstrRefLDVTest_MLocNestedLoop_Test -
class InstrRefLDVTest_MLocNoDominatingLoop_Test -
class InstrRefLDVTest_MLocSimpleLoop_Test -
class InstrRefLDVTest_MLocSingleBlock_Test -
class InstrRefLDVTest_MTransferCopies_Test -
class InstrRefLDVTest_MTransferDefs_Test -
class InstrRefLDVTest_MTransferMeta_Test -
class InstrRefLDVTest_MTransferSubregSpills_Test -
class InstrRefLDVTest_VLocDiamondBlocks_Test -
class InstrRefLDVTest_VLocNestedLoop_Test -
class InstrRefLDVTest_VLocSimpleLoop_Test -
class InstrRefLDVTest_VLocSingleBlock_Test -
class InstrRefLDVTest_pickVPHILocBadlyNestedLoops_Test -
class InstrRefLDVTest_pickVPHILocDiamond_Test -
class InstrRefLDVTest_pickVPHILocLoops_Test -
class InstrRefLDVTest_vlocJoinBadlyNestedLoops_Test -
class InstrRefLDVTest_vlocJoinDiamond_Test -
class InstrRefLDVTest_vlocJoinLoops_Test -
class IntPart -
class IntegerIV -
class InteractiveModelRunner_Evaluation_Test -
class InterleaveIntrinsic -
class IntervalTest -
class IntervalTest_Basic_Test -
class IntervalTest_Difference_Test -
class IntervalTest_Intersection_Test -
class IntervalTest_NotifyMoveInstr_Test -
class IntervalTest_UnionInterval_Test -
class IntrinsicInstTest -
class IntrinsicInstTest_Basic_Test -
class IsBytewiseValueTest -
class IsBytewiseValueTest_IsBytewiseValue_Test -
class IsHardLinkToMatcherP2 -
class IsPotentiallyReachableTest_BranchInsideLoop_Test -
class IsPotentiallyReachableTest_BranchToReturn_Test -
class IsPotentiallyReachableTest_DestUnreachable_Test -
class IsPotentiallyReachableTest_DiamondExcludedTest_Test -
class IsPotentiallyReachableTest_DiamondOneSideExcludedTest_Test -
class IsPotentiallyReachableTest_ModifyTest_Test -
class IsPotentiallyReachableTest_OneLoopAfterTheOther1_Test -
class IsPotentiallyReachableTest_OneLoopAfterTheOther2_Test -
class IsPotentiallyReachableTest_OneLoopAfterTheOtherInsideAThirdLoop_Test -
class IsPotentiallyReachableTest_SameBlockNoLoop_Test -
class IsPotentiallyReachableTest_SameBlockNoPath_Test -
class IsPotentiallyReachableTest_SameBlockPath_Test -
class IsPotentiallyReachableTest_SimpleExclusionTest_Test -
class IsPotentiallyReachableTest_SimpleLoop1_Test -
class IsPotentiallyReachableTest_SimpleLoop2_Test -
class IsPotentiallyReachableTest_SimpleLoop3_Test -
class IsPotentiallyReachableTest_StraightNoPath_Test -
class IsPotentiallyReachableTest_StraightPath_Test -
class IsPotentiallyReachableTest_UnreachableBlocksTest1_Test -
class IsPotentiallyReachableTest_UnreachableBlocksTest2_Test -
class IsPotentiallyReachableTest_UnreachableFromEntryTest_Test -
class IsPotentiallyReachableTest_UnreachableToReachable_Test -
class ItaniumDemangle_HalfType_Test -
class ItaniumDemangle_MethodOverride_Test -
class ItaniumDemangle_OperatorOrdering_Test -
class JITLinkLazyReexportsTest_Basics_Test -
class JITLinkMocks_SmokeTest_Test -
class JITLinkRedirectionManagerTest -
class JITLinkRedirectionManagerTest_BasicRedirectionOperation_Test -
class JSONScopedPrinterTest_DelimitedScopeCtor_Test -
class JSONScopedPrinterTest_PrettyPrintCtor_Test -
class JoinErrorsInto -
class KindAndFlags -
class LLVMComdat -
class LLVMJITEvaluatedSymbol -
class LLVMJITSymbolFlags -
class LLVMMCJITCompilerOptions -
class LLVMOpInfo1 -
class LLVMOpInfoSymbol1 -
class LLVMOpaqueAttributeRef -
class LLVMOpaqueBasicBlock -
class LLVMOpaqueBinary -
class LLVMOpaqueBuilder -
class LLVMOpaqueContext -
class LLVMOpaqueDIBuilder -
class LLVMOpaqueDbgRecord -
class LLVMOpaqueDiagnosticInfo -
class LLVMOpaqueError -
class LLVMOpaqueExecutionEngine -
class LLVMOpaqueGenericValue -
class LLVMOpaqueJITEventListener -
class LLVMOpaqueLTOCodeGenerator -
class LLVMOpaqueLTOInput -
class LLVMOpaqueLTOModule -
class LLVMOpaqueMCJITMemoryManager -
class LLVMOpaqueMemoryBuffer -
class LLVMOpaqueMetadata -
class LLVMOpaqueModule -
class LLVMOpaqueModuleFlagEntry -
class LLVMOpaqueModuleProvider -
class LLVMOpaqueNamedMDNode -
class LLVMOpaqueObjectFile -
class LLVMOpaqueOperandBundle -
class LLVMOpaquePassBuilderOptions -
class LLVMOpaquePassManager -
class LLVMOpaqueRelocationIterator -
class LLVMOpaqueSectionIterator -
class LLVMOpaqueSymbolIterator -
class LLVMOpaqueTargetData -
class LLVMOpaqueTargetLibraryInfotData -
class LLVMOpaqueTargetMachine -
class LLVMOpaqueTargetMachineOptions -
class LLVMOpaqueThinLTOCodeGenerator -
class LLVMOpaqueType -
class LLVMOpaqueUse -
class LLVMOpaqueValue -
class LLVMOpaqueValueMetadataEntry -
class LLVMOrcCDependenceMapPair -
class LLVMOrcCJITDylibSearchOrderElement -
class LLVMOrcCLookupSetElement -
class LLVMOrcCSymbolAliasMapEntry -
class LLVMOrcCSymbolAliasMapPair -
class LLVMOrcCSymbolDependenceGroup -
class LLVMOrcCSymbolFlagsMapPair -
class LLVMOrcCSymbolMapPair -
class LLVMOrcCSymbolsList -
class LLVMOrcOpaqueDefinitionGenerator -
class LLVMOrcOpaqueDumpObjects -
class LLVMOrcOpaqueExecutionSession -
class LLVMOrcOpaqueIRTransformLayer -
class LLVMOrcOpaqueIndirectStubsManager -
class LLVMOrcOpaqueJITDylib -
class LLVMOrcOpaqueJITTargetMachineBuilder -
class LLVMOrcOpaqueLLJIT -
class LLVMOrcOpaqueLLJITBuilder -
class LLVMOrcOpaqueLazyCallThroughManager -
class LLVMOrcOpaqueLookupState -
class LLVMOrcOpaqueMaterializationResponsibility -
class LLVMOrcOpaqueMaterializationUnit -
class LLVMOrcOpaqueObjectLayer -
class LLVMOrcOpaqueObjectLinkingLayer -
class LLVMOrcOpaqueObjectTransformLayer -
class LLVMOrcOpaqueResourceTracker -
class LLVMOrcOpaqueSymbolStringPool -
class LLVMOrcOpaqueSymbolStringPoolEntry -
class LLVMOrcOpaqueThreadSafeContext -
class LLVMOrcOpaqueThreadSafeModule -
class LLVMRemarkOpaqueArg -
class LLVMRemarkOpaqueDebugLoc -
class LLVMRemarkOpaqueEntry -
class LLVMRemarkOpaqueParser -
class LLVMRemarkOpaqueString -
class LLVMTarget -
class LTOObjectBuffer -
class LTOToolDiagnosticHandler -
class LazyReexportsTest -
class LazyReexportsTest_BasicLocalCallThroughManagerOperation_Test -
class LegalityTest -
class LegalityTest_CollectDescr_Test -
class LegalityTest_LegalityResultDump_Test -
class LegalityTest_LegalitySchedule_Test -
class LegalityTest_LegalitySkipSchedule_Test -
class LegalityTest_ShuffleMask_Test -
class LegalizerInfoTest_MMOAlignment_Test -
class LegalizerInfoTest_MSVCDebugMiscompile_Test -
class LegalizerInfoTest_RuleSets_Test -
class LessRegisterSet -
class LineEditorTest -
class LineEditorTest_HistorySaveLoad_Test -
class LineEditorTest_ListCompleters_Test -
class LinkGraphTest_AddressAccess_Test -
class LinkGraphTest_BasicLayoutHonorsNoAlloc_Test -
class LinkGraphTest_BlockAndSymbolIteration_Test -
class LinkGraphTest_Construction_Test -
class LinkGraphTest_ContentAccessAndUpdate_Test -
class LinkGraphTest_DefinedSymbolProperties_Test -
class LinkGraphTest_EdgeIteration_Test -
class LinkGraphTest_FindSymbolsByName_Test -
class LinkGraphTest_GraphAllocationMethods_Test -
class LinkGraphTest_IsCStringBlockTest_Test -
class LinkGraphTest_MakeAbsolute_Test -
class LinkGraphTest_MakeDefined_Test -
class LinkGraphTest_MakeExternal_Test -
class LinkGraphTest_MergeSections_Test -
class LinkGraphTest_SectionEmpty_Test -
class LinkGraphTest_SplitBlock_Test -
class LinkGraphTest_TransferBlock_Test -
class LinkGraphTest_TransferDefinedSymbolAcrossSections_Test -
class LinkGraphTest_TransferDefinedSymbol_Test -
class LiveIntervalTest_AdjacentIntervals_Test -
class LiveIntervalTest_BundleDef_Test -
class LiveIntervalTest_BundleInternalUse_Test -
class LiveIntervalTest_BundleRedef_Test -
class LiveIntervalTest_BundleSubRegDef_Test -
class LiveIntervalTest_BundleSubRegUse_Test -
class LiveIntervalTest_BundleUndefUse_Test -
class LiveIntervalTest_BundleUse_Test -
class LiveIntervalTest_DeadSubRegMoveUp_Test -
class LiveIntervalTest_EarlyClobberSubRegMoveUp_Test -
class LiveIntervalTest_LiveThroughSegments_Test -
class LiveIntervalTest_MoveDownDef_Test -
class LiveIntervalTest_MoveDownEarlyDef_Test -
class LiveIntervalTest_MoveDownEarlyRedef_Test -
class LiveIntervalTest_MoveDownKillFollowing_Test -
class LiveIntervalTest_MoveDownKill_Test -
class LiveIntervalTest_MoveDownRedef_Test -
class LiveIntervalTest_MoveOverUndefUse0_Test -
class LiveIntervalTest_MoveOverUndefUse1_Test -
class LiveIntervalTest_MoveUndefUse_Test -
class LiveIntervalTest_MoveUpDef_Test -
class LiveIntervalTest_MoveUpEarlyDef_Test -
class LiveIntervalTest_MoveUpEarlyRedef_Test -
class LiveIntervalTest_MoveUpKillFollowing_Test -
class LiveIntervalTest_MoveUpKill_Test -
class LiveIntervalTest_MoveUpRedef_Test -
class LiveIntervalTest_MoveUpValNos_Test -
class LiveIntervalTest_RepairIntervals_Test -
class LiveIntervalTest_SplitAtMultiInstruction_Test -
class LiveIntervalTest_SplitAtOneInstruction_Test -
class LiveIntervalTest_SubRegMoveDown_Test -
class LiveIntervalTest_SubRegMoveUp_Test -
class LiveIntervalTest_TestMoveSubRegDefAcrossUseDefMulti_Test -
class LiveIntervalTest_TestMoveSubRegDefAcrossUseDef_Test -
class LiveIntervalTest_TestMoveSubRegUseAcrossMainRangeHole_Test -
class LiveIntervalTest_TestMoveSubRegsOfOneReg_Test -
class LiveVariablesTest_recomputeForSingleDefVirtReg_handle_undef1_Test -
class LiveVariablesTest_recomputeForSingleDefVirtReg_handle_undef2_Test -
class LoadOps -
class LoadValue -
class LoadsTest_CanReplacePointersIfEqual_Test -
class LoadsTest_FindAvailableLoadedValueSameBasePtrConstantOffsetsNullAA_Test -
class LoadsTest_IsReadOnlyLoop_Test -
class Local -
class LocalTest_TargetTypeInfoHasNoReplacementProperty_Test -
class Local_CanReplaceOperandWithVariable_Test -
class Local_ChangeToUnreachable_Test -
class Local_ConstantFoldTerminator_Test -
class Local_ExpressionForConstant_Test -
class Local_FindDbgRecords_Test -
class Local_MergeBasicBlockIntoOnlyPred_Test -
class Local_RecursivelyDeleteDeadPHINodes_Test -
class Local_RemoveDuplicatePHINodes_Test -
class Local_RemoveUnreachableBlocks_Test -
class Local_ReplaceAllDbgUsesWith_Test -
class Local_ReplaceDbgDeclare_Test -
class Local_ReplaceDbgVariableRecord_Test -
class Local_SimplifyCFGWithNullAC_Test -
class LookupAndRecordAddrsTest -
class LookupTableInfo -
class LoopInfoTest_AuxiliaryIV_Test -
class LoopInfoTest_CannotFindDirection_Test -
class LoopInfoTest_CanonicalLoop_Test -
class LoopInfoTest_DecreasingLoop_Test -
class LoopInfoTest_LoopInductionVariable_Test -
class LoopInfoTest_LoopLatchNotExiting_Test -
class LoopInfoTest_LoopNest_Test -
class LoopInfoTest_LoopNonConstantStep_Test -
class LoopInfoTest_LoopNonLatchUniqueExitBlocks_Test -
class LoopInfoTest_LoopNotInSimplifyForm_Test -
class LoopInfoTest_LoopNotRotated_Test -
class LoopInfoTest_LoopUniqueExitBlocks_Test -
class LoopInfoTest_LoopUnsignedBounds_Test -
class LoopInfoTest_LoopUserBranch_Test -
class LoopInfoTest_LoopWithGuardCmpSLE_Test -
class LoopInfoTest_LoopWithInverseGuardSuccs_Test -
class LoopInfoTest_LoopWithInverseLatchSuccs_Test -
class LoopInfoTest_LoopWithLatchCmpNE_Test -
class LoopInfoTest_LoopWithMultipleLatches_Test -
class LoopInfoTest_LoopWithSingleLatch_Test -
class LoopInfoTest_LoopWithSwappedGuardCmp_Test -
class LoopInfoTest_MultiExitLoop_Test -
class LoopInfoTest_MultiExitingLoop_Test -
class LoopInfoTest_PreorderTraversals_Test -
class LoopInfoTest_TokenLCSSA_Test -
class LoopInfoTest_UnguardedLoopWithControlFlow_Test -
class LoopInfoTest_UnguardedLoop_Test -
class LoopInfoTest_ZextIndVar_Test -
class LoopNestTest_ImperfectLoopNest_Test -
class LoopNestTest_InterveningInstrLoopNest_Test -
class LoopNestTest_PerfectLoopNest_Test -
class LoopRotate_MultiDeoptExit_Nondup_Test -
class LoopRotate_MultiDeoptExit_Test -
class LoopUnrollRuntime_Latch_Test -
class LoopUtils_DeleteDeadLoopNest_Test -
class LoopUtils_IsKnownNonPositiveInLoopTest_Test -
class LoopUtils_IsKnownPositiveInLoopTest_Test -
class LoopUtils_nestedLoopSharedLatchEstimatedTripCount_Test -
class LoopUtils_zeroEstimatedTripCount_Test -
class LowerTypeTests_BitSetBuilder_Test -
class LowerTypeTests_ByteArrayBuilder_Test -
class LowerTypeTests_GlobalLayoutBuilder_Test -
class MCCOFFSectionNumberTargetExpr -
class MCCOFFSectionOffsetTargetExpr -
class MCDisassembler_XCOFFSymbolPriorityTest_Test -
class MCInstPrinterTest_formatHex_Test -
class MCJITCAPITest_addGlobalMapping_Test -
class MCJITCAPITest_custom_memory_manager_Test -
class MCJITCAPITest_gfa_Test -
class MCJITCAPITest_gva_Test -
class MCJITCAPITest_reserve_allocation_space_Test -
class MCJITCAPITest_simple_function_Test -
class MCJITCAPITest_stackmap_creates_compact_unwind_on_darwin_Test -
class MCJITCAPITest_yield_Test -
class MPBuildAttr_testBuildAttr_Test -
class MSFBuilderTest_BuildMsfLayout_Test -
class MSFBuilderTest_DirectoryBlockHintInsufficient_Test -
class MSFBuilderTest_DirectoryBlockHintOverestimated_Test -
class MSFBuilderTest_StreamDoesntUseFpmBlocks_Test -
class MSFBuilderTest_TestAddStreamNoDirectoryBlockIncrease_Test -
class MSFBuilderTest_TestAddStreamWithDirectoryBlockIncrease_Test -
class MSFBuilderTest_TestBlockCountsWhenAddingStreams_Test -
class MSFBuilderTest_TestGrowStreamNoBlockIncrease_Test -
class MSFBuilderTest_TestGrowStreamWithBlockIncrease_Test -
class MSFBuilderTest_TestRejectReusedStreamBlock_Test -
class MSFBuilderTest_TestShrinkStreamNoBlockDecrease_Test -
class MSFBuilderTest_TestShrinkStreamWithBlockDecrease_Test -
class MSFBuilderTest_TestUsedBlocksMarkedAsUsed_Test -
class MSFBuilderTest_UseDirectoryBlockHint_Test -
class MSFBuilderTest_ValidateSuperBlockAccept_Test -
class MSFBuilderTest_ValidateSuperBlockReject_Test -
class MSFCommonTest_BytesToBlocks_Test -
class MSFCommonTest_FpmIntervals_Test -
class MSFCommonTest_FpmStreamLayout_Test -
class MVEBuildAttr_testBuildAttr_Test -
class MachODumper -
class MachOElement -
class MachOLinkGraphTest_GetStandardSections_Test -
class MachOPlatformTests_BuildVersionOptsFromTriple_Test -
class MachOTest_CPUSubTypePtrAuthABI_Test -
class MachOTest_CPUSubType_Test -
class MachOTest_CPUType_Test -
class MachOTest_UnalignedLC_Test -
class MachineDomTreeUpdaterTest -
class MachineDomTreeUpdaterTest_EagerUpdateBasicOperations_Test -
class MachineDomTreeUpdaterTest_LazyUpdateBasicOperations_Test -
class MachineIRBuilderDeathTest_BuildMergeValues_Test -
class MachineMetadataTest -
class MachineMetadataTest_BasicHook_Test -
class MachineMetadataTest_MMSlotTrackerAArch64_Test -
class MachineMetadataTest_MMSlotTrackerAMDGPU_Test -
class MachineMetadataTest_MMSlotTrackerX64_Test -
class MachineMetadataTest_NoTiedOpsRewritten_Test -
class MachineMetadataTest_TiedOpsRewritten_Test -
class MachineMetadataTest_TrivialHook_Test -
class MachineMetadataTest_isMetaInstruction_Test -
class MachineStableHashTest -
class MachineStableHashTest_ContentName_Test -
class MachineStableHashTest_StableGlobalName_Test -
class MagicTest -
class MagicTest_Magic_Test -
class Map -
class MappedStringSeq3 -
class MappingContext -
class MarkerStyle -
class MarshallingInfo -
class MatchDataDef -
class MatchSelectPatternTest_DoubleCastBad_Test -
class MatchSelectPatternTest_DoubleCastS_Test -
class MatchSelectPatternTest_DoubleCastU_Test -
class MatchSelectPatternTest_FMaxMismatchConstantZero1_Test -
class MatchSelectPatternTest_FMaxMismatchConstantZero2_Test -
class MatchSelectPatternTest_FMaxMismatchConstantZero3_Test -
class MatchSelectPatternTest_FMaxMismatchConstantZero4_Test -
class MatchSelectPatternTest_FMaxMismatchConstantZero5_Test -
class MatchSelectPatternTest_FMaxMismatchConstantZero6_Test -
class MatchSelectPatternTest_FMaxMismatchConstantZero7_Test -
class MatchSelectPatternTest_FMaxMismatchConstantZero8_Test -
class MatchSelectPatternTest_FMaxMismatchConstantZeroVecUndef_Test -
class MatchSelectPatternTest_FMinConstantZeroNsz_Test -
class MatchSelectPatternTest_FMinConstantZero_Test -
class MatchSelectPatternTest_FMinMismatchConstantZero1_Test -
class MatchSelectPatternTest_FMinMismatchConstantZero2_Test -
class MatchSelectPatternTest_FMinMismatchConstantZero3_Test -
class MatchSelectPatternTest_FMinMismatchConstantZero4_Test -
class MatchSelectPatternTest_FMinMismatchConstantZero5_Test -
class MatchSelectPatternTest_FMinMismatchConstantZero6_Test -
class MatchSelectPatternTest_FMinMismatchConstantZero7_Test -
class MatchSelectPatternTest_FMinMismatchConstantZero8_Test -
class MatchSelectPatternTest_FMinMismatchConstantZeroVecUndef_Test -
class MatchSelectPatternTest_FastFMinUnordered_Test -
class MatchSelectPatternTest_FastFMin_Test -
class MatchSelectPatternTest_NotNotEq_Test -
class MatchSelectPatternTest_NotNotNe_Test -
class MatchSelectPatternTest_NotNotSMaxSwap_Test -
class MatchSelectPatternTest_NotNotSMax_Test -
class MatchSelectPatternTest_NotNotSMinSwap_Test -
class MatchSelectPatternTest_NotNotSMin_Test -
class MatchSelectPatternTest_NotNotUMaxSwap_Test -
class MatchSelectPatternTest_NotNotUMax_Test -
class MatchSelectPatternTest_NotNotUMinSwap_Test -
class MatchSelectPatternTest_NotNotUMin_Test -
class MatchSelectPatternTest_SimpleFMax_Test -
class MatchSelectPatternTest_SimpleFMin_Test -
class MatchSelectPatternTest_SwappedFMax2_Test -
class MatchSelectPatternTest_SwappedFMax3_Test -
class MatchSelectPatternTest_SwappedFMax_Test -
class MatchSelectPatternTest_VectorFMinOtherOrdered_Test -
class MatchSelectPatternTest_VectorFMinimum_Test -
class MatchSelectPatternTest_VectorNotFMinZero_Test -
class MatchSelectPatternTest_VectorNotFMinimum_Test -
class MatchedEntry -
class MemIntrinsicPlugin -
class MemProtTest_Basics_Test -
class MembersBuilder -
class MembersData -
class MemoryManagerErrorTest_ErrorOnFirstAllocate_Test -
class MemorySSATest -
class MemorySSATest_CreateALoadUpdater_Test -
class MemorySSATest_CreateALoad_Test -
class MemorySSATest_CreateLoadsAndStoreUpdater_Test -
class MemorySSATest_DefOptimizationsAreInvalidatedOnMoving_Test -
class MemorySSATest_Irreducible_Test -
class MemorySSATest_LifetimeMarkersAreClobbers_Test -
class MemorySSATest_MoveAStoreAllAround_Test -
class MemorySSATest_MoveAStoreUpdaterMove_Test -
class MemorySSATest_MoveAStoreUpdater_Test -
class MemorySSATest_MoveAStore_Test -
class MemorySSATest_MoveAboveMemoryDef_Test -
class MemorySSATest_MoveToBeforeLiveOnEntryInvalidatesCache_Test -
class MemorySSATest_PartialWalkerCacheWithPhis_Test -
class MemorySSATest_RemoveAPhi_Test -
class MemorySSATest_RemoveMemoryAccess_Test -
class MemorySSATest_RemovingDefInvalidatesCache_Test -
class MemorySSATest_SinkLoad_Test -
class MemorySSATest_TestAddedEdgeToBlockWithNoPhiAddNewPhis_Test -
class MemorySSATest_TestAddedEdgeToBlockWithPhiNotOpt_Test -
class MemorySSATest_TestAddedEdgeToBlockWithPhiOpt_Test -
class MemorySSATest_TestCallClobber_Test -
class MemorySSATest_TestInvariantGroup_Test -
class MemorySSATest_TestLoadClobber_Test -
class MemorySSATest_TestLoopInvariantEntryBlockPointer_Test -
class MemorySSATest_TestNoDbgInsts_Test -
class MemorySSATest_TestOptimizedDefsAreProperUses_Test -
class MemorySSATest_TestStoreAndLoad_Test -
class MemorySSATest_TestStoreDoubleQuery_Test -
class MemorySSATest_TestStoreMayAlias_Test -
class MemorySSATest_TestStoreMustAlias_Test -
class MemorySSATest_TestTripleStore_Test -
class MemorySSATest_TestVisitedBlocks_Test -
class MemorySSATest_WalkerInvariantLoadOpt_Test -
class MemorySSATest_WalkerReopt_Test -
class MinidumpFile_BasicInterface_Test -
class MinidumpFile_IngoresDummyStreams_Test -
class MinidumpFile_create_ErrorCases_Test -
class MinidumpFile_getExceptionStreams_Test -
class MinidumpFile_getMemoryInfoList_Test -
class MinidumpFile_getMemoryList_Test -
class MinidumpFile_getModuleList_Test -
class MinidumpFile_getString_Test -
class MinidumpFile_getSystemInfo_Test -
class MinidumpFile_getThreadList_Test -
class MinidumpYAML_Basic_Test -
class MinidumpYAML_ExceptionStream_ExtraParameter_Test -
class MinidumpYAML_ExceptionStream_MultipleExceptions_Test -
class MinidumpYAML_ExceptionStream_NoParameters_Test -
class MinidumpYAML_ExceptionStream_Test -
class MinidumpYAML_ExceptionStream_TooManyParameters_Test -
class MinidumpYAML_MemoryRegion_64bit_Test -
class MinidumpYAML_OtherSystemInfo_Test -
class MinidumpYAML_RawContent_Test -
class MinidumpYAML_X86SystemInfo_Test -
class MockJITLinkContext -
class MockJITLinkMemoryManager -
class ModRMDecision -
class ModuleImportsManager -
class ModuleUtilsTest -
class ModuleUtilsTest_AppendToArray_Test -
class ModuleUtilsTest_AppendToMissingArray_Test -
class ModuleUtilsTest_UpdateArray_Test -
class ModuleUtils_AppendToUsedList1_Test -
class ModuleUtils_AppendToUsedList2_Test -
class MsgPackDocument_DocNodeTest_Test -
class MsgPackDocument_TestInputYAMLArray_Test -
class MsgPackDocument_TestInputYAMLMap_Test -
class MsgPackDocument_TestOutputYAMLArray_Test -
class MsgPackDocument_TestOutputYAMLMapHex_Test -
class MsgPackDocument_TestOutputYAMLMapWithErase_Test -
class MsgPackDocument_TestOutputYAMLMap_Test -
class MsgPackDocument_TestReadAppendArray_Test -
class MsgPackDocument_TestReadBinary_Test -
class MsgPackDocument_TestReadBoolean_Test -
class MsgPackDocument_TestReadFloat_Test -
class MsgPackDocument_TestReadInt_Test -
class MsgPackDocument_TestReadMergeArray_Test -
class MsgPackDocument_TestReadMergeMap_Test -
class MsgPackDocument_TestReadUInt_Test -
class MsgPackDocument_TestWriteArray_Test -
class MsgPackDocument_TestWriteBinary_Test -
class MsgPackDocument_TestWriteBoolean_Test -
class MsgPackDocument_TestWriteFloat_Test -
class MsgPackDocument_TestWriteInt_Test -
class MsgPackDocument_TestWriteMap_Test -
class MsgPackDocument_TestWriteUInt_Test -
class MsgPackDocument_TestYAMLBoolean_Test -
class MsgPackReader -
class MsgPackReader_TestReadArray16Max_Test -
class MsgPackReader_TestReadArray16One_Test -
class MsgPackReader_TestReadArray16Zero_Test -
class MsgPackReader_TestReadArray32Max_Test -
class MsgPackReader_TestReadArray32One_Test -
class MsgPackReader_TestReadArray32Zero_Test -
class MsgPackReader_TestReadBin16Max_Test -
class MsgPackReader_TestReadBin16One_Test -
class MsgPackReader_TestReadBin16Zero_Test -
class MsgPackReader_TestReadBin32Max_Test -
class MsgPackReader_TestReadBin32One_Test -
class MsgPackReader_TestReadBin32Zero_Test -
class MsgPackReader_TestReadBin8Max_Test -
class MsgPackReader_TestReadBin8One_Test -
class MsgPackReader_TestReadBin8Zero_Test -
class MsgPackReader_TestReadBoolFalse_Test -
class MsgPackReader_TestReadBoolTrue_Test -
class MsgPackReader_TestReadExt16Max_Test -
class MsgPackReader_TestReadExt16Min_Test -
class MsgPackReader_TestReadExt32Min_Test -
class MsgPackReader_TestReadExt8Max_Test -
class MsgPackReader_TestReadExt8Min_Test -
class MsgPackReader_TestReadFixArrayMax_Test -
class MsgPackReader_TestReadFixArrayOne_Test -
class MsgPackReader_TestReadFixArrayZero_Test -
class MsgPackReader_TestReadFixExt16_Test -
class MsgPackReader_TestReadFixExt1_Test -
class MsgPackReader_TestReadFixExt2_Test -
class MsgPackReader_TestReadFixExt4_Test -
class MsgPackReader_TestReadFixExt8_Test -
class MsgPackReader_TestReadFixMapMax_Test -
class MsgPackReader_TestReadFixMapOne_Test -
class MsgPackReader_TestReadFixMapZero_Test -
class MsgPackReader_TestReadFixNegativeInt_Test -
class MsgPackReader_TestReadFixPositiveInt_Test -
class MsgPackReader_TestReadFixStrMax_Test -
class MsgPackReader_TestReadFixStrOne_Test -
class MsgPackReader_TestReadFixStrZero_Test -
class MsgPackReader_TestReadFloat32_Test -
class MsgPackReader_TestReadFloat64_Test -
class MsgPackReader_TestReadInt16Max_Test -
class MsgPackReader_TestReadInt16Min_Test -
class MsgPackReader_TestReadInt16Zero_Test -
class MsgPackReader_TestReadInt32Max_Test -
class MsgPackReader_TestReadInt32Min_Test -
class MsgPackReader_TestReadInt32Zero_Test -
class MsgPackReader_TestReadInt64Max_Test -
class MsgPackReader_TestReadInt64Min_Test -
class MsgPackReader_TestReadInt64Zero_Test -
class MsgPackReader_TestReadInt8Max_Test -
class MsgPackReader_TestReadInt8Min_Test -
class MsgPackReader_TestReadInt8Zero_Test -
class MsgPackReader_TestReadMap16Max_Test -
class MsgPackReader_TestReadMap16One_Test -
class MsgPackReader_TestReadMap16Zero_Test -
class MsgPackReader_TestReadMap32Max_Test -
class MsgPackReader_TestReadMap32One_Test -
class MsgPackReader_TestReadMap32Zero_Test -
class MsgPackReader_TestReadMultiple_Test -
class MsgPackReader_TestReadNil_Test -
class MsgPackReader_TestReadStr16Max_Test -
class MsgPackReader_TestReadStr16One_Test -
class MsgPackReader_TestReadStr16Zero_Test -
class MsgPackReader_TestReadStr32Max_Test -
class MsgPackReader_TestReadStr32One_Test -
class MsgPackReader_TestReadStr32Zero_Test -
class MsgPackReader_TestReadStr8Max_Test -
class MsgPackReader_TestReadStr8One_Test -
class MsgPackReader_TestReadStr8Zero_Test -
class MsgPackReader_TestReadUInt16Max_Test -
class MsgPackReader_TestReadUInt16One_Test -
class MsgPackReader_TestReadUInt16Zero_Test -
class MsgPackReader_TestReadUInt32Max_Test -
class MsgPackReader_TestReadUInt32One_Test -
class MsgPackReader_TestReadUInt32Zero_Test -
class MsgPackReader_TestReadUInt64Max_Test -
class MsgPackReader_TestReadUInt64One_Test -
class MsgPackReader_TestReadUInt64Zero_Test -
class MsgPackReader_TestReadUInt8Max_Test -
class MsgPackReader_TestReadUInt8One_Test -
class MsgPackReader_TestReadUInt8Zero_Test -
class MsgPackWriter -
class MsgPackWriter_TestWriteArray16Max_Test -
class MsgPackWriter_TestWriteArray16Min_Test -
class MsgPackWriter_TestWriteArray16_Test -
class MsgPackWriter_TestWriteArray32Max_Test -
class MsgPackWriter_TestWriteArray32Min_Test -
class MsgPackWriter_TestWriteArray32_Test -
class MsgPackWriter_TestWriteBin16Max_Test -
class MsgPackWriter_TestWriteBin16Min_Test -
class MsgPackWriter_TestWriteBin16_Test -
class MsgPackWriter_TestWriteBin32Min_Test -
class MsgPackWriter_TestWriteBin32_Test -
class MsgPackWriter_TestWriteBin8Max_Test -
class MsgPackWriter_TestWriteBin8Min_Test -
class MsgPackWriter_TestWriteBin8_Test -
class MsgPackWriter_TestWriteBool_Test -
class MsgPackWriter_TestWriteCompatibleNoBin_Test -
class MsgPackWriter_TestWriteCompatibleNoStr8_Test -
class MsgPackWriter_TestWriteExt16Max_Test -
class MsgPackWriter_TestWriteExt16Min_Test -
class MsgPackWriter_TestWriteExt16_Test -
class MsgPackWriter_TestWriteExt32Min_Test -
class MsgPackWriter_TestWriteExt8Max_Test -
class MsgPackWriter_TestWriteExt8Min_Test -
class MsgPackWriter_TestWriteExt8_Test -
class MsgPackWriter_TestWriteFixArrayMax_Test -
class MsgPackWriter_TestWriteFixArrayMin_Test -
class MsgPackWriter_TestWriteFixArray_Test -
class MsgPackWriter_TestWriteFixExt16_Test -
class MsgPackWriter_TestWriteFixExt1_Test -
class MsgPackWriter_TestWriteFixExt2_Test -
class MsgPackWriter_TestWriteFixExt4_Test -
class MsgPackWriter_TestWriteFixExt8_Test -
class MsgPackWriter_TestWriteFixMapMax_Test -
class MsgPackWriter_TestWriteFixMapMin_Test -
class MsgPackWriter_TestWriteFixMap_Test -
class MsgPackWriter_TestWriteFixNegativeInt_Test -
class MsgPackWriter_TestWriteFixPositiveInt_Test -
class MsgPackWriter_TestWriteFixStrMax_Test -
class MsgPackWriter_TestWriteFixStrMin_Test -
class MsgPackWriter_TestWriteFixStr_Test -
class MsgPackWriter_TestWriteFloat32_Test -
class MsgPackWriter_TestWriteFloat64_Test -
class MsgPackWriter_TestWriteInt16Max_Test -
class MsgPackWriter_TestWriteInt16Min_Test -
class MsgPackWriter_TestWriteInt16_Test -
class MsgPackWriter_TestWriteInt32Max_Test -
class MsgPackWriter_TestWriteInt32Min_Test -
class MsgPackWriter_TestWriteInt32_Test -
class MsgPackWriter_TestWriteInt64Max_Test -
class MsgPackWriter_TestWriteInt64Min_Test -
class MsgPackWriter_TestWriteInt64_Test -
class MsgPackWriter_TestWriteInt8Max_Test -
class MsgPackWriter_TestWriteInt8Min_Test -
class MsgPackWriter_TestWriteInt8_Test -
class MsgPackWriter_TestWriteMap16Max_Test -
class MsgPackWriter_TestWriteMap16Min_Test -
class MsgPackWriter_TestWriteMap16_Test -
class MsgPackWriter_TestWriteMap32Max_Test -
class MsgPackWriter_TestWriteMap32Min_Test -
class MsgPackWriter_TestWriteMap32_Test -
class MsgPackWriter_TestWriteNil_Test -
class MsgPackWriter_TestWriteStr16Max_Test -
class MsgPackWriter_TestWriteStr16Min_Test -
class MsgPackWriter_TestWriteStr16_Test -
class MsgPackWriter_TestWriteStr32Min_Test -
class MsgPackWriter_TestWriteStr32_Test -
class MsgPackWriter_TestWriteStr8Max_Test -
class MsgPackWriter_TestWriteStr8Min_Test -
class MsgPackWriter_TestWriteStr8_Test -
class MsgPackWriter_TestWriteUInt16Max_Test -
class MsgPackWriter_TestWriteUInt16Min_Test -
class MsgPackWriter_TestWriteUInt16_Test -
class MsgPackWriter_TestWriteUInt32Max_Test -
class MsgPackWriter_TestWriteUInt32Min_Test -
class MsgPackWriter_TestWriteUInt32_Test -
class MsgPackWriter_TestWriteUInt64Max_Test -
class MsgPackWriter_TestWriteUInt64Min_Test -
class MsgPackWriter_TestWriteUInt64_Test -
class MsgPackWriter_TestWriteUInt8Max_Test -
class MsgPackWriter_TestWriteUInt8Min_Test -
class MsgPackWriter_TestWriteUInt8_Test -
class MultilineStringType -
class MultilineStringTypeMap -
class MustacheComments_IndentedInline_Test -
class MustacheComments_IndentedMultilineStandalone_Test -
class MustacheComments_IndentedStandalone_Test -
class MustacheComments_Inline_Test -
class MustacheComments_MultilineStandalone_Test -
class MustacheComments_Multiline_Test -
class MustacheComments_StandaloneLineEndings_Test -
class MustacheComments_StandaloneWithoutNewline_Test -
class MustacheComments_StandaloneWithoutPreviousLine_Test -
class MustacheComments_Standalone_Test -
class MustacheComments_SurroundingWhitespace_Test -
class MustacheComments_VariableNameCollision_Test -
class MustacheDelimiters_IndentedStandaloneTag_Test -
class MustacheDelimiters_InvertedSections_Test -
class MustacheDelimiters_OutlyingWhitespaceInline_Test -
class MustacheDelimiters_PairBehavior_Test -
class MustacheDelimiters_PairwithPadding_Test -
class MustacheDelimiters_PartialInheritence_Test -
class MustacheDelimiters_PostPartialBehavior_Test -
class MustacheDelimiters_Sections_Test -
class MustacheDelimiters_SpecialCharacters_Test -
class MustacheDelimiters_StandaloneLineEndings_Test -
class MustacheDelimiters_StandaloneTag_Test -
class MustacheDelimiters_StandaloneWithoutNewline_Test -
class MustacheDelimiters_StandaloneWithoutPreviousLine_Test -
class MustacheDelimiters_SurroundingWhitespace_Test -
class MustacheInterpolation_AmersandSurroundingWhitespace_Test -
class MustacheInterpolation_AmpersandIntegerInterpolation_Test -
class MustacheInterpolation_AmpersandNullInterpolation_Test -
class MustacheInterpolation_AmpersandWithPadding_Test -
class MustacheInterpolation_Ampersand_Test -
class MustacheInterpolation_BasicContextMissInterpolation_Test -
class MustacheInterpolation_BasicDecimalInterpolation_Test -
class MustacheInterpolation_BasicIntegerInterpolation_Test -
class MustacheInterpolation_BasicInterpolation_Test -
class MustacheInterpolation_BasicNullInterpolation_Test -
class MustacheInterpolation_DottedNamesAmpersandInterpolation_Test -
class MustacheInterpolation_DottedNamesArbitraryDepth_Test -
class MustacheInterpolation_DottedNamesAreNotSingleKeys_Test -
class MustacheInterpolation_DottedNamesBasicInterpolation_Test -
class MustacheInterpolation_DottedNamesBrokenChainResolution_Test -
class MustacheInterpolation_DottedNamesBrokenChains_Test -
class MustacheInterpolation_DottedNamesContextPrecedence_Test -
class MustacheInterpolation_DottedNamesInitialResolution_Test -
class MustacheInterpolation_DottedNamesNoMasking_Test -
class MustacheInterpolation_DoubleRendering_Test -
class MustacheInterpolation_HTMLEscaping_Test -
class MustacheInterpolation_ImplicitIteratorsAmersand_Test -
class MustacheInterpolation_ImplicitIteratorsBasicInterpolation_Test -
class MustacheInterpolation_ImplicitIteratorsInteger_Test -
class MustacheInterpolation_InterpolationSurroundingWhitespace_Test -
class MustacheInterpolation_InterpolationWithPaddingAndNewlines_Test -
class MustacheInterpolation_InterpolationWithPadding_Test -
class MustacheInterpolation_IsFalseyArray_Test -
class MustacheInterpolation_IsFalseyNull_Test -
class MustacheInterpolation_IsFalseyObject_Test -
class MustacheInterpolation_NoInterpolation_Test -
class MustacheInterpolation_NoReinterpolation_Test -
class MustacheInterpolation_StandaloneAmpersandWithWhitespace_Test -
class MustacheInterpolation_StandaloneInterpolationWithWhitespace_Test -
class MustacheInvertedSections_ContextMisses_Test -
class MustacheInvertedSections_Context_Test -
class MustacheInvertedSections_DottedNamesBrokenChains_Test -
class MustacheInvertedSections_DottedNamesFalsey_Test -
class MustacheInvertedSections_DottedNamesTruthy_Test -
class MustacheInvertedSections_Doubled_Test -
class MustacheInvertedSections_EmptyList_Test -
class MustacheInvertedSections_Falsey_Test -
class MustacheInvertedSections_IndentedInlineSections_Test -
class MustacheInvertedSections_InternalWhitespace_Test -
class MustacheInvertedSections_List_Test -
class MustacheInvertedSections_NestedFalsey_Test -
class MustacheInvertedSections_NestedTruthy_Test -
class MustacheInvertedSections_NullIsFalsey_Test -
class MustacheInvertedSections_Padding_Test -
class MustacheInvertedSections_StandaloneIndentedLines_Test -
class MustacheInvertedSections_StandaloneLineEndings_Test -
class MustacheInvertedSections_StandaloneLines_Test -
class MustacheInvertedSections_StandaloneWithoutNewline_Test -
class MustacheInvertedSections_StandaloneWithoutPreviousLine_Test -
class MustacheInvertedSections_SurroundingWhitespace_Test -
class MustacheInvertedSections_Truthy_Test -
class MustacheLambdas_BasicInterpolation_Test -
class MustacheLambdas_BasicMultipleCalls_Test -
class MustacheLambdas_Escaping_Test -
class MustacheLambdas_InterpolationExpansion_Test -
class MustacheLambdas_InvertedSections_Test -
class MustacheLambdas_SectionExpansion_Test -
class MustacheLambdas_SectionsMultipleCalls_Test -
class MustacheLambdas_Sections_Test -
class MustachePartials_BasicBehavior_Test -
class MustachePartials_Context_Test -
class MustachePartials_FailedLookup_Test -
class MustachePartials_InlineIndentation_Test -
class MustachePartials_Nested_Test -
class MustachePartials_PaddingWhitespace_Test -
class MustachePartials_Recursion_Test -
class MustachePartials_StandaloneIndentation_Test -
class MustachePartials_SurroundingWhitespace_Test -
class MustacheSections_ContextMisses_Test -
class MustacheSections_Context_Test -
class MustacheSections_DeeplyNestedContexts_Test -
class MustacheSections_DottedNamesBrokenChains_Test -
class MustacheSections_DottedNamesFalsey_Test -
class MustacheSections_DottedNamesTruthy_Test -
class MustacheSections_Doubled_Test -
class MustacheSections_EmptyList_Test -
class MustacheSections_Falsey_Test -
class MustacheSections_ImplicitIteratorAmpersand_Test -
class MustacheSections_ImplicitIteratorArray_Test -
class MustacheSections_ImplicitIteratorHTMLEscaping_Test -
class MustacheSections_ImplicitIteratorInteger_Test -
class MustacheSections_ImplicitIteratorRootLevel_Test -
class MustacheSections_ImplicitIteratorString_Test -
class MustacheSections_IndentedInlineSections_Test -
class MustacheSections_IndentedStandaloneLines_Test -
class MustacheSections_InternalWhitespace_Test -
class MustacheSections_ListContexts_Test -
class MustacheSections_List_Test -
class MustacheSections_NestedFalsey_Test -
class MustacheSections_NestedTruthy_Test -
class MustacheSections_NullIsFalsey_Test -
class MustacheSections_Padding_Test -
class MustacheSections_ParentContexts_Test -
class MustacheSections_StandaloneLineEndings_Test -
class MustacheSections_StandaloneLines_Test -
class MustacheSections_StandaloneWithoutNewline_Test -
class MustacheSections_StandaloneWithoutPreviousLine_Test -
class MustacheSections_SurroundingWhitespace_Test -
class MustacheSections_Truthy_Test -
class MustacheSections_VariableTest_Test -
class MustacheTripleMustache_Basic_Test -
class MustacheTripleMustache_ContextMissInterpolation_Test -
class MustacheTripleMustache_DecimalInterpolation_Test -
class MustacheTripleMustache_DottedNames_Test -
class MustacheTripleMustache_ImplicitIterator_Test -
class MustacheTripleMustache_IntegerInterpolation_Test -
class MustacheTripleMustache_NullInterpolation_Test -
class MustacheTripleMustache_Standalone_Test -
class MustacheTripleMustache_SurroundingWhitespace_Test -
class MustacheTripleMustache_WithPadding_Test -
class MutableHalfWords -
class MutableWord -
class MyCustomType -
class MyCustomTypeMap -
class MyDouble -
class MyNumber -
class MyObjectCache -
class MyOptimizationTransform -
class MyPlugin -
class MyString -
class MyValidation -
class NameAndNumbers -
class NameAndNumbersFlow -
class NativeSessionTest_TestAddressForRVA_Test -
class NativeSessionTest_TestAddressForVA_Test -
class NativeSessionTest_TestCreateFromExe_Test -
class NativeSessionTest_TestInvalidPdbMagicError_Test -
class NativeSessionTest_TestSetLoadAddress_Test -
class NativeSymbolReuseTest_CompilandSymbolReuseBackwards_Test -
class NativeSymbolReuseTest_CompilandSymbolReuse_Test -
class NativeSymbolReuseTest_GlobalSymbolReuse_Test -
class NestedMap -
class NewArchiveMemberList -
class NewPMCheckDebugifyPass -
class NewPMDebugifyPass -
class NoAutoPaddingScope -
class NoInferenceModelRunner_AccessTensors_Test -
class NodeList -
class NoteTestData -
class NumberExprAST -
class ObjectYAML_BinaryRef_Test -
class ObjectYAML_UnknownOption_Test -
class Object_ContentIterator_Test -
class Object_DataRefImplOstream_Test -
class Object_SymbolSizeSort_Test -
class OffloadingBundleTest_checkExtractCodeObject_Test -
class OffloadingBundleTest_checkExtractOffloadBundleFatBinary_Test -
class OffloadingTest_checkOffloadingBinary_Test -
class OffsetResult -
class OnDiskCASTest -
class OnDiskCASTest_OnDiskCASBlobsBigParallelMultiCAS_Test -
class OnDiskCASTest_OnDiskCASBlobsParallelMultiCAS_Test -
class OnDiskCASTest_OnDiskCASDiskSize_Test -
class OnDiskCASTest_OnDiskGraphDBFaultInFullTree_Test -
class OnDiskCASTest_OnDiskGraphDBFaultInPolicyConflict_Test -
class OnDiskCASTest_OnDiskGraphDBFaultInSingleNode_Test -
class OnDiskCASTest_OnDiskGraphDBTest_Test -
class OnDiskCASTest_OnDiskKeyValueDBTest_Test -
class OnDiskCASTest_UnifiedCASMaterializationCheckPreventsGarbageCollection_Test -
class OnDiskCASTest_UnifiedOnDiskCacheTest_Test -
class OnDiskDataAllocatorTest_Allocate_Test -
class OpcodeDecision -
class OpenMPDirectiveNames_DirectiveKind52_Test -
class OpenMPDirectiveNames_DirectiveKind60_Test -
class Operator -
class OperatorTest -
class OperatorTest_FPMathOperator_Test -
class OperatorTest_Operator_Test -
class OperatorTest_OverflowingBinaryOperator_Test -
class OptTableTest -
class OptTableTest_AliasArgs_Test -
class OptTableTest_DoNotIgnoreCase_Test -
class OptTableTest_FindNearest_Test -
class OptTableTest_FlagAliasToJoined_Test -
class OptTableTest_FlagsWithoutValues_Test -
class OptTableTest_IgnoreCase_Test -
class OptTableTest_InputArgListSelfAssign_Test -
class OptTableTest_OptionParsing_Test -
class OptTableTest_ParseAliasInGroup_Test -
class OptTableTest_ParseDashDash_Test -
class OptTableTest_ParseGroupedShortOptions_Test -
class OptTableTest_ParseWithFlagExclusions_Test -
class OptTableTest_ParseWithVisibility_Test -
class OptTableTest_PrintMultilineHelpText_Test -
class OptTableTest_SlurpEmpty_Test -
class OptTableTest_SlurpJoinedAndSeparate_Test -
class OptTableTest_SlurpJoinedButSeparate_Test -
class OptTableTest_SlurpJoinedEmpty_Test -
class OptTableTest_SlurpJoinedOneJoined_Test -
class OptTableTest_Slurp_Test -
class OptTableTest_UnknownGroupedShortOptions_Test -
class OptTableTest_UnknownOptions_Test -
class OptimizedStructLayoutTest_Basic_Test -
class OptimizedStructLayoutTest_Gaps_Test -
class OptimizedStructLayoutTest_GardenPath_Test -
class OptimizedStructLayoutTest_Greed_Test -
class OptimizedStructLayoutTest_HighAlignment_Test -
class OptimizedStructLayoutTest_Jagged_Test -
class OptimizedStructLayoutTest_OddSize_Test -
class OptionMarshalling_EmittedOrderSameAsDefinitionOrder_Test -
class OptionMarshalling_EmittedSpecifiedKeyPath_Test -
class OptionMarshalling_ImpliedCheckContainsDisjunctionOfKeypaths_Test -
class OptionWithMarshallingInfo -
class OptionalTest -
class OptionalTestSeq -
class OrcCAPITestBase -
class OrcCAPITestBase_AddObjectBuffer_Test -
class OrcCAPITestBase_DefinitionGenerators_Test -
class OrcCAPITestBase_EnableDebugSupport_Test -
class OrcCAPITestBase_ExecutionSessionLookup_Failure_Test -
class OrcCAPITestBase_ExecutionSessionLookup_Success_Test -
class OrcCAPITestBase_ExecutionTest_Test -
class OrcCAPITestBase_JITDylibLookup_Test -
class OrcCAPITestBase_MaterializationResponsibility_Test -
class OrcCAPITestBase_MaterializationUnitCreation_Test -
class OrcCAPITestBase_ResourceTrackerDefinitionLifetime_Test -
class OrcCAPITestBase_ResourceTrackerTransfer_Test -
class OrcCAPITestBase_SuspendedLookup_Test -
class OrcCAPITestBase_SymbolStringPoolUniquing_Test -
class OrderedExtensionMap_ExtensionsAreCorrectlyOrdered_Test -
class OutlinableGroup -
class OutputBufferTest_Extend_Test -
class OutputBufferTest_Format_Test -
class OutputBufferTest_Insert_Test -
class OutputBufferTest_Notifications_Test -
class OutputBufferTest_Prepend_Test -
class OverlayFileSystemTest_Exists_Test -
class OverlayFileSystemTest_PrintOutput_Test -
class PCS_ConfigBuildAttr_testBuildAttr_Test -
class PCS_GOTBuildAttr_testBuildAttr_Test -
class PCS_R9BuildAttr_testBuildAttr_Test -
class PCS_ROBuildAttr_testBuildAttr_Test -
class PCS_RWBuildAttr_testBuildAttr_Test -
class PCS_WCharBuildAttr_testBuildAttr_Test -
class PDBVariantIntegerTest_ToAPSInt_Test -
class PGOCtxProfRWTest -
class PGOCtxProfRWTest_CountersAllZeroWithOverride_Test -
class PGOCtxProfRWTest_CountersAllZero_Test -
class PGOCtxProfRWTest_DuplicateRoots_Test -
class PGOCtxProfRWTest_DuplicateTargets_Test -
class PGOCtxProfRWTest_Empty_Test -
class PGOCtxProfRWTest_InvalidCounters_Test -
class PGOCtxProfRWTest_Invalid_Test -
class PGOCtxProfRWTest_RoundTrip_Test -
class PGOCtxProfRWTest_ValidButEmpty_Test -
class PGOCtxProfRWTest_WrongVersion_Test -
class Parallel_ForEachError_Test -
class Parallel_NestedTaskGroup_Test -
class Parallel_ParallelNestedTaskGroup_Test -
class Parallel_TransformReduce_Test -
class Parallel_parallel_for_Test -
class Parallel_sort_Test -
class ParseArchSTring_AcceptsProfileNamesWithSeparatedAdditionalExtensions_Test -
class ParseArchString_AcceptsAmbiguousFromRelaxExtensions_Test -
class ParseArchString_AcceptsBareProfileNames_Test -
class ParseArchString_AcceptsExperimentalExtensionsIfEnableExperimentalExtension_Test -
class ParseArchString_AcceptsRelaxMixedLetterExtensions_Test -
class ParseArchString_AcceptsRelaxSingleLetterExtensions_Test -
class ParseArchString_AcceptsSupportedBaseISAsAndSetsXLenAndFLen_Test -
class ParseArchString_AcceptsUnderscoreSplittingExtensions_Test -
class ParseArchString_AcceptsUnrecognizedVersionIfNotExperimentalExtensionVersionCheck_Test -
class ParseArchString_AcceptsVersionInLongOrShortForm_Test -
class ParseArchString_AddsImpliedExtensions_Test -
class ParseArchString_MissingDepency_Test -
class ParseArchString_RejectsConflictingExtensions_Test -
class ParseArchString_RejectsDoubleOrTrailingUnderscore_Test -
class ParseArchString_RejectsDuplicateExtensionNames_Test -
class ParseArchString_RejectsExperimentalExtensionsIfNotEnableExperimentalExtension_Test -
class ParseArchString_RejectsExperimentalProfilesIfEnableExperimentalExtensionsNotSet_Test -
class ParseArchString_RejectsExtensionVersionForG_Test -
class ParseArchString_RejectsInvalidBaseISA_Test -
class ParseArchString_RejectsInvalidChars_Test -
class ParseArchString_RejectsMultiLetterExtensionFollowBySingleLetterExtensions_Test -
class ParseArchString_RejectsProfilesWithAdditionalExtensionsGivenAlreadyInProfile_Test -
class ParseArchString_RejectsProfilesWithUnseparatedExtraExtensions_Test -
class ParseArchString_RejectsRelaxExtensionsNotStartWithEorIorG_Test -
class ParseArchString_RejectsUnrecognizedExtensionNamesByDefault_Test -
class ParseArchString_RejectsUnrecognizedExtensionVersionsByDefault_Test -
class ParseArchString_RejectsUnrecognizedProfileNames_Test -
class ParseArchString_RejectsUnrecognizedVersionForExperimentalExtension_Test -
class ParseArchString_RejectsUnsupportedBaseISA_Test -
class ParseArchString_RequiresExplicitVersionNumberForExperimentalExtensionByDefault_Test -
class ParseArchString_ZcaImpliesC_Test -
class ParseArchString_ZceImplication_Test -
class ParseInvalid -
class ParseInvalid_T_Test -
class ParseNormalizedArchString_AcceptsArbitraryExtensionsAndVersions_Test -
class ParseNormalizedArchString_AcceptsUnknownMultiletter_Test -
class ParseNormalizedArchString_AcceptsValidBaseISAsAndSetsXLen_Test -
class ParseNormalizedArchString_DuplicateExtension_Test -
class ParseNormalizedArchString_RejectsBadS_Test -
class ParseNormalizedArchString_RejectsBadX_Test -
class ParseNormalizedArchString_RejectsBadZ_Test -
class ParseNormalizedArchString_RejectsInvalidBaseISA_Test -
class ParseNormalizedArchString_RejectsInvalidChars_Test -
class ParseNormalizedArchString_RejectsMalformedInputs_Test -
class ParseNormalizedArchString_RejectsOnlyVersion_Test -
class ParseNormalizedArchString_UpdatesFLenMinVLenMaxELen_Test -
class ParseValid -
class ParseValid_T_Test -
class Parser_SanityTest_Test -
class PartStore -
class PartialDemanglerTest_TestCtorOrDtor_Test -
class PartialDemanglerTest_TestMisc_Test -
class PartialDemanglerTest_TestNameChopping_Test -
class PartialDemanglerTest_TestNameMeta_Test -
class PartialDemanglerTest_TestPrintCases_Test -
class PassBuilderCTest -
class PassBuilderCTest_Basic_Test -
class PassBuilderCTest_Function_Test -
class PassBuilderCTest_InvalidPassIsError_Test -
class PassTest -
class PassTest_FunctionPassManager_Test -
class PassTest_FunctionPass_Test -
class PassTest_RegionPassManager_Test -
class PassTest_RegionPass_Test -
class PassTest_SetPassPipeline_Test -
class PerfState -
class PhiInfo -
class PhiValuesTest_DependentPhi_Test -
class PhiValuesTest_SimplePhi_Test -
class PluginsTests_LoadMultiplePlugins_Test -
class PluginsTests_LoadPlugin_Test -
class PointerBounds -
class Poly -
class Prefetch -
class PrefixMatcher -
class PreservedCFGCheckerAnalysis -
class PreservedFunctionHashAnalysis -
class PreservedModuleHashAnalysis -
class ProfDataUtils_NoWeights_Test -
class ProfDataUtils_extractWeights_Test -
class ProgramStackTest_runOnNewStack_Test -
class PropertySetRegistryTest_IllFormedJSON_Test -
class PropertySetRegistryTest_PropertySetRegistry_Test -
class PrototypeAST -
class ProxyContent -
class ProxyFileSystemTest_Basic_Test -
class PtrLikeInt -
class PublicsStreamTest_FindByAddress_Test -
class QuotedKeyStruct -
class RAGreedyPass -
class RAIIDiagnosticChecker -
class RISCVAttributeSection -
class RISCVExtBit -
class RISCVExtensionBitmask -
class RTDyldTimers -
class RandomAccessVisitorTest_AscendingWithinChunk_Test -
class RandomAccessVisitorTest_CrossChunkName_Test -
class RandomAccessVisitorTest_DescendingWithinChunk_Test -
class RandomAccessVisitorTest_InnerChunk_Test -
class RandomAccessVisitorTest_MultipleVisits_Test -
class RandomAccessVisitorTest_StopPrematurelyInChunk_Test -
class RawCompressedBundleHeader -
class ReOptimizeLayerTest -
class ReOptimizeLayerTest_BasicReOptimization_Test -
class ReachabilityQueryInfo -
class RecHeader -
class RecurrenceInfo -
class RedirectingFileSystemTest_ExistsFallback_Test -
class RedirectingFileSystemTest_ExistsRedirectOnly_Test -
class RedirectingFileSystemTest_Exists_Test -
class RedirectingFileSystemTest_ExternalPaths_Test -
class RedirectingFileSystemTest_PrintOutput_Test -
class RedirectingFileSystemTest_Used_Test -
class RegexTest_NullStringInput_Test -
class RegionTest -
class RegionTest_AuxDeleteInstr_Test -
class RegionTest_AuxOnlyRoundTrip_Test -
class RegionTest_AuxRoundTrip_Test -
class RegionTest_AuxSameIndex_Test -
class RegionTest_AuxVerify_Test -
class RegionTest_AuxWithoutRegion_Test -
class RegionTest_Aux_Test -
class RegionTest_Basic_Test -
class RegionTest_CallbackUpdates_Test -
class RegionTest_DumpedMetadata_Test -
class RegionTest_MetadataFromIR_Test -
class RegionTest_MetadataRoundTrip_Test -
class RegionTest_NonContiguousRegion_Test -
class RegionTest_RegionCost_Test -
class ReleaseModeRunner_ExtraFeaturesOutOfOrder_Test -
class ReleaseModeRunner_ExtraFeatures_Test -
class ReleaseModeRunner_NormalUse_Test -
class ReleaseModelRunner_ModelSelectorNoInputFeaturePresent_Test -
class ReleaseModelRunner_ModelSelectorNoSelectorGiven_Test -
class ReleaseModelRunner_ModelSelector_Test -
class RemarkInfo -
class RemarksAPI_ArgsAsMsg_Test -
class RemarksAPI_Clone_Test -
class RemarksAPI_Comparison_Test -
class RemarksAPI_StringTableInternalize_Test -
class RemarksStrTab_ParsingEmpty_Test -
class RemarksStrTab_ParsingGood_Test -
class Remarks_LinkingError_Test -
class Remarks_LinkingGoodBitstream_Test -
class Remarks_LinkingGoodStrTab_Test -
class Remarks_LinkingGoodYAML_Test -
class RemoveLoadsIntoFakeUses -
class RemoveLoadsIntoFakeUsesLegacy -
class RemoveMask_match -
class RemoveSectionByPattern_COFF_Test -
class RemoveSectionByPattern_ELF_Test -
class RemoveSectionByPattern_MachO_Test -
class RemoveSectionByPattern_Wasm_Test -
class ReplaceWithVecLibTest_TestInvalidMapping_Test -
class ReplaceWithVecLibTest_TestValidMapping_Test -
class ReservoirSamplerTest_NoWeight_Test -
class ReservoirSamplerTest_OneItem_Test -
class ReservoirSamplerTest_Uniform_Test -
class ResourceSegmentsDeath_FullOverwrite_Test -
class ResourceSegmentsDeath_OverwriteOnLeft_Test -
class ResourceSegmentsDeath_OverwriteOnRight_Test -
class ResourceSegmentsDeath_ZeroSizeIntervalsNotAllowed_Test -
class ResourceSegmentsDeath_add_empty_Test -
class ResourceSegments_AddWithCutOff_Test -
class ResourceSegments_ConsecutiveLeftNoOverlap_Test -
class ResourceSegments_ConsecutiveLeftWithOverlap_Test -
class ResourceSegments_ConsecutiveRightNoOverlap_Test -
class ResourceSegments_ConsecutiveRightWithOverlap_Test -
class ResourceSegments_Disjoint_Test -
class ResourceSegments_SortAfterAdd_Test -
class ResourceSegments_add_01_Test -
class ResourceSegments_add_02_Test -
class ResourceSegments_getFirstAvailableAtFromBottom_01_Test -
class ResourceSegments_getFirstAvailableAtFromBottom_02_Test -
class ResourceSegments_getFirstAvailableAtFromBottom_02_shifted_Test -
class ResourceSegments_getFirstAvailableAtFromBottom_03_Test -
class ResourceSegments_getFirstAvailableAtFromBottom_03_shifted_Test -
class ResourceSegments_getFirstAvailableAtFromBottom_Test -
class ResourceSegments_getFirstAvailableAtFromBottom_empty_Test -
class ResourceSegments_getFirstAvailableAtFromTop_advanced_Test -
class ResourceSegments_getFirstAvailableAtFromTop_basic_Test -
class ResourceSegments_getFirstAvailableAtFromTop_oneCycle_Test -
class ResourceSegments_getFirstAvailableAtFromTop_twoCycles_Shifted_Test -
class ResourceSegments_getFirstAvailableAtFromTop_twoCycles_Shifted_withGap_Test -
class ResourceSegments_getFirstAvailableAtFromTop_twoCycles_Test -
class ResourceSegments_intersects_Test -
class ResourceSegments_merge_three_Test -
class ResourceSegments_merge_two_Test -
class ResourceSegments_sort_three_Test -
class ResourceSegments_sort_two_Test -
class ResourceTrackerStandardTest -
class ReverseIterationTest_DenseMapTest1_Test -
class ReverseIterationTest_DenseMapTest2_Test -
class RewritePhi -
class RiscvExtensionsHelp_CheckExtensions_Test -
class RootSignature_HeaderData_Test -
class RootSignature_ParseDescriptorTableV10_Test -
class RootSignature_ParseDescriptorTableV11_Test -
class RootSignature_ParseDescriptorTable_Test -
class RootSignature_ParseRootConstant_Test -
class RootSignature_ParseRootConstants_Test -
class RootSignature_ParseRootDescriptor_Test -
class RootSignature_ParseRootDescriptorsV10_Test -
class RootSignature_ParseRootDescriptorsV11_Test -
class RootSignature_ParseRootFlags_Test -
class RootSignature_ParseStaticSamplersV13_Test -
class RootSignature_ParseStaticSamplers_Test -
class RootSignature_RootParameters_Test -
class RustDemangle_Invalid_Test -
class RustDemangle_Success_Test -
class SDKNameMap -
class SIMDBuildAttr_testBuildAttr_Test -
class SSAUpdaterBulk_EliminateNewDuplicatePHINodes_ExistingRefNew_Test -
class SSAUpdaterBulk_EliminateNewDuplicatePHINodes_NewRefExisting_Test -
class SSAUpdaterBulk_EliminateNewDuplicatePHINodes_OrderExisting_Test -
class SSAUpdaterBulk_EliminateNewDuplicatePHINodes_OrderNew_Test -
class SSAUpdaterBulk_Irreducible_Test -
class SSAUpdaterBulk_SimpleMerge_Test -
class SSAUpdaterBulk_SimplifyPHIs_Test -
class SSAUpdaterBulk_SingleBBLoop_Test -
class SSAUpdaterBulk_TwoBBLoop_Test -
class SalvageDebugInfoTest -
class SalvageDebugInfoTest_RecursiveBlockSimplification_Test -
class SalvageDebugInfoTest_RecursiveInstDeletion_Test -
class SameSignRange -
class SandboxIRTest -
class SandboxIRTest_AddrSpaceCastInst_Test -
class SandboxIRTest_AllocaInst_Test -
class SandboxIRTest_AtomicCmpXchgInst_Test -
class SandboxIRTest_AtomicRMWInst_Test -
class SandboxIRTest_BasicBlock_Test -
class SandboxIRTest_BinaryOperator_Test -
class SandboxIRTest_BitCastInst_Test -
class SandboxIRTest_BlockAddress_Test -
class SandboxIRTest_BranchInst_Test -
class SandboxIRTest_CallBase_Test -
class SandboxIRTest_CallBrInst_Test -
class SandboxIRTest_CallInst_Test -
class SandboxIRTest_CastInst_Test -
class SandboxIRTest_CatchReturnInst_Test -
class SandboxIRTest_CatchSwitchInst_Test -
class SandboxIRTest_CheckClassof_Test -
class SandboxIRTest_ClassID_Test -
class SandboxIRTest_CleanupReturnInst_Test -
class SandboxIRTest_ConstantAggregateZero_Test -
class SandboxIRTest_ConstantAggregate_Test -
class SandboxIRTest_ConstantDataSequential_Test -
class SandboxIRTest_ConstantExpr_Test -
class SandboxIRTest_ConstantFP_Test -
class SandboxIRTest_ConstantInt_Test -
class SandboxIRTest_ConstantPointerNull_Test -
class SandboxIRTest_ConstantPtrAuth_Test -
class SandboxIRTest_ConstantTokenNone_Test -
class SandboxIRTest_DSOLocalEquivalent_Test -
class SandboxIRTest_DuplicateUses_Test -
class SandboxIRTest_ExtractElementInst_Test -
class SandboxIRTest_ExtractValueInst_Test -
class SandboxIRTest_FCmpInst_Test -
class SandboxIRTest_FPExtInst_Test -
class SandboxIRTest_FPToSIInst_Test -
class SandboxIRTest_FPToUIInst_Test -
class SandboxIRTest_FPTruncInst_Test -
class SandboxIRTest_FenceInst_Test -
class SandboxIRTest_Flags_Test -
class SandboxIRTest_FreezeInst_Test -
class SandboxIRTest_FuncletPadInst_CatchPadInst_CleanupPadInst_Test -
class SandboxIRTest_FunctionObjectAlreadyExists_Test -
class SandboxIRTest_Function_Test -
class SandboxIRTest_GetElementPtrInstruction_Test -
class SandboxIRTest_GlobalAlias_Test -
class SandboxIRTest_GlobalIFunc_Test -
class SandboxIRTest_GlobalObject_Test -
class SandboxIRTest_GlobalValue_Test -
class SandboxIRTest_GlobalVariable_Test -
class SandboxIRTest_ICmpInst_Test -
class SandboxIRTest_InsertElementInst_Test -
class SandboxIRTest_InsertValueInst_Test -
class SandboxIRTest_InstructionCallbacks_Test -
class SandboxIRTest_Instruction_Test -
class SandboxIRTest_IntToPtrInst_Test -
class SandboxIRTest_InvokeInst_Test -
class SandboxIRTest_LandingPadInst_Test -
class SandboxIRTest_LoadInst_Test -
class SandboxIRTest_Module_Test -
class SandboxIRTest_NoCFIValue_Test -
class SandboxIRTest_OpaqueValue_Test -
class SandboxIRTest_PHINode_Test -
class SandboxIRTest_PoisonValue_Test -
class SandboxIRTest_PossiblyDisjointInst_Test -
class SandboxIRTest_PossiblyNonNegInst_Test -
class SandboxIRTest_PtrToIntInst_Test -
class SandboxIRTest_RAUW_RUWIf_Test -
class SandboxIRTest_RUOW_Test -
class SandboxIRTest_ResumeInst_Test -
class SandboxIRTest_ReturnInst_Test -
class SandboxIRTest_SExtInst_Test -
class SandboxIRTest_SIToFPInst_Test -
class SandboxIRTest_SelectInst_Test -
class SandboxIRTest_SetUseCallbacks_Test -
class SandboxIRTest_ShuffleVectorInst_Test -
class SandboxIRTest_StoreInst_Test -
class SandboxIRTest_SwitchInst_Test -
class SandboxIRTest_TruncInst_Test -
class SandboxIRTest_UIToFPInst_Test -
class SandboxIRTest_UnaryOperator_Test -
class SandboxIRTest_UndefValue_Test -
class SandboxIRTest_UnreachableInst_Test -
class SandboxIRTest_Use_Test -
class SandboxIRTest_VAArgInst_Test -
class SandboxIRTest_ZExtInst_Test -
class SandboxTypeTest -
class SandboxTypeTest_ArrayType_Test -
class SandboxTypeTest_FixedVectorType_Test -
class SandboxTypeTest_FunctionType_Test -
class SandboxTypeTest_IntegerType_Test -
class SandboxTypeTest_PointerType_Test -
class SandboxTypeTest_ScalableVectorType_Test -
class SandboxTypeTest_StructType_Test -
class SandboxTypeTest_Type_Test -
class SandboxTypeTest_VectorType_Test -
class SandboxVectorizerTest -
class SandboxVectorizerTest_ContextCleared_Test -
class Scalar -
class SchedulerTest -
class SchedulerTest_Basic_Test -
class SchedulerTest_Bundles_Test -
class SchedulerTest_CheckBundles2_Test -
class SchedulerTest_CheckBundles3_Test -
class SchedulerTest_CheckBundles_Test -
class SchedulerTest_DontCrossBBs_Test -
class SchedulerTest_GetBndlSchedState_Test -
class SchedulerTest_NotifyCreateInst_Test -
class SchedulerTest_ReadyListPriorities_Test -
class SchedulerTest_ReadyList_Test -
class SchedulerTest_SchedBundleBackToBack_Test -
class SchedulerTest_SchedBundleEraseDGNode_Test -
class SchedulerTest_SchedBundleReassign_Test -
class SchedulerTest_SchedBundle_Test -
class SchedulerTest_ScheduledPredecessors_Test -
class SchedulerTest_TrimSchedule_Test -
class ScopeLocationsMatcher -
class ScopedHashTableTest -
class ScopedHashTableTest_AccessWithAScope_Test -
class ScopedHashTableTest_AccessWithNoActiveScope_Test -
class ScopedHashTableTest_DISABLED_PopScopeOnStack_Test -
class ScopedHashTableTest_GetCurScope_Test -
class ScopedHashTableTest_InsertInLinearSortedScope_Test -
class ScopedHashTableTest_InsertInOutedScope_Test -
class ScopedHashTableTest_InsertInScope_Test -
class ScopedHashTableTest_OverrideInScope_Test -
class ScopedHashTableTest_PopScope_Test -
class ScopedPrinterTest -
class ScopedPrinterTest_ClassOf_Test -
class ScopedPrinterTest_GetIndentLevel_Test -
class ScopedPrinterTest_GetKind_Test -
class ScopedPrinterTest_GetOStream_Test -
class ScopedPrinterTest_Indent_Test -
class ScopedPrinterTest_PrintBinary_Test -
class ScopedPrinterTest_PrintBoolean_Test -
class ScopedPrinterTest_PrintEnum_Test -
class ScopedPrinterTest_PrintFlag_Test -
class ScopedPrinterTest_PrintHexList_Test -
class ScopedPrinterTest_PrintHex_Test -
class ScopedPrinterTest_PrintIndent_Test -
class ScopedPrinterTest_PrintListPrinter_Test -
class ScopedPrinterTest_PrintList_Test -
class ScopedPrinterTest_PrintNumber_Test -
class ScopedPrinterTest_PrintObject_Test -
class ScopedPrinterTest_PrintScope_Test -
class ScopedPrinterTest_PrintString_Test -
class ScopedPrinterTest_PrintSymbolOffset_Test -
class ScopedPrinterTest_PrintVersion_Test -
class ScopedPrinterTest_ResetIndent_Test -
class ScopedPrinterTest_SetPrefix_Test -
class ScopedPrinterTest_StartLine_Test -
class ScopedPrinterTest_Unindent_Test -
class Section -
class SectionedAddress_StreamingOperator_Test -
class SeedBundleForTest -
class SeedBundleTest -
class SeedBundleTest_ConsecutiveStores_Test -
class SeedBundleTest_Container_Test -
class SeedBundleTest_DiffTypes_Test -
class SeedBundleTest_MemSeedBundle_Test -
class SeedBundleTest_MixedScalarVectors_Test -
class SeedBundleTest_SeedBundle_Test -
class SeedBundleTest_StoresWithGaps_Test -
class SeedBundleTest_VectorLoads_Test -
class SeedBundleTest_VectorStores_Test -
class SelectionDAGNodeConstructionTest -
class SelectionDAGNodeConstructionTest_ADD_Test -
class SelectionDAGNodeConstructionTest_AND_Test -
class SelectionDAGNodeConstructionTest_MUL_Test -
class SelectionDAGNodeConstructionTest_OR_Test -
class SelectionDAGNodeConstructionTest_SADDSAT_Test -
class SelectionDAGNodeConstructionTest_SDIV_Test -
class SelectionDAGNodeConstructionTest_SMAX_Test -
class SelectionDAGNodeConstructionTest_SMIN_Test -
class SelectionDAGNodeConstructionTest_SREM_Test -
class SelectionDAGNodeConstructionTest_SSUBSAT_Test -
class SelectionDAGNodeConstructionTest_SUB_Test -
class SelectionDAGNodeConstructionTest_UADDSAT_Test -
class SelectionDAGNodeConstructionTest_UDIV_Test -
class SelectionDAGNodeConstructionTest_UMAX_Test -
class SelectionDAGNodeConstructionTest_UMIN_Test -
class SelectionDAGNodeConstructionTest_UREM_Test -
class SelectionDAGNodeConstructionTest_USUBSAT_Test -
class SelectionDAGNodeConstructionTest_XOR_Test -
class SelectionDAGPatternMatchTest -
class SelectionDAGPatternMatchTest_MatchSelectCCLike_Test -
class SelectionDAGPatternMatchTest_MatchSelectCC_Test -
class SelectionDAGPatternMatchTest_MatchZeroOneAllOnes_Test -
class SelectionDAGPatternMatchTest_matchAdvancedProperties_Test -
class SelectionDAGPatternMatchTest_matchBinaryOp_Test -
class SelectionDAGPatternMatchTest_matchConstants_Test -
class SelectionDAGPatternMatchTest_matchContext_Test -
class SelectionDAGPatternMatchTest_matchGenericTernaryOp_Test -
class SelectionDAGPatternMatchTest_matchNode_Test -
class SelectionDAGPatternMatchTest_matchReassociatableOp_Test -
class SelectionDAGPatternMatchTest_matchSelectLike_Test -
class SelectionDAGPatternMatchTest_matchSpecificFpOp_Test -
class SelectionDAGPatternMatchTest_matchTernaryOp_Test -
class SelectionDAGPatternMatchTest_matchUnaryOp_Test -
class SelectionDAGPatternMatchTest_matchVPWithBasicContext_Test -
class SelectionDAGPatternMatchTest_matchValueType_Test -
class SelectionDAGPatternMatchTest_matchVecShuffle_Test -
class SelectionDAGPatternMatchTest_optionalResizing_Test -
class SelectionDAGPatternMatchTest_patternCombinators_Test -
class SelectionDAGTestBase -
class Seq -
class SetVector_ConstPtrKeyTest_Test -
class SetVector_ContainsTest_Test -
class SetVector_CtorRange_Test -
class SetVector_EraseTest_Test -
class SetVector_InsertRange_Test -
class SharedMemoryMapperTest_MemReserveInitializeDeinitializeRelease_Test -
class ShuffleVal -
class SignalsTest_SymbolizerMarkupDisabled_Test -
class SimpleMap -
class SimplePackedSerializationTest_ArgListSerialization_Test -
class SimplePackedSerializationTest_ArrayRefEmpty_Test -
class SimplePackedSerializationTest_ArrayRef_Test -
class SimplePackedSerializationTest_BoolSerialization_Test -
class SimplePackedSerializationTest_CharSerialization_Test -
class SimplePackedSerializationTest_Int16Serialization_Test -
class SimplePackedSerializationTest_Int32Serialization_Test -
class SimplePackedSerializationTest_Int64Serialization_Test -
class SimplePackedSerializationTest_Int8Serialization_Test -
class SimplePackedSerializationTest_SPSInputBuffer_Test -
class SimplePackedSerializationTest_SPSOutputBuffer_Test -
class SimplePackedSerializationTest_SequenceSerialization_Test -
class SimplePackedSerializationTest_StdOptionalNoValueSerialization_Test -
class SimplePackedSerializationTest_StdOptionalValueSerialization_Test -
class SimplePackedSerializationTest_StdPairSerialization_Test -
class SimplePackedSerializationTest_StdTupleSerialization_Test -
class SimplePackedSerializationTest_StringRefEmpty_Test -
class SimplePackedSerializationTest_StringViewCharSequenceSerialization_Test -
class SimplePackedSerializationTest_UInt16Serialization_Test -
class SimplePackedSerializationTest_UInt32Serialization_Test -
class SimplePackedSerializationTest_UInt64Serialization_Test -
class SimplePackedSerializationTest_UInt8Serialization_Test -
class SimplePackedSerialization_StringMap_Test -
class SimpleStruct -
class SingleEntrySet -
class SinkStoreInfo -
class SlotIndexUpdateDelegate -
class SmallPtrSetTest_Assignment_Test -
class SmallPtrSetTest_ConstNonPtrTest_Test -
class SmallPtrSetTest_ConstTest_Test -
class SmallPtrSetTest_Contains_Test -
class SmallPtrSetTest_CopyAndMoveTest_Test -
class SmallPtrSetTest_CtorRange_Test -
class SmallPtrSetTest_EqualityComparison_Test -
class SmallPtrSetTest_GrowthTest_Test -
class SmallPtrSetTest_InsertIterator_Test -
class SmallPtrSetTest_InsertRange_Test -
class SmallPtrSetTest_RemoveIf_Test -
class SmallPtrSetTest_Reserve_Test -
class SmallPtrSetTest_SwapTest_Test -
class SmallPtrSetTest_dereferenceAndIterate_Test -
class SmallSetTest_ConstructorIteratorPair_Test -
class SmallSetTest_Contains_Test -
class SmallSetTest_CtorRange_Test -
class SmallSetTest_EqualityComparisonTest_Test -
class SmallSetTest_Erase_Test -
class SmallSetTest_Grow_Test -
class SmallSetTest_InsertPerfectFwd_Test -
class SmallSetTest_InsertRange_Test -
class SmallSetTest_Insert_Test -
class SmallSetTest_IteratorIncMoveCopy_Test -
class SmallSetTest_IteratorInt_Test -
class SmallSetTest_IteratorString_Test -
class SmallSetVector_CtorRange_Test -
class SmallSet_ConstructorInitializerList_Test -
class SmallSet_CopyAssignment_Test -
class SmallSet_CopyConstructor_Test -
class SmallSet_MoveAssignment_Test -
class SmallSet_MoveConstructor_Test -
class SourceLocation -
class SourceMgrTest_BasicError_Test -
class SourceMgrTest_BasicFixit_Test -
class SourceMgrTest_BasicNote_Test -
class SourceMgrTest_BasicRange_Test -
class SourceMgrTest_BasicRemark_Test -
class SourceMgrTest_BasicWarning_Test -
class SourceMgrTest_FixitForTab_Test -
class SourceMgrTest_IncludeDirs_Test -
class SourceMgrTest_LocationAtEmptyBuffer_Test -
class SourceMgrTest_LocationAtEndOf255ByteBufferEndingInNewline_Test -
class SourceMgrTest_LocationAtEndOf255ByteBuffer_Test -
class SourceMgrTest_LocationAtEndOf256ByteBufferEndingInNewline_Test -
class SourceMgrTest_LocationAtEndOf256ByteBuffer_Test -
class SourceMgrTest_LocationAtEndOf257ByteBufferEndingInNewline_Test -
class SourceMgrTest_LocationAtEndOf257ByteBuffer_Test -
class SourceMgrTest_LocationAtEndOfLine_Test -
class SourceMgrTest_LocationAtNewline_Test -
class SourceMgrTest_LocationBeforeEndOf255ByteBufferEndingInNewline_Test -
class SourceMgrTest_LocationBeforeEndOf255ByteBuffer_Test -
class SourceMgrTest_LocationBeforeEndOf256ByteBufferEndingInNewline_Test -
class SourceMgrTest_LocationBeforeEndOf256ByteBuffer_Test -
class SourceMgrTest_LocationBeforeEndOf257ByteBufferEndingInNewline_Test -
class SourceMgrTest_LocationBeforeEndOf257ByteBuffer_Test -
class SourceMgrTest_LocationJustAfterNonNewline_Test -
class SourceMgrTest_LocationJustAfterSoleNewline_Test -
class SourceMgrTest_LocationJustOnSoleNewline_Test -
class SourceMgrTest_LocationOnEOLOfFirstLineOfMultiline_Test -
class SourceMgrTest_LocationOnEOLOfSecondSecondLineOfMultiline_Test -
class SourceMgrTest_LocationOnFirstLineOfMultiline_Test -
class SourceMgrTest_LocationOnSecondLineOfMultilineNoSecondEOL_Test -
class SourceMgrTest_LocationOnSecondLineOfMultiline_Test -
class SourceMgrTest_LocationPastEndOf255ByteBufferEndingInNewline_Test -
class SourceMgrTest_LocationPastEndOf255ByteBuffer_Test -
class SourceMgrTest_LocationPastEndOf256ByteBufferEndingInNewline_Test -
class SourceMgrTest_LocationPastEndOf256ByteBuffer_Test -
class SourceMgrTest_LocationPastEndOf257ByteBufferEndingInNewline_Test -
class SourceMgrTest_LocationPastEndOf257ByteBuffer_Test -
class SourceMgrTest_MultiLineRange_Test -
class SourceMgrTest_MultipleRanges_Test -
class SourceMgrTest_OverlappingRanges_Test -
class SourceMgrTest_PrintWithoutLoc_Test -
class SourceMgrTest_RangeWithTab_Test -
class SparsePropagationTest_ComputeInstructionState_Test -
class SparsePropagationTest_ExceptionalTerminatorInsts_Test -
class SparsePropagationTest_FunctionDefined_Test -
class SparsePropagationTest_FunctionOverDefined_Test -
class SparsePropagationTest_GlobalVariableConstant_Test -
class SparsePropagationTest_GlobalVariableOverDefined_Test -
class SparsePropagationTest_MarkBlockExecutable_Test -
class SpeculativeJIT -
class StackAlign_testAttribute_Test -
class StackLevel -
class StackNode -
class StaleMatcher -
class StaticDataAnnotator -
class StaticDataSplitter -
class StatsPlugin -
class StdArray -
class StrBoolAttr -
class StringData -
class StringExtrasTest_ConvertToCamelFromSnakeCase_Test -
class StringExtrasTest_ConvertToSnakeFromCamelCase_Test -
class StringExtrasTest_IToStr_Test -
class StringExtrasTest_JoinItems_Test -
class StringExtrasTest_Join_Test -
class StringExtrasTest_ListSeparator_Test -
class StringExtrasTest_ToAndFromHex_Test -
class StringExtrasTest_UINT64ToHex_Test -
class StringExtrasTest_UToStr_Test -
class StringExtrasTest_arrayToStringRef_Test -
class StringExtrasTest_isLower_Test -
class StringExtrasTest_isPrint_Test -
class StringExtrasTest_isPunct_Test -
class StringExtrasTest_isSpace_Test -
class StringExtrasTest_isUpper_Test -
class StringExtrasTest_printEscapedString_Test -
class StringExtrasTest_printHTMLEscaped_Test -
class StringExtrasTest_printLowerCase_Test -
class StringExtrasTest_splitCharForLoop_Test -
class StringExtrasTest_splitChar_Test -
class StringExtrasTest_splitStringRefForLoop_Test -
class StringExtrasTest_splitStringRef_Test -
class StringExtrasTest_toStringAPInt_Test -
class StringExtrasTest_toStringAPSInt_Test -
class StringExtrasTest_to_float_Test -
class StringSwitchTest_CaseLower_Test -
class StringSwitchTest_Case_Test -
class StringSwitchTest_CasesCopies_Test -
class StringSwitchTest_CasesLower_Test -
class StringSwitchTest_Cases_Test -
class StringSwitchTest_DefaultUnreachable_Test -
class StringSwitchTest_EndsWithLower_Test -
class StringSwitchTest_EndsWith_Test -
class StringSwitchTest_StartsWithLower_Test -
class StringSwitchTest_StartsWith_Test -
class StringSwitchTest_StringSwitchMultipleMatches_Test -
class StringTableBuilderTest_Simple_Test -
class StringTableHashTraitsTest_Simple_Test -
class StringTypes -
class StringifyClause -
class StructWithFastHash -
class StructWithoutCopyOrMove -
class StubsTest_StubsGeneration_aarch64_Test -
class StubsTest_StubsGeneration_loongarch32_Test -
class StubsTest_StubsGeneration_loongarch64_Test -
class StubsTest_StubsGeneration_x86_64_Test -
class StubsTest_StubsGeneration_x86_Test -
class SuspendedLookupContext -
class SwiftVersion -
class SwitchSuccWrapper -
class SymInfo -
class SymMap -
class SymbolRemappingReaderTest_BadMappingOrder_Test -
class SymbolRemappingReaderTest_DemanglingErrors_Test -
class SymbolRemappingReaderTest_ParseErrors_Test -
class SymbolRemappingReaderTest_RemappingsAdded_Test -
class T2EEBuildAttr_testBuildAttr_Test -
class TLITestAarch64_TestFrem_Test -
class TargetCallLoweringTest_ArgByRef_Test -
class TargetI32ArgExtensions -
class TargetLibraryInfoTest_InvalidProto_Test -
class TargetLibraryInfoTest_SizeReturningNewInvalidProto_Test -
class TargetLibraryInfoTest_ValidProto_Test -
class TargetOptionsTest_IPRASetToOff_Test -
class TargetOptionsTest_IPRASetToOn_Test -
class TargetParserTest_RISCVPrintEnabledExtensions_Test -
class TensorSpecTest_JSONParsingInvalidTensorType_Test -
class TensorSpecTest_JSONParsing_Test -
class TensorSpecTest_PrintValueForDebug_Test -
class TensorSpecTest_TensorSpecSizesAndTypes_Test -
class TestComparator -
class TestCompression_TestMaxDedupSize_Test -
class TestCompression_TestNoSizeLimit1_Test -
class TestCompression_TestNoSizeLimit2_Test -
class TestData -
class TestFunction -
class TestListCompleter -
class TestModulePass -
class TestOutputSizeLimit_TestOutputSizeLimitBinary_Test -
class TestOutputSizeLimit_TestOutputSizeLimitExtBinaryCompressed_Test -
class TestOutputSizeLimit_TestOutputSizeLimitExtBinary_Test -
class TestOutputSizeLimit_TestOutputSizeLimitText_Test -
class ThreadPoolTest -
class ThreadPoolTest_AsyncBarrierArgs_Test -
class ThreadPoolTest_AsyncBarrier_Test -
class ThreadPoolTest_AsyncMoveOnly_Test -
class ThreadPoolTest_AsyncRAIICaptures_Test -
class ThreadPoolTest_Async_Test -
class ThreadPoolTest_GetFutureWithResultAndArgs_Test -
class ThreadPoolTest_GetFutureWithResult_Test -
class ThreadPoolTest_GetFuture_Test -
class ThreadPoolTest_Groups_Test -
class ThreadPoolTest_PoolDestruction_Test -
class ThreadPoolTest_RecursiveGroups_Test -
class ThreadPoolTest_RecursiveWaitDeadlock_Test -
class ThreadSafeAllocatorTest_AllocWait_Test -
class ThreadSafeAllocatorTest_AllocWithAlign_Test -
class ThreadSafeAllocatorTest_SpecificBumpPtrAllocator_Test -
class ThumbISABuildAttr_testBuildAttr_Test -
class TinyPtrVectorTest_ArrayRefCtorTest_Test -
class TinyPtrVectorTest_MutableArrayRefTest_Test -
class TinyPtrVectorTest_SingleEltCtorTest_Test -
class ToFeatures_AddAllExtensionsAddsNegativeExtensions_Test -
class ToFeatures_IIsDroppedAndExperimentalExtensionsArePrefixed_Test -
class ToFeatures_UnsupportedExtensionsAreDropped_Test -
class ToFeatures_UnsupportedExtensionsAreKeptIfIgnoreUnknownIsFalse_Test -
class Tokenize -
class Tokenize_T_Test -
class TotalSeconds -
class TracingFileSystemTest_PrintOutput_Test -
class TracingFileSystemTest_TracingWorks_Test -
class TrackerTest -
class TrackerTest_AllocaInstSetters_Test -
class TrackerTest_AtomicCmpXchgSetters_Test -
class TrackerTest_AtomicRMWSetters_Test -
class TrackerTest_CallBaseSetters_Test -
class TrackerTest_CallBrSetters_Test -
class TrackerTest_CatchReturnInstSetters_Test -
class TrackerTest_CatchSwitchInst_Test -
class TrackerTest_CleanupReturnInstSetters_Test -
class TrackerTest_CmpInst_Test -
class TrackerTest_CreateAndInsertInst_Test -
class TrackerTest_EraseFromParent_Test -
class TrackerTest_FenceInstSetters_Test -
class TrackerTest_Flags_Test -
class TrackerTest_FuncletPadInstSetters_Test -
class TrackerTest_GlobalAliasSetters_Test -
class TrackerTest_GlobalIFuncSetters_Test -
class TrackerTest_GlobalValueSetters_Test -
class TrackerTest_GlobalVariableSetters_Test -
class TrackerTest_IRSnapshotCheckerDiesWithUnexpectedChanges_Test -
class TrackerTest_IRSnapshotCheckerNoChanges_Test -
class TrackerTest_IRSnapshotCheckerSaveMultipleTimes_Test -
class TrackerTest_InsertIntoBB_Test -
class TrackerTest_InvokeSetters_Test -
class TrackerTest_LandingPadInstSetters_Test -
class TrackerTest_MoveInstr_Test -
class TrackerTest_PHINodeSetters_Test -
class TrackerTest_PossiblyDisjointInstSetters_Test -
class TrackerTest_PossiblyNonNegInstSetters_Test -
class TrackerTest_RUWIf_RAUW_RUOW_Test -
class TrackerTest_RemoveFromParent_Test -
class TrackerTest_SelectInst_Test -
class TrackerTest_SetOperand_Test -
class TrackerTest_SetUse_Test -
class TrackerTest_SetVolatile_Test -
class TrackerTest_ShuffleVectorInst_Test -
class TrackerTest_SwapOperands_Test -
class TrackerTest_SwitchInstPreservesSuccesorOrder_Test -
class TrackerTest_SwitchInstSetters_Test -
class TransferTracker -
class Trie -
class TrivialMemoryManager -
class TypeCloner -
class TypeHashingTest_ContentHash_Test -
class TypeIndexIteratorTest -
class TypeIndexIteratorTest_ArgList_Test -
class TypeIndexIteratorTest_Array_Test -
class TypeIndexIteratorTest_Bitfield_Test -
class TypeIndexIteratorTest_BuildInfo_Test -
class TypeIndexIteratorTest_CallerSym_Test -
class TypeIndexIteratorTest_Class_Test -
class TypeIndexIteratorTest_DataSym_Test -
class TypeIndexIteratorTest_Enum_Test -
class TypeIndexIteratorTest_FieldListBaseClass_Test -
class TypeIndexIteratorTest_FieldListContinuation_Test -
class TypeIndexIteratorTest_FieldListEnumerator_Test -
class TypeIndexIteratorTest_FieldListMember_Test -
class TypeIndexIteratorTest_FieldListMethod_Test -
class TypeIndexIteratorTest_FieldListNestedType_Test -
class TypeIndexIteratorTest_FieldListOneMethod_Test -
class TypeIndexIteratorTest_FieldListStaticMember_Test -
class TypeIndexIteratorTest_FieldListVFTable_Test -
class TypeIndexIteratorTest_FieldListVirtualBase_Test -
class TypeIndexIteratorTest_FuncId_Test -
class TypeIndexIteratorTest_ManyMembers_Test -
class TypeIndexIteratorTest_ManyTypes_Test -
class TypeIndexIteratorTest_MemFuncId_Test -
class TypeIndexIteratorTest_MemFunc_Test -
class TypeIndexIteratorTest_MemberPointer_Test -
class TypeIndexIteratorTest_Modifier_Test -
class TypeIndexIteratorTest_OverloadList_Test -
class TypeIndexIteratorTest_Pointer_Test -
class TypeIndexIteratorTest_Precomp_Test -
class TypeIndexIteratorTest_ProcSym_Test -
class TypeIndexIteratorTest_Procedure_Test -
class TypeIndexIteratorTest_RegisterSym_Test -
class TypeIndexIteratorTest_StringId_Test -
class TypeIndexIteratorTest_Struct_Test -
class TypeIndexIteratorTest_SubstrList_Test -
class TypeIndexIteratorTest_UdtModSrcLine_Test -
class TypeIndexIteratorTest_UdtSrcLine_Test -
class TypeIndexIteratorTest_Union_Test -
class TypeIndexIteratorTest_UsingNamespace_Test -
class TypeIndexIteratorTest_VTShape_Test -
class TypeIndexIteratorTest_VTable_Test -
class TypeIndexIteratorTest_VariableSizeIntegers_Test -
class TypeName -
class TypeSelect -
class TypeSelect -
class TypeSelect -
class TypeSelect -
class TypeSwitchTest_CaseOptional_Test -
class TypeSwitchTest_CaseResult_Test -
class TypeSwitchTest_CaseVoid_Test -
class TypeSwitchTest_CasesOptional_Test -
class TypeSwitchTest_CasesResult_Test -
class TypeSwitchTest_CasesVoid_Test -
class TypeSwitchTest_DefaultNullopt_Test -
class TypeSwitchTest_DefaultNullptrForPointerLike_Test -
class TypeSwitchTest_DefaultNullptr_Test -
class TypeSwitchTest_DefaultUnreachableWithValue_Test -
class TypeSwitchTest_DefaultUnreachableWithVoid_Test -
class UWR -
class UnalignedAccess_testAttribute_Test -
class UnaryExprAST -
class UnrollAnalyzerTest_BasicSimplifications_Test -
class UnrollAnalyzerTest_CastSimplifications_Test -
class UnrollAnalyzerTest_CmpSimplifications_Test -
class UnrollAnalyzerTest_OuterLoopSimplification_Test -
class UnrollAnalyzerTest_PtrCmpSimplifications_Test -
class UpdateSection_COFF_Test -
class UpdateSection_ELF_Test -
class UpdateSection_MachO_Test -
class UstarHeader -
class UtilsTest -
class UtilsTest_GetExpected_Test -
class UtilsTest_GetMemBase_Test -
class UtilsTest_GetNumBits_Test -
class UtilsTest_GetPointerDiffInBytes_Test -
class UtilsTest_getMemoryLocation_Test -
class V -
class VDSPVersion_testAttribute_Test -
class VFABIAttrTest -
class VFABIAttrTest_Read_Test -
class VFABIAttrTest_Write_Test -
class VFABIGetMappingsTest_IndirectCallInst_Test -
class VFABIParserTest_Align_Test -
class VFABIParserTest_ISAIndependentMangling_Test -
class VFABIParserTest_InvalidMask_Test -
class VFABIParserTest_InvalidParameter_Test -
class VFABIParserTest_LLVM_ISA_Test -
class VFABIParserTest_LLVM_InternalISA_Test -
class VFABIParserTest_LLVM_Intrinsics_Test -
class VFABIParserTest_LinearWithCompileTimeNegativeStep_Test -
class VFABIParserTest_LinearWithRuntimeStep_Test -
class VFABIParserTest_LinearWithoutCompileTime_Test -
class VFABIParserTest_MissingScalarName_Test -
class VFABIParserTest_MissingVectorNameTermination_Test -
class VFABIParserTest_MissingVectorName_Test -
class VFABIParserTest_NotAVectorFunctionABIName_Test -
class VFABIParserTest_OnlyValidNames_Test -
class VFABIParserTest_ParamListParsing_Test -
class VFABIParserTest_ParseFixedWidthSVE_Test -
class VFABIParserTest_ParseMaskingAVX2_Test -
class VFABIParserTest_ParseMaskingAVX512_Test -
class VFABIParserTest_ParseMaskingAVX_Test -
class VFABIParserTest_ParseMaskingLLVM_Test -
class VFABIParserTest_ParseMaskingNEON_Test -
class VFABIParserTest_ParseMaskingSSE_Test -
class VFABIParserTest_ParseMaskingSVE_Test -
class VFABIParserTest_ParseScalableMaskingLLVM_Test -
class VFABIParserTest_ParseScalableMaskingSVESincos_Test -
class VFABIParserTest_ParseScalableMaskingSVE_Test -
class VFABIParserTest_ParseScalableRequiresDeclaration_Test -
class VFABIParserTest_ParseScalableSVE_Test -
class VFABIParserTest_ParseUniform_Test -
class VFABIParserTest_ParseUnsupportedElementTypeSVE_Test -
class VFABIParserTest_ParseUnsupportedReturnTypeSVE_Test -
class VFABIParserTest_ParseUnsupportedStructReturnTypesSVE_Test -
class VFABIParserTest_ParseVectorName_Test -
class VFABIParserTest_ParseVoidReturnTypeSVE_Test -
class VFABIParserTest_ParseWideStructMixedReturnTypeSVE_Test -
class VFABIParserTest_ParseWideStructReturnTypeNEON_Test -
class VFABIParserTest_ParseWideStructReturnTypeSVE_Test -
class VFABIParserTest_ParseWiderReturnTypeSVE_Test -
class VFABIParserTest_Parse_Test -
class VFABIParserTest_ScalarNameAndVectorName_01_Test -
class VFABIParserTest_ScalarNameAndVectorName_02_Test -
class VFABIParserTest_ScalarNameAndVectorName_03_Test -
class VFABIParserTest_ScalarNameOnly_Test -
class VFABIParserTest_ZeroIsInvalidVLEN_Test -
class VFPArgsBuildAttr_testBuildAttr_Test -
class VFSFromRemappedFilesTest_Basic_Test -
class VFSFromRemappedFilesTest_LastMappingWins_Test -
class VFSFromRemappedFilesTest_UseExternalNames_Test -
class VFSFromYAMLTest -
class VFSFromYAMLTest_BasicVFSFromYAML_Test -
class VFSFromYAMLTest_CaseInsensitive_Test -
class VFSFromYAMLTest_CaseSensitive_Test -
class VFSFromYAMLTest_DirectoryIterationErrorInVFSLayer_Test -
class VFSFromYAMLTest_DirectoryIterationSameDirMultipleEntries_Test -
class VFSFromYAMLTest_DirectoryIterationWithDuplicates_Test -
class VFSFromYAMLTest_DirectoryIteration_Test -
class VFSFromYAMLTest_GetRealPath_Test -
class VFSFromYAMLTest_IllegalVFSFile_Test -
class VFSFromYAMLTest_MappedFiles_Test -
class VFSFromYAMLTest_MappedRoot_Test -
class VFSFromYAMLTest_MultiComponentPath_Test -
class VFSFromYAMLTest_NonFallthroughDirectoryIteration_Test -
class VFSFromYAMLTest_RecursiveDirectoryIterationLevel_Test -
class VFSFromYAMLTest_RedirectingWith_Test -
class VFSFromYAMLTest_RelativeFileDirWithOverlayRelativeSetting_Test -
class VFSFromYAMLTest_RelativePaths_Test -
class VFSFromYAMLTest_RemappedDirectoryOverlayNoExternalNames_Test -
class VFSFromYAMLTest_RemappedDirectoryOverlayNoFallthrough_Test -
class VFSFromYAMLTest_RemappedDirectoryOverlay_Test -
class VFSFromYAMLTest_ReturnsExternalPathVFSHit_Test -
class VFSFromYAMLTest_ReturnsInternalPathVFSHit_Test -
class VFSFromYAMLTest_ReturnsRequestedPathVFSMiss_Test -
class VFSFromYAMLTest_RootRelativeToCWDTest_Test -
class VFSFromYAMLTest_RootRelativeToOverlayDirTest_Test -
class VFSFromYAMLTest_TrailingSlashes_Test -
class VFSFromYAMLTest_UseExternalName_Test -
class VFSFromYAMLTest_VirtualWorkingDirectory_Test -
class VFSFromYAMLTest_WorkingDirectoryFallthroughInvalid_Test -
class VFSFromYAMLTest_WorkingDirectoryFallthrough_Test -
class VFSFromYAMLTest_WorkingDirectory_Test -
class VFSFromYAMLTest_YAMLVFSWriterTest2_Test -
class VFSFromYAMLTest_YAMLVFSWriterTest3_Test -
class VFSFromYAMLTest_YAMLVFSWriterTestHandleDirs_Test -
class VFSFromYAMLTest_YAMLVFSWriterTest_Test -
class VFShapeAPITest -
class VFShapeAPITest_API_buildVFShape_Test -
class VFShapeAPITest_API_getScalarShape_Test -
class VFShapeAPITest_API_getVectorizedFunction_Test -
class VFShapeAPITest_API_updateVFShape_GlobalPredicate_Test -
class VFShapeAPITest_API_updateVFShape_Test -
class VFShapeAPITest_Parameters_InvalidOpenMPLinear_Test -
class VFShapeAPITest_Parameters_Invalid_Test -
class VFShapeAPITest_Parameters_ValidOpenMPLinear_Test -
class VFShapeAPITest_Parameters_Valid_Test -
class VPIntrinsicTest_VPReductions_Test -
class VTableProfilingPlugin -
class ValueTrackingTest_ComputeConstantRange_Test -
class ValueTrackingTest_ComputeNumSignBits_PR32045_Test -
class ValueTrackingTest_ComputeNumSignBits_Shuffle2_Test -
class ValueTrackingTest_ComputeNumSignBits_Shuffle_Pointers_Test -
class ValueTrackingTest_ComputeNumSignBits_Shuffle_Test -
class ValueTrackingTest_HaveNoCommonBitsSet_Test -
class ValueTrackingTest_IsImpliedConditionAnd2_Test -
class ValueTrackingTest_IsImpliedConditionAndVec_Test -
class ValueTrackingTest_IsImpliedConditionAnd_Test -
class ValueTrackingTest_IsImpliedConditionOr2_Test -
class ValueTrackingTest_IsImpliedConditionOr_Test -
class ValueTrackingTest_KnownNonZeroFromDomCond2_Test -
class ValueTrackingTest_KnownNonZeroFromDomCond_Test -
class ValueTrackingTest_MatchBinaryIntrinsicRecurrenceNegativeFSHR_Test -
class ValueTrackingTest_MatchBinaryIntrinsicRecurrenceUMax_Test -
class ValueTrackingTest_computePtrAlignment_Test -
class ValueTrackingTest_impliesPoisonTest_AddNswOkay2_Test -
class ValueTrackingTest_impliesPoisonTest_AddNswOkay_Test -
class ValueTrackingTest_impliesPoisonTest_AddNsw_Test -
class ValueTrackingTest_impliesPoisonTest_AddSubSameOps_Test -
class ValueTrackingTest_impliesPoisonTest_Cmp_Test -
class ValueTrackingTest_impliesPoisonTest_FCmpFMF_Test -
class ValueTrackingTest_impliesPoisonTest_ICmpUnknown_Test -
class ValueTrackingTest_impliesPoisonTest_ICmp_Test -
class ValueTrackingTest_impliesPoisonTest_Identity_Test -
class ValueTrackingTest_impliesPoisonTest_MaskCmp_Test -
class ValueTrackingTest_isGuaranteedNotToBePoison_exploitBranchCond_Test -
class ValueTrackingTest_isGuaranteedNotToBePoison_phi_Test -
class ValueTrackingTest_isGuaranteedNotToBeUndefOrPoison_Test -
class ValueTrackingTest_isGuaranteedNotToBeUndefOrPoison_assume_Test -
class ValueTrackingTest_isGuaranteedNotToBeUndefOrPoison_splat_Test -
class ValueTrackingTest_isNonZeroRecurrence_Test -
class ValueTrackingTest_programUndefinedIfPoisonSelect_Test -
class ValueTrackingTest_programUndefinedIfPoison_Test -
class ValueTrackingTest_programUndefinedIfUndefOrPoison_Test -
class ValueTracking_GuaranteedToTransferExecutionToSuccessor_Test -
class ValueTracking_canCreatePoisonOrUndef_Test -
class ValueTracking_propagatesPoison_Test -
class VarExprAST -
class VariableExprAST -
class VecUtilsTest -
class VecUtilsTest_AreConsecutive_gep_float_Test -
class VecUtilsTest_AreConsecutive_gep_i1_Test -
class VecUtilsTest_AreConsecutive_gep_i8_Test -
class VecUtilsTest_FloorPowerOf2_Test -
class VecUtilsTest_GetCommonScalarType_Test -
class VecUtilsTest_GetElementType_Test -
class VecUtilsTest_GetLastPHIOrSelf_Test -
class VecUtilsTest_GetLowest_Test -
class VecUtilsTest_GetNumElements_Test -
class VecUtilsTest_GetNumLanes_Test -
class VecUtilsTest_GetWideType_Test -
class VecUtilsTest_MatchPackScalar_Test -
class VectorUtilsTest_getSplatValueElt0_Test -
class VectorUtilsTest_getSplatValueElt1_Test -
class VectorUtilsTest_getSplatValueEltMismatch_Test -
class VectorUtilsTest_isSplatValue_00_Test -
class VectorUtilsTest_isSplatValue_00_index0_Test -
class VectorUtilsTest_isSplatValue_00_index1_Test -
class VectorUtilsTest_isSplatValue_01_Test -
class VectorUtilsTest_isSplatValue_01_index0_Test -
class VectorUtilsTest_isSplatValue_01_index1_Test -
class VectorUtilsTest_isSplatValue_0u_Test -
class VectorUtilsTest_isSplatValue_0u_index0_Test -
class VectorUtilsTest_isSplatValue_0u_index1_Test -
class VectorUtilsTest_isSplatValue_11_Test -
class VectorUtilsTest_isSplatValue_11_index0_Test -
class VectorUtilsTest_isSplatValue_11_index1_Test -
class VectorUtilsTest_isSplatValue_Binop_ConstantOp0_Test -
class VectorUtilsTest_isSplatValue_Binop_ConstantOp0_index0_Test -
class VectorUtilsTest_isSplatValue_Binop_ConstantOp0_index1_Test -
class VectorUtilsTest_isSplatValue_Binop_Not_Op0_Test -
class VectorUtilsTest_isSplatValue_Binop_Not_Op1_Test -
class VectorUtilsTest_isSplatValue_Binop_Test -
class VectorUtilsTest_isSplatValue_Binop_index0_Test -
class VectorUtilsTest_isSplatValue_Binop_index1_Test -
class VectorUtilsTest_isSplatValue_SelectBinop_Test -
class VectorUtilsTest_isSplatValue_Select_ConstantOp_Test -
class VectorUtilsTest_isSplatValue_Select_NotCond_Test -
class VectorUtilsTest_isSplatValue_Select_NotOp1_Test -
class VectorUtilsTest_isSplatValue_Select_NotOp2_Test -
class VectorUtilsTest_isSplatValue_Select_Test -
class VersionTest -
class VersionTest_DirectiveName_Test -
class VersionTuple_getAsString_Test -
class VersionTuple_tryParse_Test -
class VersionTuple_withMajorReplaced_Test -
class VirtualFileSystemTest_BaseOnlyOverlay_Test -
class VirtualFileSystemTest_BasicRealFSIteration_Test -
class VirtualFileSystemTest_BasicRealFSRecursiveIterationNoPush_Test -
class VirtualFileSystemTest_BasicRealFSRecursiveIteration_Test -
class VirtualFileSystemTest_BrokenSymlinkRealFSIteration_Test -
class VirtualFileSystemTest_BrokenSymlinkRealFSRecursiveIteration_Test -
class VirtualFileSystemTest_GetRealPathInOverlay_Test -
class VirtualFileSystemTest_HiddenInIteration_Test -
class VirtualFileSystemTest_MergedDirPermissions_Test -
class VirtualFileSystemTest_MultipleWorkingDirs_Test -
class VirtualFileSystemTest_OverlayDirsNonMerged_Test -
class VirtualFileSystemTest_OverlayFiles_Test -
class VirtualFileSystemTest_OverlayIteration_Test -
class VirtualFileSystemTest_OverlayIterator_Test -
class VirtualFileSystemTest_OverlayRecursiveIteration_Test -
class VirtualFileSystemTest_PhysicalFileSystemWorkingDirFailure_Test -
class VirtualFileSystemTest_StatusQueries_Test -
class VirtualFileSystemTest_ThreeLevelIteration_Test -
class VirtualFileSystemTest_Visit_Test -
class VirtualizationBuildAttr_testBuildAttr_Test -
class WMMXArgsBuildAttr_testBuildAttr_Test -
class WMMXBuildAttr_testBuildAttr_Test -
class WaitForThreads -
class WaitingOnGraphTest_Build_CoalesceEmptyDeps_Test -
class WaitingOnGraphTest_Build_CoalesceInterleaved_Test -
class WaitingOnGraphTest_Build_CoalesceNonEmptyDeps_Test -
class WaitingOnGraphTest_Build_EmptyDefs_Test -
class WaitingOnGraphTest_Build_NonTrivialSingleSuperNode_Test -
class WaitingOnGraphTest_Build_SelfDepRemoval_Test -
class WaitingOnGraphTest_Build_TrivialSingleSuperNode_Test -
class WaitingOnGraphTest_ConstructAndDestroyEmpty_Test -
class WaitingOnGraphTest_Emit_Coalescing_Test -
class WaitingOnGraphTest_Emit_EmptyEmit_Test -
class WaitingOnGraphTest_Emit_ReEmit_Test -
class WaitingOnGraphTest_Emit_SingleContainerSimpleCycle_Test -
class WaitingOnGraphTest_Emit_TrivialReverseSequence_Test -
class WaitingOnGraphTest_Emit_TrivialSequence_Test -
class WaitingOnGraphTest_Emit_TrivialSingleNode_Test -
class WaitingOnGraphTest_Emit_ZigZag_Test -
class WaitingOnGraphTest_Fail_EmitDependenceOnFailure_Test -
class WaitingOnGraphTest_Fail_Empty_Test -
class WaitingOnGraphTest_Fail_Single_Test -
class WaitingOnGraphTest_Fail_ZigZag_Test -
class WaitingOnGraphTest_Simplification_EmptySimplification_Test -
class WaitingOnGraphTest_Simplification_SimplifyIntraSimplifyPropagateDeps_Test -
class WaitingOnGraphTest_Simplification_SimplifySingleContainerNElementCycle_Test -
class WaitingOnGraphTest_Simplification_SimplifySingleContainerSimpleCycle_Test -
class WaitingOnGraphTest_Simplification_TrivialSingleSuperNode_Test -
class WeightedFile -
class WholeProgramDevirt_findLowestOffset_Test -
class WholeProgramDevirt_setReturnValues_Test -
class WithColorTest_ColorMode_Test -
class WithStringField -
class WorkItem -
class WorkloadImportsManager -
class WrapperFunctionUtilsTest_DefaultWrapperFunctionBuffer_Test -
class WrapperFunctionUtilsTest_WrapperFunctionBufferFromCString_Test -
class WrapperFunctionUtilsTest_WrapperFunctionBufferFromOutOfBandError_Test -
class WrapperFunctionUtilsTest_WrapperFunctionBufferFromRange_Test -
class WrapperFunctionUtilsTest_WrapperFunctionBufferFromStdString_Test -
class WrapperFunctionUtilsTest_WrapperFunctionCCallCreateEmpty_Test -
class WrapperFunctionUtilsTest_WrapperFunctionCallAndHandleAsyncRet_Test -
class WrapperFunctionUtilsTest_WrapperFunctionCallAndHandleAsyncVoid_Test -
class WrapperFunctionUtilsTest_WrapperFunctionCallAndHandleRet_Test -
class WrapperFunctionUtilsTest_WrapperFunctionCallAndHandleVoid_Test -
class WrapperFunctionUtilsTest_WrapperFunctionCallFailingAsync_Test -
class WrapperFunctionUtilsTest_WrapperFunctionMethodCallAndHandleRet_Test -
class WriterContext -
class WriterStackLevel -
class X86Disassembler_X86MCSymbolizerTest_Test -
class X86TestBase_TestInstructionCustomization_Test -
class X86TestBase_TestInstructionRecycling_Test -
class X86TestBase_TestResumablePipeline_Test -
class X86TestBase_TestVariantInstructionsSameAddress_Test -
class X86_64_EmptyLinkGraph_Test -
class X86_64_GOTAndStubs_Test -
class XCOFFObjectFileTest_XCOFFGetCsectAuxRef32_Test -
class XCOFFObjectFileTest_XCOFFGetCsectAuxRef64_Test -
class XCOFFObjectFileTest_XCOFFObjectType_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableAPIAllocaRegister_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableAPIControlledStorageInfoDisp_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableAPIGeneral_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableAPIHasVectorInfo1_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableAPIHasVectorInfo_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableAPIParmsType_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableErrorAtParameterTypeWithVecInfo_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableErrorAtParameterType_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableErrorAtVecParameterType_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableTruncatedAtAllocaUsed_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableTruncatedAtControlledStorageInfoDisp_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableTruncatedAtExtLongTBTable_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableTruncatedAtFunctionName_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableTruncatedAtHandlerMask_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableTruncatedAtMandatory_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableTruncatedAtNameLen_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableTruncatedAtNumOfCtlAnchors_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableTruncatedAtParmsType_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableTruncatedAtTBOffset_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableTruncatedAtVectorInfoData_Test -
class XCOFFObjectFileTest_XCOFFTracebackTableTruncatedAtVectorInfoParmsInfo_Test -
class XCOFFObjectFileTest_doesXCOFFTracebackTableBegin_Test -
class YAMLIO -
class YAMLIO_FixedSizeArrayMismatch_Test -
class YAMLIO_FixedSizeArray_Test -
class YAMLIO_MultilineStrings_Test -
class YAMLIO_NoQuotesForTab_Test -
class YAMLIO_Numeric_Test -
class YAMLIO_SequenceElideTest_Test -
class YAMLIO_TestAnchorMapError_Test -
class YAMLIO_TestColorsReadError_Test -
class YAMLIO_TestContainerSequenceMapRead_Test -
class YAMLIO_TestCustomMappingStruct_Test -
class YAMLIO_TestCustomMapping_Test -
class YAMLIO_TestDirectiveMappingNoValue_Test -
class YAMLIO_TestDocRead_Test -
class YAMLIO_TestEmptyAlias_Test -
class YAMLIO_TestEmptyAnchor_Test -
class YAMLIO_TestEmptyMapWrite_Test -
class YAMLIO_TestEmptySequenceWrite_Test -
class YAMLIO_TestEmptyStringFailsForMapWithRequiredFields_Test -
class YAMLIO_TestEmptyStringSucceedsForMapWithOptionalFields_Test -
class YAMLIO_TestEmptyStringSucceedsForSequence_Test -
class YAMLIO_TestEnumRead_Test -
class YAMLIO_TestEscaped_Test -
class YAMLIO_TestFlagsReadError_Test -
class YAMLIO_TestFlagsRead_Test -
class YAMLIO_TestFlowSequenceTokenErrors_Test -
class YAMLIO_TestGivenFilename_Test -
class YAMLIO_TestMalformedContainerSequenceMapRead_Test -
class YAMLIO_TestMalformedMapFailsGracefully_Test -
class YAMLIO_TestMalformedMapRead_Test -
class YAMLIO_TestMapDuplicatedKeysRead_Test -
class YAMLIO_TestMapEnumRead_Test -
class YAMLIO_TestMapRead_Test -
class YAMLIO_TestMapWithContext_Test -
class YAMLIO_TestNestedSequence_Test -
class YAMLIO_TestQuotedKeyRead_Test -
class YAMLIO_TestQuotedKeyWriteRead_Test -
class YAMLIO_TestReadBuiltInTypesDoubleError_Test -
class YAMLIO_TestReadBuiltInTypesFloatError_Test -
class YAMLIO_TestReadBuiltInTypesHex16Error_Test -
class YAMLIO_TestReadBuiltInTypesHex32Error_Test -
class YAMLIO_TestReadBuiltInTypesHex64Error_Test -
class YAMLIO_TestReadBuiltInTypesHex8Error_Test -
class YAMLIO_TestReadBuiltInTypesUint16Error_Test -
class YAMLIO_TestReadBuiltInTypesUint32Error_Test -
class YAMLIO_TestReadBuiltInTypesUint64Error_Test -
class YAMLIO_TestReadBuiltInTypesUint8Error_Test -
class YAMLIO_TestReadBuiltInTypes_Test -
class YAMLIO_TestReadBuiltInTypesint16OverError_Test -
class YAMLIO_TestReadBuiltInTypesint16UnderError_Test -
class YAMLIO_TestReadBuiltInTypesint32OverError_Test -
class YAMLIO_TestReadBuiltInTypesint32UnderError_Test -
class YAMLIO_TestReadBuiltInTypesint64OverError_Test -
class YAMLIO_TestReadBuiltInTypesint64UnderError_Test -
class YAMLIO_TestReadBuiltInTypesint8OverError_Test -
class YAMLIO_TestReadBuiltInTypesint8UnderError_Test -
class YAMLIO_TestReadEndianEnums_Test -
class YAMLIO_TestReadEndianTypes_Test -
class YAMLIO_TestReadKindAndFlagsSequence_Test -
class YAMLIO_TestReadMySecondsSequence_Test -
class YAMLIO_TestReadWriteBlockScalarDocuments_Test -
class YAMLIO_TestReadWriteBlockScalarValue_Test -
class YAMLIO_TestReadWriteBuiltInTypes_Test -
class YAMLIO_TestReadWriteEndianEnums_Test -
class YAMLIO_TestReadWriteEndianTypes_Test -
class YAMLIO_TestReadWriteFlags_Test -
class YAMLIO_TestReadWriteKindAndFlagsSequence_Test -
class YAMLIO_TestReadWriteMultilineStringType_Test -
class YAMLIO_TestReadWriteMyCustomType_Test -
class YAMLIO_TestReadWriteMyFlowMapping_Test -
class YAMLIO_TestReadWriteMyFlowSequence_Test -
class YAMLIO_TestReadWriteMySecondsSequence_Test -
class YAMLIO_TestReadWritePolymorphicMap_Test -
class YAMLIO_TestReadWritePolymorphicScalar_Test -
class YAMLIO_TestReadWritePolymorphicSeq_Test -
class YAMLIO_TestReadWriteSequenceOfMyFlowSequence_Test -
class YAMLIO_TestReadWriteStringTypes_Test -
class YAMLIO_TestScalarAfterBlockScalar_Test -
class YAMLIO_TestScannerNoNullDecodeInvalidUTF8_Test -
class YAMLIO_TestScannerNoNullEmptyAlias_Test -
class YAMLIO_TestScannerNoNullEmptyAnchor_Test -
class YAMLIO_TestScannerNoNullEmptyMap_Test -
class YAMLIO_TestScannerNoNullEmptySequence_Test -
class YAMLIO_TestScannerNoNullEmpty_Test -
class YAMLIO_TestScannerNoNullScalarUnbalancedDoubleQuote_Test -
class YAMLIO_TestScannerNoNullScalarUnbalancedSingleQuote_Test -
class YAMLIO_TestScannerNoNullScanPlainScalarInFlow_Test -
class YAMLIO_TestScannerNoNullSequenceOfNull_Test -
class YAMLIO_TestScannerNoNullSimpleSequence_Test -
class YAMLIO_TestScannerNoNullUnbalancedMap_Test -
class YAMLIO_TestScannerNoNullUnbalancedSequence_Test -
class YAMLIO_TestScannerUnexpectedCharacter_Test -
class YAMLIO_TestSequenceDocListWriteAndRead_Test -
class YAMLIO_TestSequenceMapRead_Test -
class YAMLIO_TestSequenceMapWriteAndRead_Test -
class YAMLIO_TestTaggedDocumentsWriteAndRead_Test -
class YAMLIO_TestTaggedDocuments_Test -
class YAMLIO_TestUnescapeInfiniteLoop_Test -
class YAMLIO_TestUnknownDirective_Test -
class YAMLIO_TestValidatingInput_Test -
class YAMLIO_TestWrapFlow_Test -
class YAMLRemarks_ContentsCAPI_Test -
class YAMLRemarks_Contents_Test -
class YAMLRemarks_ParsingBadMeta_Test -
class YAMLRemarks_ParsingEmpty_Test -
class YAMLRemarks_ParsingGoodMeta_Test -
class YAMLRemarks_ParsingGood_Test -
class YAMLRemarks_ParsingMissingFields_Test -
class YAMLRemarks_ParsingNotYAML_Test -
class YAMLRemarks_ParsingTypes_Test -
class YAMLRemarks_ParsingWrongArgs_Test -
class YAMLRemarks_ParsingWrongTypes_Test -
class YAMLRemarks_SerializerRemarkParsedStrTabStandaloneNoStrTab_Test -
class YAMLRemarks_SerializerRemarkStandalone_Test -
class YAMLRemarks_SerializerRemarkStringRefOOBRead_Test -
class YAMLRemarks_SerializerRemark_Test -
class binary_le_impl -
class cclass -
class cname -
class format_tuple -
class getLinuxHostCPUName_AArch64_Test -
class getLinuxHostCPUName_ARM_Test -
class getLinuxHostCPUName_RISCV_Test -
class getLinuxHostCPUName_s390x_Test -
class getTargetFeatureForExtension_RetrieveTargetFeatureFromOneExt_Test -
class isSupportedExtensionWithVersion_AcceptsSingleExtensionWithVersion_Test -
class jit_code_entry -
class jit_descriptor -
class llvm_blake3_chunk_state -
class llvm_blake3_hasher -
class llvm_regex -
class llvm_regmatch_t -
class lmat -
class match_LoopInvariant -
class parse -
class perf_event_attr -
class raw_sha1_ostreamTest_Basic_Test -
class raw_sha1_ostreamTest_Intermediate_Test -
class raw_sha1_ostreamTest_Reset_Test -
class re_guts -
class rerr -
class sha1_hash_test_Basic_Test -
class sha1_hash_test_Update_Test -
class smat -
class threadParams -
class vdup -
class vext -
class vrev -
class vtrnl -
class vtrnr -
class vuzpl -
class vuzpr -
class vzipl -
class vzipr -
class xxhashTest_Basic_Test -
class xxhashTest_xxh3_128bits_Test -
class xxhashTest_xxh3_Test -
class yaml2ObjectFile_ELF_Test -
class yaml2ObjectFile_Errors_Test -
class zeros_impl
Functions
-
uint32_t rotr32 (uint32_t w, uint32_t c)Defined at line 4 of file llvm/lib/Support/BLAKE3/blake3_portable.c
-
void BM_YAMLDummyIsNumeric (benchmark::State & state)Defined at line 4 of file llvm/benchmarks/DummyYAML.cpp
-
uint32_t xorshift (uint32_t State)Defined at line 6 of file llvm/benchmarks/xxhash.cpp
-
void g (uint32_t * state, size_t a, size_t b, size_t c, size_t d, uint32_t x, uint32_t y)Defined at line 8 of file llvm/lib/Support/BLAKE3/blake3_portable.c
-
void BM_GetIntrinsicForClangBuiltin (benchmark::State & state)Benchmark intrinsic lookup from a variety of targets.
Defined at line 8 of file llvm/benchmarks/GetIntrinsicForClangBuiltin.cpp
-
char decodeBase64Byte (uint8_t Ch)Defined at line 12 of file llvm/lib/Support/Base64.cpp
-
void findAffectedValues (Value * Cond, SmallVectorImpl<Value *> & Affected)Defined at line 13 of file llvm/lib/Analysis/DomConditionCache.cpp
-
void BM_xxh3_64bits (benchmark::State & State)Defined at line 13 of file llvm/benchmarks/xxhash.cpp
-
bool shouldReduceSection (GlobalObject & GO)Defined at line 14 of file llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp
-
bool isValidYaml (const uint8_t * Data, size_t Size)Defined at line 14 of file llvm/tools/llvm-yaml-parser-fuzzer/yaml-parser-fuzzer.cpp
-
bool isAtLineEnd (const char * P)Defined at line 14 of file llvm/lib/Support/LineIterator.cpp
-
optional translateLocChar (char C)Defined at line 14 of file llvm/lib/Support/FormatVariadic.cpp
-
bool isNumericRegex (StringRef S)Defined at line 14 of file llvm/tools/llvm-yaml-numeric-parser-fuzzer/yaml-numeric-parser-fuzzer.cpp
-
int initialTarget ()Defined at line 15 of file llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
-
const char * symbolLookupCallback (void * DisInfo, uint64_t ReferenceValue, uint64_t * ReferenceType, uint64_t ReferencePC, const char ** ReferenceName)Defined at line 15 of file llvm/unittests/MC/Disassembler.cpp
-
CPUSubTypeX86 getX86SubType (const Triple & T)Defined at line 15 of file llvm/lib/BinaryFormat/MachO.cpp
-
basic_string ShadowBytesToString (ArrayRef ShadowBytes)Defined at line 15 of file llvm/unittests/Transforms/Utils/ASanStackFrameLayoutTest.cpp
-
pair findSrcDirMap (StringRef Argv0)Defined at line 15 of file llvm/lib/Testing/Support/SupportHelpers.cpp
-
int middleTarget ()Defined at line 16 of file llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
-
int dummyTarget ()Defined at line 16 of file llvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
-
unsigned long long mask (State S)Defined at line 16 of file llvm/lib/XRay/BlockVerifier.cpp
-
bool shouldReduceAlign (GlobalVariable * GV)Defined at line 16 of file llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp
-
uint32_t writePlaceholder (raw_svector_ostream & Stream)Defined at line 16 of file llvm/lib/MC/DXContainerRootSignature.cpp
-
Error minidump2yaml (llvm::raw_ostream & Out, const llvm::object::MinidumpFile & Obj)Defined at line 16 of file llvm/tools/obj2yaml/minidump2yaml.cpp
-
const char * TestA ()Defined at line 15 of file llvm/unittests/Support/DynamicLibrary/ExportedFuncs.cpp
-
const char * llvm_blake3_version ()Defined at line 15 of file llvm/lib/Support/BLAKE3/blake3.c
-
void BM_GetIntrinsicInfoTableEntries (benchmark::State & state)Defined at line 16 of file llvm/benchmarks/GetIntrinsicInfoTableEntriesBM.cpp
-
StringRef getManglingComponent (const Triple & T)Defined at line 16 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
void printFaultType (FaultKind FT, raw_ostream & OS)Defined at line 16 of file llvm/lib/Object/FaultMapParser.cpp
-
basic_string createReproducerDir (std::error_code & EC)Defined at line 16 of file llvm/tools/dsymutil/Reproducer.cpp
-
void removeVolatileInFunction (Oracle & O, Function & F)Defined at line 16 of file llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.cpp
-
ThreadSafeModule extractSubModule (ThreadSafeModule & TSM, StringRef Suffix, function ShouldExtract)Defined at line 16 of file llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
-
int finalTarget ()Defined at line 17 of file llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
-
template <typename RecordT>RecordT createRecord (const CVSymbol & sym)Defined at line 17 of file llvm/lib/DebugInfo/CodeView/SymbolRecordHelpers.cpp
-
MethodKind getMethodKind (uint16_t Attrs)Defined at line 17 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
int handleError (LLVMErrorRef Err)Defined at line 17 of file llvm/examples/OrcV2Examples/OrcV2CBindingsRemovableCode/OrcV2CBindingsRemovableCode.c
-
void reportNodeError (const SelectionDAG & DAG, const SDNode * N, const Twine & Msg)Defined at line 17 of file llvm/lib/CodeGen/SelectionDAG/SDNodeInfo.cpp
-
size_t getNameColumnWidth (const SectionSizes & Sizes, StringRef SectionNameTitle)Defined at line 17 of file llvm/tools/llvm-dwarfdump/SectionSizes.cpp
-
void checkSerialization (const PropertySetRegistry & PSR)Defined at line 17 of file llvm/unittests/Frontend/PropertySetRegistryTest.cpp
-
void chunk_state_init (llvm_blake3_chunk_state * self, const uint32_t[8] key, uint8_t flags)Defined at line 17 of file llvm/lib/Support/BLAKE3/blake3.c
-
Error ExtractDebugNames (StringRef NamesSecData, StringRef StrSecData)Defined at line 17 of file llvm/unittests/DebugInfo/DWARF/DWARFAcceleratorTableTest.cpp
-
basic_string toHex (ArrayRef Input)Defined at line 17 of file llvm/unittests/Support/raw_sha1_ostream_test.cpp
-
int llvm_targets_list ()Defined at line 17 of file llvm/tools/llvm-c-test/targets.c
-
template <size_t N>void parseGood (const char (&)[N] Buf)Defined at line 17 of file llvm/unittests/Remarks/YAMLRemarksParsingTest.cpp
-
const DenseMap<Directive, StringRef> & Expected52 ()Defined at line 17 of file llvm/unittests/Frontend/OpenMPDirectiveNameTest.cpp
-
template <size_t N>void parseGood (const char (&)[N] Buf)Defined at line 17 of file llvm/unittests/Remarks/BitstreamRemarksParsingTest.cpp
-
bool isStdout (StringRef Filename)Defined at line 18 of file llvm/lib/Support/ToolOutputFile.cpp
-
template <>HasSpecificValueMatcherP<Value_type> HasSpecificValue (Value_type gmock_p0)Defined at line 18 of file llvm/unittests/Frontend/HLSLBindingTest.cpp
-
bool Contains (VersionRange V, int P)Defined at line 18 of file llvm/lib/Frontend/Directive/Spelling.cpp
-
CASTestingEnv createInMemory (int I)Defined at line 18 of file llvm/unittests/CAS/CASTestConfig.cpp
-
basic_string toString (OutputBuffer & OB)Defined at line 18 of file llvm/unittests/Demangle/OutputBufferTest.cpp
-
Expected create (ArrayRef Data)Defined at line 18 of file llvm/unittests/Object/MinidumpTest.cpp
-
bool operator== (const RISCVISAUtils::ExtensionVersion & A, const RISCVISAUtils::ExtensionVersion & B)Defined at line 18 of file llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
-
basic_string mangleStr (StringRef IRName, Mangler & Mang, const DataLayout & DL)Defined at line 18 of file llvm/unittests/IR/ManglerTest.cpp
-
StringRef bufferize (StringRef Str)Defined at line 18 of file llvm/unittests/TableGen/CodeExpanderTest.cpp
-
template <typename RecordT>ClassOptions getUdtOptions (CVRecord CVT)Defined at line 18 of file llvm/lib/DebugInfo/CodeView/TypeRecordHelpers.cpp
-
TypeIndex createPointerRecord (AppendingTypeTableBuilder & Builder, TypeIndex TI)Defined at line 18 of file llvm/unittests/DebugInfo/CodeView/TypeHashingTest.cpp
-
void initLLVMIfNeeded ()Defined at line 18 of file llvm/unittests/DebugInfo/DWARF/DwarfUtils.cpp
-
Expected toBinary (SmallVectorImpl<char> & Storage, StringRef Yaml)Defined at line 18 of file llvm/unittests/ObjectYAML/MinidumpYAMLTest.cpp
-
bool shouldRunOnFunction (Function & F, ProfileSummaryInfo & PSI, FunctionAnalysisManager & FAM)Defined at line 18 of file llvm/lib/Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
-
Expected getDataSlice (ArrayRef Data, uint64_t Offset, uint64_t Size)Defined at line 18 of file llvm/lib/Object/SFrameParser.cpp
-
Error handleSubOptions ()Defined at line 18 of file llvm/tools/llvm-remarkutil/RemarkUtil.cpp
-
SmallVector getMemberOffsets (const DataLayout & DL, GlobalVariable * Handle, function_ref IsPadding)Defined at line 18 of file llvm/lib/Frontend/HLSL/CBuffer.cpp
-
void serializeAndCheck (remarks::RemarkLinker & RL, Format OutputFormat, StringRef ExpectedOutput)Defined at line 18 of file llvm/unittests/Remarks/RemarksLinkingTest.cpp
-
uint32_t hashFullyQualifiedName (CompileUnit & InputCU, DWARFDie & InputDIE, int ChildRecurseDepth)Defined at line 18 of file llvm/lib/DWARFLinker/Parallel/AcceleratorRecordsSaver.cpp
-
void print_usage ()Defined at line 18 of file llvm/tools/llvm-c-test/main.c
-
StringRef getCASIDPrefix ()Defined at line 19 of file llvm/lib/CAS/BuiltinCAS.cpp
-
Error parseFailed (const Twine & Msg)Defined at line 19 of file llvm/lib/Object/DXContainer.cpp
-
bool shouldReduceDSOLocal (GlobalValue & GV)Defined at line 19 of file llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
-
template <typename EndianType>void mapOptional (yaml::IO & IO, const char * Key, EndianType & Val, typename EndianType::value_type Default)Perform an optional yaml-mapping of an endian-aware type EndianType. The
only purpose of this function is to avoid casting the Default value to the
endian type;
Defined at line 19 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
uintptr_t func (int & A)Defined at line 19 of file llvm/unittests/Support/ProgramStackTest.cpp
-
void require (bool Assertion, const char * Msg, StringRef Code)Crash if the assertion fails, printing the message and testcase.
More elegant error handling isn't needed for unit tests.
Defined at line 19 of file llvm/lib/Testing/Annotations/Annotations.cpp
-
unique_ptr parseIR (LLVMContext & C, const char * IR)Defined at line 19 of file llvm/unittests/IR/AbstractCallSiteTest.cpp
-
Signature dumpSignature (const DirectX::Signature & Sig)Defined at line 19 of file llvm/tools/obj2yaml/dxcontainer2yaml.cpp
-
void reduceInvokesInFunction (Oracle & O, Function & F)Defined at line 19 of file llvm/tools/llvm-reduce/deltas/ReduceInvokes.cpp
-
void addPadding (BinaryStreamWriter & Writer)Defined at line 19 of file llvm/lib/DebugInfo/CodeView/SimpleTypeSerializer.cpp
-
template <class T>Error parseDWARFYAML (StringRef Yaml, T & Data)Defined at line 19 of file llvm/unittests/ObjectYAML/DWARFYAMLTest.cpp
-
bool handleValVerMetadata (Module & M)Defined at line 19 of file llvm/lib/Transforms/Utils/DXILUpgrade.cpp
-
bool inferAllPrototypeAttributes (Module & M, function_ref<TargetLibraryInfo &(Function &)> GetTLI)Defined at line 19 of file llvm/lib/Transforms/IPO/InferFunctionAttrs.cpp
-
BranchCoverageInfo sumBranches (const ArrayRef<CountedRegion> & Branches)Defined at line 19 of file llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
-
template <typename ORCABI>bool stubAndPointerRangesOk (ExecutorAddr StubBlockAddr, ExecutorAddr PointerBlockAddr, unsigned int NumStubs)Defined at line 19 of file llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp
-
bool isSafeDecreasingBound (const SCEV * Start, const SCEV * BoundSCEV, const SCEV * Step, Predicate Pred, unsigned int LatchBrExitIdx, Loop * L, ScalarEvolution & SE)Given a loop with an deccreasing induction variable, is it possible to
safely calculate the bounds of a new loop using the given Predicate.
Defined at line 19 of file llvm/lib/Transforms/Utils/LoopConstrainer.cpp
-
void emitOptionRst (const RecordKeeper & Records, raw_ostream & OS)This tablegen backend takes an input .td file describing a list of options
and emits a RST man page.
Defined at line 19 of file llvm/utils/TableGen/OptionRSTEmitter.cpp
-
bool shouldReduceAlign (Function * F)Defined at line 20 of file llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp
-
Error reportError (StringRef Message)Defined at line 20 of file llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
-
std::size_t number (State S)Defined at line 20 of file llvm/lib/XRay/BlockVerifier.cpp
-
bool shouldPreserveUsePosition (const Instruction & I)Defined at line 20 of file llvm/tools/llvm-reduce/deltas/ReduceSinkDefsToUses.cpp
-
bool isAnonymous (StringRef Name)Corresponds to `fUDTAnon`.
Defined at line 20 of file llvm/lib/DebugInfo/PDB/Native/TpiHashing.cpp
-
optional isConstantVal (ExprOperand Op)Returns true if the Op is a DW_OP_constu.
Defined at line 20 of file llvm/lib/IR/DIExpressionOptimizer.cpp
-
StringRef getName (Value * V)Defined at line 20 of file llvm/lib/Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp
-
void diagnosticHandler (LLVMDiagnosticInfoRef DI, void * C)Defined at line 20 of file llvm/tools/llvm-c-test/module.c
-
unique_ptr parseIR (LLVMContext & C, const char * IR)Defined at line 20 of file llvm/unittests/Transforms/Utils/DebugifyTest.cpp
-
unique_ptr parseIR (LLVMContext & C, StringRef IR)Defined at line 20 of file llvm/unittests/Transforms/Utils/ModuleUtilsTest.cpp
-
int LLVMWriteBitcodeToFile (LLVMModuleRef M, const char * Path)Writes a module to the specified path. Returns 0 on success.
Defined at line 20 of file llvm/lib/Bitcode/Writer/BitWriter.cpp
-
LLVMErrorRef LLVMOrcLLJITEnableDebugSupport (LLVMOrcLLJITRef J)Install the plugin that submits debug objects to the executor. Executors must
expose the llvm_orc_registerJITLoaderGDBAllocAction symbol.
Defined at line 20 of file llvm/lib/ExecutionEngine/Orc/Debugging/LLJITUtilsCBindings.cpp
-
void dropRegisterHintsFromFunction (Oracle & O, MachineFunction & MF)Defined at line 20 of file llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.cpp
-
uint64_t hashBlock (const MachineBasicBlock & MBB, bool HashOperands)Defined at line 20 of file llvm/lib/CodeGen/MachineBlockHashInfo.cpp
-
void round_fn (uint32_t[16] state, const uint32_t * msg, size_t round)Defined at line 20 of file llvm/lib/Support/BLAKE3/blake3_portable.c
-
vector getFormatStrings (int NumReplacements)Generate a list of format strings that have `NumReplacements` replacements
by permuting the replacements and some literal text.
Defined at line 20 of file llvm/benchmarks/FormatVariadicBM.cpp
-
void encodeBase64StringEntry (char * Buffer, uint64_t Value)Encode a string table entry offset in base 64, padded to 6 chars, and
prefixed with a double slash: '//AAAAAA', '//AAAAAB', ...
Buffer must be at least 8 bytes large. No terminating null appended.
Defined at line 20 of file llvm/lib/BinaryFormat/COFF.cpp
-
void llvm_tokenize_stdin (void (*)(char **, int) cb)helpers.c
Defined at line 20 of file llvm/tools/llvm-c-test/helpers.c
-
void extractOperandsFromModule (Oracle & O, ReducerWorkItem & WorkItem, function_ref ReduceValue)Defined at line 20 of file llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
-
void mergeAttributes (LLVMContext & Ctx, const Module & M, const DataLayout & DL, const Triple & TT, Function * Func, FunctionType * FuncTy, AttributeList FuncAttrs)Defined at line 20 of file llvm/lib/Transforms/Utils/DeclareRuntimeLibcalls.cpp
-
int llvm_object_list_sections ()object.c
Defined at line 20 of file llvm/tools/llvm-c-test/object.c
-
bool affectedValuesAreEphemeral (ArrayRef Affected)Defined at line 20 of file llvm/lib/Transforms/Scalar/DropUnnecessaryAssumes.cpp
-
void initializeMachineBranchProbabilityInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 21 of file llvm/lib/CodeGen/MachineBranchProbabilityInfo.cpp
-
bool isIdentChar (char C)Defined at line 21 of file llvm/utils/TableGen/Common/AsmWriterInst.cpp
-
Error error (const char * Message)===----------------------------------------------------------------------===//
BitstreamCursor implementation
===----------------------------------------------------------------------===//
Defined at line 21 of file llvm/lib/Bitstream/Reader/BitstreamReader.cpp
-
bool isExpandableUser (User * U)Defined at line 21 of file llvm/lib/IR/ReplaceConstant.cpp
-
bool inputDenormalIsIEEE (DenormalMode Mode)Return true if it's possible to assume IEEE treatment of input denormals in
for
Defined at line 21 of file llvm/lib/Support/KnownFPClass.cpp
-
std::unordered_map<cl::SubCommand *, HandlerType> & getCommands ()Defined at line 21 of file llvm/tools/llvm-xray/xray-registry.cpp
-
size_t numElementsInSubstring (const SuffixTreeNode * N)Defined at line 21 of file llvm/lib/Support/SuffixTree.cpp
-
unique_ptr parseIR (LLVMContext & C, const char * IR)Defined at line 21 of file llvm/unittests/Transforms/Utils/ProfDataUtilTest.cpp
-
template <class ELFT>Expected<ELFObjectFile<ELFT>> toBinary (SmallVectorImpl<char> & Storage, StringRef Yaml)Defined at line 21 of file llvm/unittests/ObjectYAML/ELFYAMLTest.cpp
-
void addPadding (BinaryStreamWriter & Writer)Defined at line 21 of file llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp
-
size_t FindSequence (ArrayRef Buffer, ArrayRef Sequence)Defined at line 21 of file llvm/lib/MC/DXContainerPSVInfo.cpp
-
int llvm_add_named_metadata_operand ()metadata.c
Defined at line 21 of file llvm/tools/llvm-c-test/metadata.c
-
UTF32 chopOneUTF32 (StringRef & Buffer)Defined at line 21 of file llvm/lib/Support/DJB.cpp
-
void checkValidLayout (ArrayRef Fields, uint64_t Size, Align MaxAlign)Defined at line 21 of file llvm/lib/Support/OptimizedStructLayout.cpp
-
Expected expand (StringRef S, StringRef Original)Expands character ranges and returns a bitmap.
For example, "a-cf-hz" is expanded to "abcfghz".
Defined at line 21 of file llvm/lib/Support/GlobPattern.cpp
-
void removeUsesFromFunction (Oracle & O, MachineFunction & MF)Defined at line 21 of file llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.cpp
-
void reduceMasksInFunction (Oracle & O, MachineFunction & MF)Defined at line 21 of file llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.cpp
-
bool shouldReduceComdat (GlobalObject & GO)Defined at line 22 of file llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp
-
void freeVoidVoid ()Defined at line 22 of file llvm/unittests/ExecutionEngine/Orc/CallableTraitsHelperTest.cpp
-
bool shouldAlwaysKeep (const GlobalVariable & GV)Defined at line 22 of file llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp
-
voidWrapper (const char * ArgData, size_t ArgSize)Defined at line 22 of file llvm/unittests/ExecutionEngine/Orc/CallSPSViaEPCTest.cpp
-
std::recursive_mutex * getManagedStaticMutex ()Defined at line 22 of file llvm/lib/Support/ManagedStatic.cpp
-
template <std::size_t X>MemoryBufferRef getMemoryBuffer (uint8_t[X] Data)Defined at line 22 of file llvm/unittests/Object/DXContainerTest.cpp
-
bool convert (SmallVectorImpl<char> & Output, const char * YAML)Defined at line 22 of file llvm/unittests/ObjectYAML/DXContainerYAMLTest.cpp
-
StringRef getExtensionName (const Record * R)Defined at line 22 of file llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
-
bool shouldSkipRecord (const Record & R, const bool RecordUndefs)Defined at line 22 of file llvm/lib/TextAPI/RecordVisitor.cpp
-
FunctionCallee getDefaultPersonalityFn (Module * M)Defined at line 22 of file llvm/lib/Transforms/Utils/EscapeEnumerator.cpp
-
vector getLibcallNameStringRefs ()Defined at line 22 of file llvm/benchmarks/RuntimeLibcalls.cpp
-
DbiStream * getDbiStreamPtr (NativeSession & Session)Defined at line 22 of file llvm/lib/DebugInfo/PDB/Native/NativeExeSymbol.cpp
-
unsigned int getMinBucketToReserveForEntries (unsigned int NumEntries)Returns the number of buckets to allocate to ensure that the DenseMap can
accommodate
without need to grow().
Defined at line 22 of file llvm/lib/Support/StringMap.cpp
-
int ascii_strncasecmp (StringRef LHS, StringRef RHS)strncasecmp() is not available on non-POSIX systems, so define an
alternative function here.
Defined at line 22 of file llvm/lib/Support/StringRef.cpp
-
const BasicSubtargetSubTypeKV * find (StringRef S, ArrayRef A)Find KV in array using binary search.
Defined at line 22 of file llvm/lib/TargetParser/TargetParser.cpp
-
void printRegister (raw_ostream & OS, DIDumpOptions DumpOpts, unsigned int RegNum)Defined at line 22 of file llvm/lib/DebugInfo/DWARF/DWARFUnwindTablePrinter.cpp
-
void mapRemarkHeader (yaml::IO & io, StringRef PassName, StringRef RemarkName, optional RL, StringRef FunctionName, optional Hotness, ArrayRef Args)Defined at line 22 of file llvm/lib/Remarks/YAMLRemarkSerializer.cpp
-
bool skipIfAtLineEnd (const char *& P)Defined at line 22 of file llvm/lib/Support/LineIterator.cpp
-
void checkExpectedSpaceAndFreeRanges (hlsl::BindingInfo::RegisterSpace & RegSpace, uint32_t ExpSpace, ArrayRef ExpValues)Defined at line 22 of file llvm/unittests/Frontend/HLSLBindingTest.cpp
-
void compareByLine (StringRef LHS, StringRef RHS)Defined at line 22 of file llvm/unittests/InterfaceStub/ELFYAMLTest.cpp
-
void runTest (Module & M, StringRef FuncName, function_ref<void (Function &, LoopInfo &, ScalarEvolution &)> Test)Build the loop nest analysis for a loop nest and run the given test
Defined at line 22 of file llvm/unittests/Analysis/LoopNestTest.cpp
-
SmallString maskToString (uint8_t Mask, bool StripTrailing)Defined at line 22 of file llvm/tools/llvm-objdump/DXContainerDump.cpp
-
void dropIRReferencesFromInstructions (Oracle & O, MachineFunction & MF)Defined at line 22 of file llvm/tools/llvm-reduce/deltas/ReduceIRReferences.cpp
-
optional extractProbeFromDiscriminator (const DILocation * DIL)Defined at line 22 of file llvm/lib/IR/PseudoProbe.cpp
-
void diagnosticHandler (LLVMDiagnosticInfoRef DI, void * C)Defined at line 22 of file llvm/tools/llvm-c-test/diagnostic.c
-
void ComputeNumbering (const Function * F, DenseMap<const Value *, unsigned int> & Numbering)Defined at line 22 of file llvm/tools/llvm-diff/lib/DiffConsumer.cpp
-
void reduceNodes (MDNode * Root, SetVector<std::pair<unsigned int, MDNode *>> & NodesToDelete, MDNode * TemporaryNode, Oracle & O, Module & Program)Traverse the graph breadth-first and try to remove unnamed metadata nodes
Defined at line 22 of file llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp
-
void reportCoverage (StringRef SourceFile, StringRef ObjectDir, const std::string & InputGCNO, const std::string & InputGCDA, bool DumpGCOV, const GCOV::Options & Options)Defined at line 22 of file llvm/tools/llvm-cov/gcov.cpp
-
void removeDefsFromFunction (Oracle & O, MachineFunction & MF)Defined at line 22 of file llvm/tools/llvm-reduce/deltas/ReduceRegisterDefs.cpp
-
bool isCOFFGOTSection (Section & S)Defined at line 23 of file llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
-
bool isELFGOTSection (Section & S)Defined at line 23 of file llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
-
bool isMachOGOTSection (Section & S)Defined at line 23 of file llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
-
basic_string gtest_InMemoryCASCASTest_EvalGenerateName_ (const ::testing::TestParamInfo<CASTest::ParamType> & info)Defined at line 23 of file llvm/unittests/CAS/CASTestConfig.cpp
-
ParamGenerator gtest_InMemoryCASCASTest_EvalGenerator_ ()Defined at line 23 of file llvm/unittests/CAS/CASTestConfig.cpp
-
FirstMacroFusionInstKind classifyFirst (const MachineInstr & MI)Defined at line 23 of file llvm/lib/Target/X86/X86MacroFusion.cpp
-
bool shouldReduceVisibility (GlobalValue & GV)Defined at line 23 of file llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
-
OptBisect & getOptBisector ()Defined at line 23 of file llvm/lib/IR/OptBisect.cpp
-
bool canReplaceFunction (const Function & F)Defined at line 23 of file llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
-
bool isIntroVirtual (uint16_t Attrs)Defined at line 23 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
addWrapper (const char * ArgData, size_t ArgSize)Defined at line 23 of file llvm/unittests/ExecutionEngine/Orc/ExecutionSessionWrapperFunctionCallsTest.cpp
-
void LLVMInitializeX86TargetInfo ()Defined at line 23 of file llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp
-
LLVMBool LLVMParseBitcode (LLVMMemoryBufferRef MemBuf, LLVMModuleRef * OutModule, char ** OutMessage)Builds a module from the bitcode in the specified memory buffer, returning a
reference to the module via the OutModule parameter. Returns 0 on success.
Optionally returns a human-readable error message via OutMessage.
This is deprecated. Use LLVMParseBitcode2.
Defined at line 23 of file llvm/lib/Bitcode/Reader/BitReader.cpp
-
unique_ptr makeLLVMModule (LLVMContext & Context, StringRef ModuleStr)Defined at line 23 of file llvm/unittests/Analysis/DomTreeUpdaterTest.cpp
-
template <typename T>basic_string printToString (const T & Value)Defined at line 23 of file llvm/unittests/Demangle/OutputBufferTest.cpp
-
unique_ptr parseIR (LLVMContext & C, const char * IR)Defined at line 23 of file llvm/unittests/Transforms/Utils/DebugSSAUpdaterTest.cpp
-
int parseIR (LLVMContext & C, const char * IR)Defined at line 23 of file llvm/unittests/Transforms/Utils/LoopUtilsTest.cpp
-
template <typename T>Error visitKnownRecord (CVSymbol & Record, SymbolVisitorCallbacks & Callbacks)Defined at line 23 of file llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp
-
uint32_t rewriteOffsetToCurrentByte (raw_svector_ostream & Stream, uint32_t Offset)Defined at line 23 of file llvm/lib/MC/DXContainerRootSignature.cpp
-
template <class ELFT>Expected<ELFObjectFile<ELFT>> toBinary (SmallVectorImpl<char> & Storage, StringRef Yaml)Defined at line 23 of file llvm/unittests/Object/BuildIDTest.cpp
-
LLVMMetadataRef declare_objc_class (LLVMDIBuilderRef DIB, LLVMMetadataRef File)Defined at line 23 of file llvm/tools/llvm-c-test/debuginfo.c
-
PassPluginLibraryInfo getDefaultDynamicAdvisorPluginInfo ()New PM Registration
Defined at line 23 of file llvm/unittests/Analysis/InlineAdvisorPlugin/InlineAdvisorPlugin.cpp
-
void runWithLoopInfo (Module & M, StringRef FuncName, function_ref<void (Function &, LoopInfo &)> Test)Build the loop info for the function and run the Test.
Defined at line 23 of file llvm/unittests/Analysis/LoopInfoTest.cpp
-
void fillTestBuffer (uint8_t * buffer, size_t len)Fills a test buffer with pseudorandom data.
This is used in the sanity check - its values must not be changed.
Defined at line 23 of file llvm/unittests/Support/xxhashTest.cpp
-
bool hasAssumption (const Attribute & A, const KnownAssumptionString & AssumptionStr)Defined at line 23 of file llvm/lib/IR/Assumptions.cpp
-
void pprint (int pos, unsigned char * buf, int len, const char * disasm)Defined at line 23 of file llvm/tools/llvm-c-test/disassemble.c
-
void runWithLoopInfoAndSE (Module & M, StringRef FuncName, function_ref<void (Function &, LoopInfo &, ScalarEvolution &)> Test)Build the loop info and scalar evolution for the function and run the Test.
Defined at line 23 of file llvm/unittests/Analysis/IVDescriptorsTest.cpp
-
llvm_orc_rt_alt_UnwindInfoManager_register (const char * ArgData, size_t ArgSize)Defined at line 23 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
-
void nameInstructions (Function & F)Defined at line 23 of file llvm/lib/Transforms/Utils/InstructionNamer.cpp
-
Expected countFileSizes (StringRef Path)Visits all the files of a directory recursively and returns the sum of their
sizes.
Defined at line 23 of file llvm/unittests/CAS/UnifiedOnDiskCacheTest.cpp
-
void writeValidAbbreviationDeclarations (raw_ostream & OS, uint32_t FirstCode, OrderKind Order)Defined at line 23 of file llvm/unittests/DebugInfo/DWARF/DWARFDebugAbbrevTest.cpp
-
bool canTryToConstantAddTwoShiftAmounts (Value * Sh0, Value * ShAmt0, Value * Sh1, Value * ShAmt1)Defined at line 23 of file llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
-
void makeVisible (GlobalValue & GV, bool Delete)Make sure GV is visible from both modules. Delete is true if it is
being deleted from this module.
This also makes sure GV cannot be dropped so that references from
the split module remain valid.
Defined at line 23 of file llvm/lib/Transforms/IPO/ExtractGV.cpp
-
bool isIdempotentRMW (AtomicRMWInst & RMWI)Return true if and only if the given instruction does not modify the memory
location referenced. Note that an idemptent atomicrmw may still have
ordering effects on nearby instructions, or be volatile.
TODO: Common w/ the version in AtomicExpandPass, and change the term used.
Idemptotent is confusing in this context.
Defined at line 23 of file llvm/lib/Transforms/InstCombine/InstCombineAtomicRMW.cpp
-
bool fillLineInfoFromLocation (const SourceLocation & Location, DILineInfoSpecifier Specifier, DILineInfo & LineInfo)Defined at line 23 of file llvm/lib/DebugInfo/GSYM/GsymContext.cpp
-
void initializeGISelCSEAnalysisWrapperPassPassOnce (PassRegistry & Registry)Defined at line 24 of file llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
-
OwningBinary<ObjectFile> * unwrap (LLVMObjectFileRef OF)Defined at line 24 of file llvm/lib/Object/Object.cpp
-
bool shouldPreserveDefPosition (const Instruction & I)Defined at line 24 of file llvm/tools/llvm-reduce/deltas/ReduceSinkDefsToUses.cpp
-
void initCodeGenPlugin ()Defined at line 24 of file llvm/unittests/CodeGen/CGPluginTest/Plugin/Plugin.cpp
-
void func2 (int & A)Defined at line 24 of file llvm/unittests/Support/ProgramStackTest.cpp
-
unsigned int getPrefixEncodingFromUnsigned (unsigned int U)Utility functions for encoding / decoding discriminators.
With a given unsigned int
use up to 13 bits to represent it.
old_bit 1~5 --> new_bit 1~5
old_bit 6~12 --> new_bit 7~13
new_bit_6 is 0 if higher bits (7~13) are all 0
Defined at line 24 of file llvm/include/llvm/Support/Discriminator.h
-
void initializeLiveStacksWrapperLegacyPassOnce (PassRegistry & Registry)Defined at line 24 of file llvm/lib/CodeGen/LiveStacks.cpp
-
size_t slotForIndex (TypeIndex Idx)Defined at line 24 of file llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp
-
bool LowerFenceInst (FenceInst * FI)Defined at line 24 of file llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp
-
void initializeLazyMachineBlockFrequencyInfoPassPassOnce (PassRegistry & Registry)Defined at line 24 of file llvm/lib/CodeGen/LazyMachineBlockFrequencyInfo.cpp
-
StringRef getHWDivSynonym (StringRef HWDiv)Defined at line 24 of file llvm/lib/TargetParser/ARMTargetParser.cpp
-
bool isNonSpilledIntrinsic (Instruction & I)Defined at line 24 of file llvm/lib/Transforms/Coroutines/SpillUtils.cpp
-
const omp::DirectiveNameParser & getParser ()Defined at line 24 of file llvm/unittests/Frontend/OpenMPDirectiveNameParserTest.cpp
-
Error malformedError (Twine Msg)Defined at line 24 of file llvm/lib/Object/MachOUniversal.cpp
-
int parseIR (LLVMContext & C, const char * IR)Defined at line 24 of file llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp
-
basic_string LibPath (basic_string Name)Defined at line 24 of file llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
-
template <typename T>Error readStruct (StringRef Buffer, const char * Src, T & Struct)Defined at line 24 of file llvm/lib/Object/DXContainer.cpp
-
Result editDistanceAndMaps (StringRef A, StringRef B, unsigned int MaxEditDistance)Defined at line 24 of file llvm/unittests/ADT/EditDistanceTest.cpp
-
bool functionHasMoreThanNonTerminatorInsts (const Function & F, uint64_t NumInsts)Defined at line 24 of file llvm/tools/llvm-reduce/deltas/ReduceInlineCallSites.cpp
-
bool parseAssemblyInto (MemoryBufferRef F, Module * M, ModuleSummaryIndex * Index, SMDiagnostic & Err, SlotMapping * Slots, bool UpgradeDebugInfo, function_ref DataLayoutCallback, AsmParserContext * ParserContext)Defined at line 24 of file llvm/lib/AsmParser/Parser.cpp
-
Register getPrevDefOfRCInMBB (MachineBasicBlock & MBB, MachineBasicBlock::reverse_iterator & RI, const RegClassOrRegBank & RC, LLT Ty, int & ExcludeMIs)Defined at line 24 of file llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
-
bool lowerWidenableCondition (Function & F)Defined at line 24 of file llvm/lib/Transforms/Scalar/LowerWidenableCondition.cpp
-
void findCallsAtConstantOffset (SmallVectorImpl<DevirtCallSite> & DevirtCalls, bool * HasNonCallUses, Value * FPtr, uint64_t Offset, const CallInst * CI, DominatorTree & DT)Search for virtual calls that call FPtr and add them to DevirtCalls.
Defined at line 24 of file llvm/lib/Analysis/TypeMetadataUtils.cpp
-
StringRef recordToString (State R)Defined at line 24 of file llvm/lib/XRay/BlockVerifier.cpp
-
void runUnrollAnalyzer (Module & M, StringRef FuncName, SimplifiedValuesVectorTy & SimplifiedValuesVector)Build loop info and scalar evolution for the function and run the analysis.
Defined at line 24 of file llvm/unittests/Analysis/UnrollAnalyzerTest.cpp
-
bool lowerGuardIntrinsic (Function & F)Defined at line 24 of file llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp
-
bool stripGCRelocates (Function & F)Defined at line 24 of file llvm/lib/Transforms/Utils/StripGCRelocates.cpp
-
pair GenerateStub (LinkGraph & G, size_t PointerSize, Edge::Kind PointerEdgeKind)Defined at line 24 of file llvm/unittests/ExecutionEngine/JITLink/StubsTests.cpp
-
vector getUUID (const object::ObjectFile & Obj)Defined at line 24 of file llvm/lib/DebugInfo/GSYM/ObjectFileTransformer.cpp
-
LLVMOrcThreadSafeModuleRef createDemoModule ()Defined at line 24 of file llvm/examples/OrcV2Examples/OrcV2CBindingsRemovableCode/OrcV2CBindingsRemovableCode.c
-
void warnAboutLeftoverTransformations (Loop * L, OptimizationRemarkEmitter * ORE)Emit warnings for forced (i.e. user-defined) loop transformations which have
still not been performed.
Defined at line 24 of file llvm/lib/Transforms/Scalar/WarnMissedTransforms.cpp
-
bool isCOFFStubsSection (Section & S)Defined at line 25 of file llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
-
bool isELFStubsSection (Section & S)Defined at line 25 of file llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
-
bool isWhitespaceExceptNL (unsigned char c)Return true if this character is non-new-line whitespace:
' ', '
\
t', '
\
f', '
\
v', '
\
r'.
Defined at line 25 of file llvm/lib/Support/RewriteBuffer.cpp
-
bool isMachOStubsSection (Section & S)Defined at line 25 of file llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
-
bool shouldIgnoreArgument (const Value * V)Assume outgoing undef arguments aren't relevant.
TODO: Maybe skip any trivial constant arguments.
Defined at line 25 of file llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
-
bool inputDenormalIsIEEEOrPosZero (DenormalMode Mode)Defined at line 25 of file llvm/lib/Support/KnownFPClass.cpp
-
void error (Error && EC)Defined at line 25 of file llvm/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp
-
template <typename T>Error visitKnownRecord (CVType & Record, TypeVisitorCallbacks & Callbacks)Defined at line 25 of file llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp
-
uint32_t getNumRecordsInCollection (LazyRandomTypeCollection & Types)LazyRandomTypeCollection doesn't appear to expose the number of records, so
just iterate up front to find out.
Defined at line 25 of file llvm/tools/llvm-pdbutil/TypeReferenceTracker.cpp
-
int parseIR (LLVMContext & C, const char * IR)Defined at line 25 of file llvm/unittests/Analysis/LoadsTest.cpp
-
int parseIR (LLVMContext & C, const char * IR)Defined at line 25 of file llvm/unittests/Transforms/Utils/LoopRotationUtilsTest.cpp
-
void copyComdat (GlobalObject * Dst, const GlobalObject * Src)Defined at line 25 of file llvm/lib/Transforms/Utils/CloneModule.cpp
-
template <typename T, std::size_t N>int format_to_buffer (T Value, char (&)[N] Buffer)Defined at line 25 of file llvm/lib/Support/NativeFormatting.cpp
-
void printRegister (raw_ostream & OS, const DIDumpOptions & DumpOpts, unsigned int RegNum)Defined at line 25 of file llvm/lib/DebugInfo/DWARF/DWARFCFIPrinter.cpp
-
op_to_opcode (char op)Defined at line 25 of file llvm/tools/llvm-c-test/calc.c
-
void runTest (Module & M, StringRef FuncName, function_ref<void (Function &, LoopInfo &, DependenceInfo &, ScalarEvolution &)> Test)Build the DDG analysis for a loop and run the given test
Defined at line 25 of file llvm/unittests/Analysis/DDGTest.cpp
-
SetVector collectReferencedValues (Value * Root)Collect all values that are directly or indirectly referenced by
including Root itself. This is a BF search such that the more steps needed
to get to the reference, the more behind it is found in
Each
step could be its own reduction, therefore we consider later values "more
reduced".
Defined at line 25 of file llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
-
bool addModuleFlags (Module & M, MapVector<std::pair<Function *, Function *>, uint64_t> & Counts)Defined at line 25 of file llvm/lib/Transforms/Instrumentation/CGProfile.cpp
-
void expandUser (ilist_iterator_w_bits InsertPt, Constant * C, SmallVector<Instruction *, 4> & NewInsts)Defined at line 25 of file llvm/lib/IR/ReplaceConstant.cpp
-
void check (Format SerializerFormat, ArrayRef Rs, StringRef ExpectedR, optional ExpectedMeta, optional StrTab)Defined at line 25 of file llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp
-
Error dumpDebugAbbrev (llvm::DWARFContext & DCtx, llvm::DWARFYAML::Data & Y)Defined at line 25 of file llvm/tools/obj2yaml/dwarf2yaml.cpp
-
bool convertAnnotation2Metadata (Module & M)Defined at line 25 of file llvm/lib/Transforms/IPO/Annotation2Metadata.cpp
-
optional GetBlockName (unsigned int BlockID, const BitstreamBlockInfo & BlockInfo, CurStreamTypeType CurStreamType)Return a symbolic block name if known, otherwise return null.
Defined at line 25 of file llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
-
ModuleMetadataInfo collectMetadataInfo (Module & M)Defined at line 25 of file llvm/lib/Analysis/DXILMetadataAnalysis.cpp
-
void insertCall (Function & CurFn, StringRef Func, ilist_iterator_w_bits InsertionPt, DebugLoc DL)Defined at line 25 of file llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
-
int convertForTestingMain (int argc, const char *[] argv)The main entry point for the 'convert-for-testing' subcommand.
Defined at line 25 of file llvm/tools/llvm-cov/TestingSupport.cpp
-
void ContractNodes (int & InputMatcherPtr, const CodeGenDAGPatterns & CGP)ContractNodes - Turn multiple matcher node patterns like 'MoveChild+Record'
into single compound nodes like RecordChild.
Defined at line 25 of file llvm/utils/TableGen/DAGISelMatcherOpt.cpp
-
uint32_t rol (uint32_t Number, int Bits)Defined at line 26 of file llvm/lib/Support/SHA1.cpp
-
TargetLibraryInfoImpl * unwrap (LLVMTargetLibraryInfoRef P)Defined at line 26 of file llvm/lib/Target/Target.cpp
-
StringRef setOrderIndicator (InterfaceInputOrder Order)Defined at line 26 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
bool shouldAlwaysKeep (const Instruction & I)Filter out cases where deleting the instruction will likely cause the
user/def of the instruction to fail the verifier.
TODO: Technically the verifier only enforces preallocated token usage and
there is a none token.
Defined at line 26 of file llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
-
raw_ostream & operator<< (raw_ostream & OS, const yaml::BinaryRef & Ref)Defined at line 26 of file llvm/unittests/DebugInfo/BTF/BTFParserTest.cpp
-
void initializeLazyBlockFrequencyInfoPassPassOnce (PassRegistry & Registry)Defined at line 26 of file llvm/lib/Analysis/LazyBlockFrequencyInfo.cpp
-
void initializeLazyBranchProbabilityInfoPassPassOnce (PassRegistry & Registry)Defined at line 26 of file llvm/lib/Analysis/LazyBranchProbabilityInfo.cpp
-
template <typename MapType, typename EndianType>void mapRequiredAs (yaml::IO & IO, const char * Key, EndianType & Val)Yaml-map an endian-aware type EndianType as some other type MapType.
Defined at line 26 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
Metadata * getKeyValMD (LLVMContext & Context, const char * Key, uint64_t Val)Return an MDTuple with two elements. The first element is a string Key and
the second is a uint64_t Value.
Defined at line 26 of file llvm/lib/IR/ProfileSummary.cpp
-
Value * getRuntimeLoopRemainder (IRBuilderBase & B, Value * Len, Value * OpSize, unsigned int OpSizeVal)Defined at line 26 of file llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
-
int parseIR (LLVMContext & C, const char * IR)Defined at line 26 of file llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
-
basic_string getOptionName (const Record & R)Defined at line 26 of file llvm/utils/TableGen/OptionParserEmitter.cpp
-
mainWrapper (const char * ArgData, size_t ArgSize)Defined at line 26 of file llvm/unittests/ExecutionEngine/Orc/CallSPSViaEPCTest.cpp
-
void checkResultType (const SelectionDAG & DAG, const SDNode * N, unsigned int ResIdx, EVT ExpectedVT)Defined at line 26 of file llvm/lib/CodeGen/SelectionDAG/SDNodeInfo.cpp
-
incrementWrapper (const char * ArgData, size_t ArgSize)A basic function to be used as both initializer/deinitializer
Defined at line 26 of file llvm/unittests/ExecutionEngine/Orc/SharedMemoryMapperTest.cpp
-
void handleDiagnostic (const SMDiagnostic & Diag, void * Ctx)Defined at line 26 of file llvm/lib/Remarks/YAMLRemarkParser.cpp
-
size_t getSizeColumnWidth (const SectionSizes & Sizes, StringRef SectionSizeTitle)Defined at line 26 of file llvm/tools/llvm-dwarfdump/SectionSizes.cpp
-
void runWithDomTree (Module & M, StringRef FuncName, function_ref Test)Build the dominator tree for the function and run the Test.
Defined at line 26 of file llvm/unittests/IR/DominatorTreeTest.cpp
-
void printFile (raw_ostream & O, StringRef Filename, StringRef Directory, unsigned int Line)Defined at line 26 of file llvm/lib/Analysis/ModuleDebugInfoPrinter.cpp
-
uint32_t getFlags (const Symbol * Sym)Defined at line 26 of file llvm/lib/Object/TapiFile.cpp
-
AssertionResult ErrorEquals (Error E, coveragemap_error Expected_Err, const std::string & Expected_Msg)Defined at line 26 of file llvm/unittests/ProfileData/CoverageMappingTest.cpp
-
vector getDominators (BasicBlock * BB)Return a vector of Blocks that dominates this block, excluding current
block.
Defined at line 26 of file llvm/lib/FuzzMutate/RandomIRBuilder.cpp
-
basic_string mangleFunc (StringRef IRName, LinkageTypes Linkage, llvm::CallingConv::ID CC, Module & Mod, Mangler & Mang)Defined at line 26 of file llvm/unittests/IR/ManglerTest.cpp
-
Type toRemarkType (DiagnosticKind Kind)DiagnosticKind -> remarks::Type
Defined at line 26 of file llvm/lib/IR/LLVMRemarkStreamer.cpp
-
bool stripDeadPrototypes (Module & M)Defined at line 26 of file llvm/lib/Transforms/IPO/StripDeadPrototypes.cpp
-
MVT getRegisterValueType (const Record * R, const CodeGenTarget & T)getRegisterValueType - Look up and return the ValueType of the specified
register. If the register is a member of multiple register classes, they
must all have the same type.
Defined at line 26 of file llvm/utils/TableGen/DAGISelMatcherGen.cpp
-
CPUSubTypeARM getARMSubType (const Triple & T)Defined at line 26 of file llvm/lib/BinaryFormat/MachO.cpp
-
bool CC_X86_32_RegCall_Assign2Regs (unsigned int & ValNo, MVT & ValVT, MVT & LocVT, CCValAssign::LocInfo & LocInfo, ISD::ArgFlagsTy & ArgFlags, CCState & State)When regcall calling convention compiled to 32 bit arch, special treatment
is required for 64 bit masks.
The value should be assigned to two GPRs.
Returns
true if registers were allocated and false otherwise.
Defined at line 26 of file llvm/lib/Target/X86/X86CallingConv.cpp
-
void identifyUninterestingMDNodes (Oracle & O, MDNodeList & MDs)Defined at line 26 of file llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
-
VTuneMethodBatch getMethodBatch (LinkGraph & G, bool EmitDebugInfo)Defined at line 26 of file llvm/lib/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.cpp
-
bool isELFAArch32StubsSection (Section & S)Defined at line 27 of file llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
-
bool shouldReduceUnnamedAddress (GlobalValue & GV)Defined at line 27 of file llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
-
Error failUnsupported (const Twine & Reason)FIXME: Use createStringError instead.
Defined at line 27 of file llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
-
void initializeMachineDominanceFrontierPassOnce (PassRegistry & Registry)Defined at line 27 of file llvm/lib/CodeGen/MachineDominanceFrontier.cpp
-
SecondMacroFusionInstKind classifySecond (const MachineInstr & MI)Defined at line 27 of file llvm/lib/Target/X86/X86MacroFusion.cpp
-
basic_string getExePath ()Defined at line 27 of file llvm/unittests/DebugInfo/PDB/NativeSessionTest.cpp
-
void setRecordName (unsigned int RecordID, BitstreamWriter & Bitstream, SmallVectorImpl<uint64_t> & R, StringRef Str)Defined at line 27 of file llvm/lib/Remarks/BitstreamRemarkSerializer.cpp
-
void insertIfNamed (SetVector<Value *> & Values, Value * V)Defined at line 27 of file llvm/lib/Transforms/ObjCARC/ProvenanceAnalysisEvaluator.cpp
-
basic_string convertToErrorFromString (StringRef Str)Defined at line 27 of file llvm/unittests/ADT/APFloatTest.cpp
-
unique_ptr makeLLVMModule (LLVMContext & Context, StringRef ModuleStr)Defined at line 27 of file llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
-
TypeIndex createArgListRecord (AppendingTypeTableBuilder & Builder, TypeIndex Q, TypeIndex R)Defined at line 27 of file llvm/unittests/DebugInfo/CodeView/TypeHashingTest.cpp
-
bool canComputePointerDiff (ScalarEvolution & SE, const SCEV * A, const SCEV * B)Defined at line 27 of file llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
-
void outputSpaceIfNecessary (OutputBuffer & OB)Writes a space if the last token does not end with a punctuation.
Defined at line 27 of file llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
-
template <typename T>const T * Find (StringRef S, ArrayRef<T> A)Find KV in array using binary search.
Defined at line 27 of file llvm/lib/MC/MCSubtargetInfo.cpp
-
void chunk_state_reset (llvm_blake3_chunk_state * self, const uint32_t[8] key, uint64_t chunk_counter)Defined at line 27 of file llvm/lib/Support/BLAKE3/blake3.c
-
void checkAnalyze (StringRef Input, StringRef Expected)Defined at line 27 of file llvm/unittests/Remarks/BitstreamRemarksSerializerTest.cpp
-
Expected getFirstRelocationEdge (LinkGraph & G, Block & B)Defined at line 27 of file llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
-
template <typename T>bool mapOptOrNull (const llvm::json::Value & Params, StringLiteral Prop, T & Out, Path Path)Helper that doesn't treat `null` and absent fields as failures.
Defined at line 27 of file llvm/lib/Support/LSP/Protocol.cpp
-
void appendSpeculatableOperands (const Value * V, SmallPtrSetImpl<const Value *> & Visited, SmallVectorImpl<const Value *> & Worklist)Defined at line 27 of file llvm/lib/Analysis/CodeMetrics.cpp
-
uint32_t getHashForUdt (const TagRecord & Rec, ArrayRef FullRecord)Computes the hash for a user-defined type record. This could be a struct,
class, union, or enum.
Defined at line 27 of file llvm/lib/DebugInfo/PDB/Native/TpiHashing.cpp
-
bool isNeutralElement (uint64_t Op, uint64_t Val)Returns true if an operation and operand result in a No Op.
Defined at line 27 of file llvm/lib/IR/DIExpressionOptimizer.cpp
-
void tryEmitAutoInitRemark (ArrayRef<Instruction *> Instructions, OptimizationRemarkEmitter & ORE, const TargetLibraryInfo & TLI)Defined at line 27 of file llvm/lib/Transforms/Scalar/AnnotationRemarks.cpp
-
void PrintMessage (ArrayRef Locs, DiagKind Kind, const Twine & Msg)Defined at line 27 of file llvm/lib/TableGen/Error.cpp
-
StringRef getImageName (const OffloadBinary & OB)Get the printable name of the image kind.
Defined at line 27 of file llvm/tools/llvm-objdump/OffloadDump.cpp
-
LLVMModuleRef llvm_load_module (LLVMContextRef C, _Bool Lazy, _Bool New)module.c
Defined at line 27 of file llvm/tools/llvm-c-test/module.c
-
template <size_t N>bool startswith (StringRef Magic, const char (&)[N] S)Defined at line 28 of file llvm/lib/BinaryFormat/Magic.cpp
-
OptDisable & getOptDisabler ()Defined at line 28 of file llvm/lib/IR/OptBisect.cpp
-
LLVMObjectFileRef wrap (const OwningBinary<ObjectFile> * OF)Defined at line 28 of file llvm/lib/Object/Object.cpp
-
void initializeLocalizerPassOnce (PassRegistry & Registry)Defined at line 28 of file llvm/lib/CodeGen/GlobalISel/Localizer.cpp
-
Error mapLocalVariableAddrRange (CodeViewRecordIO & IO, LocalVariableAddrRange & Range)Defined at line 28 of file llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp
-
unique_ptr parseIR (LLVMContext & C, const char * IR)Defined at line 28 of file llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
-
unique_ptr parseIR (LLVMContext & C, const char * IR)Defined at line 28 of file llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
-
int getListSize (Module & M, StringRef Name)Defined at line 28 of file llvm/unittests/Transforms/Utils/ModuleUtilsTest.cpp
-
void collectImpliedFeatures (std::set<const Record *> & SeenFeats, const Record * Rec)Collect the full set of implied features for a SubtargetFeature.
Defined at line 28 of file llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
-
bool callingConvRequiresArgument (const Function & F, const Argument & Arg)Defined at line 28 of file llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
-
unsigned int FindFirstNonCommonLetter (ArrayRef Matches)FindFirstNonCommonLetter - Find the first character in the keys of the
string pairs that is not shared across the whole set of strings. All
strings are assumed to have the same length.
Defined at line 28 of file llvm/lib/TableGen/StringMatcher.cpp
-
bool testBuildAttr (unsigned int Tag, unsigned int Value, unsigned int ExpectedTag, unsigned int ExpectedValue)Defined at line 28 of file llvm/unittests/Support/ARMAttributeParser.cpp
-
void printExtensionTable (raw_ostream & OS, ArrayRef Extensions, bool Experimental)Defined at line 28 of file llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
-
Expected getInstrProfSection (const object::ObjectFile & Obj, InstrProfSectKind IPSK)Get profile section.
Defined at line 28 of file llvm/lib/ProfileData/InstrProfCorrelator.cpp
-
void sinkDefsToUsesInFunction (Oracle & O, Function & F)Defined at line 28 of file llvm/tools/llvm-reduce/deltas/ReduceSinkDefsToUses.cpp
-
bool consumeFieldLayout (StringRef & Spec, AlignStyle & Where, unsigned int & Align, char & Pad)Defined at line 28 of file llvm/lib/Support/FormatVariadic.cpp
-
bool canReduceUse (Use & Op)Defined at line 28 of file llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
-
void removeGlobalCtors (GlobalVariable * GCL, const BitVector & CtorsToRemove)Given a specified llvm.global_ctors list, remove the listed elements.
Defined at line 28 of file llvm/lib/Transforms/Utils/CtorUtils.cpp
-
bool runImpl (Function & F, const SimplifyQuery & SQ)Defined at line 28 of file llvm/lib/Transforms/Scalar/InstSimplifyPass.cpp
-
basic_string computeARMDataLayout (const Triple & TT, StringRef ABIName)Defined at line 28 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
bool checkIntegrityScopesTree (LVScope * Root)Detect elements that are inserted more than once at different scopes,
causing a crash on the reader destruction, as the element is already
deleted from other scope. Helper for CodeView reader.
Defined at line 28 of file llvm/lib/DebugInfo/LogicalView/Core/LVReader.cpp
-
void initializeMachineCycleInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 29 of file llvm/lib/CodeGen/MachineCycleAnalysis.cpp
-
bool shouldKeepDebugIntrinsicMetadata (Instruction & I, MDNode & MD)Defined at line 29 of file llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
-
void sleep_for (unsigned int seconds)Defined at line 29 of file llvm/unittests/Support/ProgramTest.cpp
-
PointerMode getPointerMode (uint32_t Attrs)Defined at line 29 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
bool operator== (const HTTPRequest & A, const HTTPRequest & B)Defined at line 29 of file llvm/lib/Debuginfod/HTTPClient.cpp
-
bool LowerLoadInst (LoadInst * LI)Defined at line 29 of file llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp
-
void addAsyncWrapper (unique_function SendResult, int32_t X, int32_t Y)Defined at line 29 of file llvm/unittests/ExecutionEngine/Orc/ExecutionSessionWrapperFunctionCallsTest.cpp
-
Expected loadDylib (llvm::orc::ExecutionSession & ES, StringRef RemotePath)Defined at line 29 of file llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
-
LLVMBool LLVMParseBitcode2 (LLVMMemoryBufferRef MemBuf, LLVMModuleRef * OutModule)Builds a module from the bitcode in the specified memory buffer, returning a
reference to the module via the OutModule parameter. Returns 0 on success.
Defined at line 29 of file llvm/lib/Bitcode/Reader/BitReader.cpp
-
Value * replaceIntrinsic (Module & M, IntrinsicInst * II, Intrinsic::ID NewIID, ArrayRef Tys)Defined at line 29 of file llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
-
Expected getRemarksSectionName (const object::ObjectFile & Obj)Defined at line 29 of file llvm/lib/Remarks/RemarkLinker.cpp
-
BasicBlock * getUserBB (Use * U)Helper function for finding a block which should have a value for the given
user. For PHI-nodes this block is the corresponding predecessor, for other
instructions it's their parent block.
Defined at line 29 of file llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp
-
unsigned int getSectionID (const ObjectFile & O, SectionRef Sec)Defined at line 29 of file llvm/lib/Object/SymbolSize.cpp
-
bool canPHITrans (Instruction * Inst)Defined at line 29 of file llvm/lib/Analysis/PHITransAddr.cpp
-
uint64_t debugStrOffsetsHeaderSize (DataExtractor StrOffsetsData, uint16_t DwarfVersion)Returns the size of debug_str_offsets section headers in bytes.
Defined at line 29 of file llvm/lib/DWP/DWP.cpp
-
Expected getFirstRelocationEdge (LinkGraph & G, Block & B)Defined at line 29 of file llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
-
void RunTest (StringRef Head, StringRef Tail, std::vector<std::pair<StringRef, llvm::function_ref<void (Instruction *)>>> & Tests)Defined at line 29 of file llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
-
void orc_rt_lite_reoptimize_helper (shared::CWrapperFunctionBuffer (*)(void *, void *, void *, size_t) JITDispatch, void * JITDispatchCtx, void * Tag, uint64_t MUID, uint32_t CurVersion)Defined at line 29 of file llvm/lib/ExecutionEngine/Orc/ReOptimizeLayer.cpp
-
void printName (raw_ostream & OS, StringRef Name)Defined at line 29 of file llvm/lib/MC/MCAsmInfoWasm.cpp
-
bool shouldConvertToRelLookupTable (LookupTableInfo & Info, Module & M, GlobalVariable & GV)Defined at line 29 of file llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
-
Expected dumpDXContainer (MemoryBufferRef Source)Defined at line 29 of file llvm/tools/obj2yaml/dxcontainer2yaml.cpp
-
GenericValue * unwrap (LLVMGenericValueRef P)Wrapping the C bindings types.
Defined at line 30 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
LLVMGenericValueRef wrap (const GenericValue * P)Wrapping the C bindings types.
Defined at line 30 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
void LLVMLinkInInterpreter ()Empty function used to force the linker to link the LLVM interpreter.
Has no effect when called on a pre-built library (dylib interface).
Defined at line 30 of file llvm/lib/ExecutionEngine/Interpreter/Interpreter.cpp
-
void or32le (void * P, int32_t V)Defined at line 30 of file llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
-
uint32_t blk0 (uint32_t * Buf, int I)Defined at line 30 of file llvm/lib/Support/SHA1.cpp
-
Expected getRemarkFilters ()Defined at line 30 of file llvm/tools/llvm-remarkutil/RemarkCounter.cpp
-
basic_string gtest_DLangDemangleTestDLangDemangleTestFixture_EvalGenerateName_ (const ::testing::TestParamInfo<DLangDemangleTestFixture::ParamType> & info)Defined at line 30 of file llvm/unittests/Demangle/DLangDemangleTest.cpp
-
ParamGenerator gtest_DLangDemangleTestDLangDemangleTestFixture_EvalGenerator_ ()Defined at line 30 of file llvm/unittests/Demangle/DLangDemangleTest.cpp
-
void anchor ()Defined at line 30 of file llvm/unittests/Passes/Plugins/PluginsTest.cpp
-
bool operator< (const DeltaInfo & LHS, int64_t Delta)Defined at line 30 of file llvm/lib/DebugInfo/GSYM/LineTable.cpp
-
bool isAligned (const Value * Base, Align Alignment, const DataLayout & DL)Defined at line 30 of file llvm/lib/Analysis/Loads.cpp
-
LLVMTargetLibraryInfoRef wrap (const TargetLibraryInfoImpl * P)Defined at line 30 of file llvm/lib/Target/Target.cpp
-
unsigned int checkArchVersion (StringRef Arch)Defined at line 30 of file llvm/lib/TargetParser/AArch64TargetParser.cpp
-
unsigned int getUnsignedFromPrefixEncoding (unsigned int U)Reverse transformation as getPrefixEncodingFromUnsigned.
Defined at line 30 of file llvm/include/llvm/Support/Discriminator.h
-
SmallVector getArgTypes (ArrayRef FunctionArgs)Defined at line 30 of file llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
-
unique_ptr parseIR (LLVMContext & C, const char * IR)Defined at line 30 of file llvm/benchmarks/SandboxIRBench.cpp
-
unique_ptr parseIR (LLVMContext & C, const char * IR)Defined at line 30 of file llvm/unittests/IR/DebugInfoTest.cpp
-
Constant * getNegativeIsTrueBoolVec (Constant * V, const DataLayout & DL)Return a constant boolean vector that has true elements in all positions
where the input constant data vector has an element with the sign bit set.
Defined at line 30 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
basic_string getOSVersion ()Defined at line 30 of file llvm/lib/TargetParser/Unix/Host.inc
-
StringRef getDIEStringAttr (const DIE & Die, uint16_t Attr)Grabs the string in whichever attribute is passed in and returns
a reference to it.
Defined at line 30 of file llvm/lib/CodeGen/AsmPrinter/DIEHash.cpp
-
vector tokenize (StringRef S)Defined at line 30 of file llvm/unittests/Frontend/OpenMPDirectiveNameParserTest.cpp
-
template <typename SectionType>Section constructSectionCommon (const SectionType & Sec, uint32_t Index)Defined at line 30 of file llvm/lib/ObjCopy/MachO/MachOReader.cpp
-
template <class ArgIt>CallInst * ReplaceCallWith (const char * NewFn, CallInst * CI, ArgIt ArgBegin, ArgIt ArgEnd, Type * RetTy)This function is used when we want to lower an intrinsic call to a call of
an external function. This handles hard cases such as when there was already
a prototype for the external function, but that prototype doesn't match the
arguments we expect to pass in.
Defined at line 30 of file llvm/lib/CodeGen/IntrinsicLowering.cpp
-
KnownBits computeForAddCarry (const KnownBits & LHS, const KnownBits & RHS, bool CarryZero, bool CarryOne)Defined at line 30 of file llvm/lib/Support/KnownBits.cpp
-
Value * fitArgInto64Bits (IRBuilder<> & Builder, Value * Arg)Defined at line 30 of file llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
-
AssertionResult checkResult (Twine Name, const KnownBits & Exact, const KnownBits & Computed, ArrayRef Inputs, bool CheckOptimality)Defined at line 30 of file llvm/unittests/Support/KnownBitsTest.cpp
-
bool isSafeToMove (Instruction * Inst, AliasAnalysis & AA, SmallPtrSetImpl<Instruction *> & Stores)Defined at line 30 of file llvm/lib/Transforms/Scalar/Sink.cpp
-
void appendToGlobalArray (StringRef ArrayName, Module & M, Function * F, int Priority, Constant * Data)Defined at line 30 of file llvm/lib/Transforms/Utils/ModuleUtils.cpp
-
void emitCATTR (raw_ostream & OS, StringRef Name, ESDRmode Rmode, ESDAlignment Alignment, ESDLoadingBehavior LoadBehavior, ESDExecutable Executable, bool IsReadOnly, uint32_t SortKey, uint8_t FillByteValue, StringRef PartName)Defined at line 30 of file llvm/lib/MC/MCAsmInfoGOFF.cpp
-
bool tryToImproveAlign (const DataLayout & DL, Instruction * I, function_ref Fn)Defined at line 30 of file llvm/lib/Transforms/Scalar/InferAlignment.cpp
-
void initializeEdgeBundlesWrapperLegacyPassOnce (PassRegistry & Registry)Defined at line 31 of file llvm/lib/CodeGen/EdgeBundles.cpp
-
int freeBinaryOp (int , float )Defined at line 31 of file llvm/unittests/ExecutionEngine/Orc/CallableTraitsHelperTest.cpp
-
bool isSignedChar (char C)Defined at line 31 of file llvm/lib/Support/FileUtilities.cpp
-
bool shouldReduceDLLStorageClass (GlobalValue & GV)Defined at line 31 of file llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
-
void setMaxOnDiskCASMappingSize ()Defined at line 31 of file llvm/unittests/CAS/CASTestConfig.cpp
-
void writeTitle (StringRef Str, raw_ostream & OS, char Kind)Defined at line 31 of file llvm/utils/TableGen/InstrDocsEmitter.cpp
-
int LLVMWriteBitcodeToFD (LLVMModuleRef M, int FD, int ShouldClose, int Unbuffered)Writes a module to an open file descriptor. Returns 0 on success.
Defined at line 31 of file llvm/lib/Bitcode/Writer/BitWriter.cpp
-
int parseIR (LLVMContext & C, const char * IR)Defined at line 31 of file llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
-
unique_ptr readModule (LLVMContext & Context, StringRef Name)Reads a module from a file. On error, messages are written to stderr
and null is returned.
Defined at line 31 of file llvm/tools/llvm-diff/llvm-diff.cpp
-
uint8_t * roundTripAllocateCodeSection (void * object, uintptr_t size, unsigned int alignment, unsigned int sectionID, const char * sectionName)Defined at line 31 of file llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
-
void createDeadDef (SlotIndexes & Indexes, VNInfo::Allocator & Alloc, LiveRange & LR, const MachineOperand & MO)Defined at line 31 of file llvm/lib/CodeGen/LiveIntervalCalc.cpp
-
StringMapEntryBase ** createTable (unsigned int NewNumBuckets)Defined at line 31 of file llvm/lib/Support/StringMap.cpp
-
template <typename... Ts>void error (error_code EC, const char * Fmt, const Ts &... Vals)Defined at line 31 of file llvm/tools/llvm-debuginfo-analyzer/llvm-debuginfo-analyzer.cpp
-
void ExpectThatElementsAre (sandboxir::SeedBundle & SR, llvm::ArrayRef<sandboxir::Instruction *> Contents)TODO: gcc-10 has a bug that causes the below line not to compile due to some
macro-magic in gunit in combination with a class with pure-virtual
function. Once gcc-10 is no longer supported, replace this function with
something like the following:
EXPECT_THAT(SB, testing::ElementsAre(St0, St1, St2, St3));
Defined at line 31 of file llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SeedCollectorTest.cpp
-
Expected getFirstRelocationEdge (LinkGraph & G, Block & B)Defined at line 31 of file llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
-
void run (Module & M, StringRef FuncName, function_ref<void (Function &, DominatorTree &, ScalarEvolution &, LoopInfo &)> Test)Defined at line 31 of file llvm/unittests/Transforms/Utils/LoopUtilsTest.cpp
-
vector getRandomFuncNames ()Defined at line 31 of file llvm/benchmarks/RuntimeLibcalls.cpp
-
void lowerSubFn (IRBuilder<> & Builder, CoroSubFnInst * SubFn)Defined at line 31 of file llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
-
basic_string formatLocalSymFlags (uint32_t IndentLevel, LocalSymFlags Flags)Defined at line 31 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
bool useCompactUnwind (const Triple & T)Defined at line 31 of file llvm/lib/MC/MCObjectFileInfo.cpp
-
void vTtoGetLlvmTyString (raw_ostream & OS, const Record * VT)Defined at line 31 of file llvm/utils/TableGen/Basic/VTEmitter.cpp
-
void initializeRuntimeLibraryInfoWrapperPassOnce (PassRegistry & Registry)Defined at line 32 of file llvm/lib/Analysis/RuntimeLibcallInfo.cpp
-
bool bundleHasArgument (const CallBase::BundleOpInfo & BOI, unsigned int Idx)Defined at line 32 of file llvm/lib/Analysis/AssumeBundleQueries.cpp
-
void or32AArch64Imm (void * L, uint64_t Imm)Defined at line 32 of file llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
-
template <typename T>BinaryRef makeBinRef (const T * Ptr, size_t Size)Defined at line 32 of file llvm/unittests/DebugInfo/BTF/BTFParserTest.cpp
-
void initializeDominanceFrontierWrapperPassPassOnce (PassRegistry & Registry)Defined at line 32 of file llvm/lib/Analysis/DominanceFrontier.cpp
-
unsigned short MakeMask (unsigned int V0, unsigned int V1, unsigned int V2, unsigned int V3)Mask manipulation functions.
Defined at line 32 of file llvm/utils/PerfectShuffle/PerfectShuffle.cpp
-
bool canUseNonVoidReturnType (const Function & F)Return true if it is legal to emit a copy of the function with a non-void
return type.
Defined at line 32 of file llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
-
void testParseError (ArrayRef bytes, const char * msg)Defined at line 32 of file llvm/unittests/Support/ELFAttributeParserTest.cpp
-
uint32_t blk (uint32_t * Buf, int I)Defined at line 32 of file llvm/lib/Support/SHA1.cpp
-
void __jit_debug_register_code ()Debuggers that implement the GDB JIT interface put a special breakpoint in
this function.
Defined at line 32 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
-
template <typename T>T getUniversalBinaryStruct (const char * Ptr)Defined at line 32 of file llvm/lib/Object/MachOUniversal.cpp
-
basic_string getEnumNameForPredicate (const TreePredicateFn & Predicate)Get the name of the enum value used to number the predicate function.
Defined at line 32 of file llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
-
basic_string LibPath (basic_string Name)Defined at line 32 of file llvm/unittests/Passes/Plugins/PluginsTest.cpp
-
uint32_t calculateDiSymbolStreamSize (uint32_t SymbolByteSize, uint32_t C13Size)Defined at line 32 of file llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp
-
template <typename ContribType>Error loadSectionContribs (FixedStreamArray<ContribType> & Output, BinaryStreamReader & Reader)Defined at line 32 of file llvm/lib/DebugInfo/PDB/Native/DbiStream.cpp
-
void normalizeCharSetName (StringRef CSName, SmallVectorImpl<char> & Normalized)Normalize the charset name with the charset alias matching algorithm proposed
in https://www.unicode.org/reports/tr22/tr22-8.html#Charset_Alias_Matching.
Defined at line 32 of file llvm/lib/Support/TextEncoding.cpp
-
Libcall GetFPLibCall (EVT VT, Libcall Call_F32, Libcall Call_F64, Libcall Call_F80, Libcall Call_F128, Libcall Call_PPCF128)GetFPLibCall - Return the right libcall for the given floating point type.
FIXME: This is a local version of RTLIB::getFPLibCall that should be
refactored away (see RTLIB::getPOWI for an example).
Defined at line 32 of file llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
-
int sizeOfSCEV (const SCEV * S)Defined at line 32 of file llvm/lib/Analysis/ScalarEvolutionDivision.cpp
-
bool isSuspendReachableFrom (BasicBlock * From, VisitedBlocksSet & VisitedOrFreeBBs)Does control flow starting at the given block ever reach a suspend
instruction before reaching a block in VisitedOrFreeBBs?
Defined at line 32 of file llvm/lib/Transforms/Coroutines/SpillUtils.cpp
-
Error finishVisitation (CVSymbol & Record, SymbolVisitorCallbacks & Callbacks)Defined at line 32 of file llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp
-
Value * generateSignedRemainderCode (Value * Dividend, Value * Divisor, IRBuilder<> & Builder)Generate code to compute the remainder of two signed integers. Returns the
remainder, which will have the sign of the dividend. Builder's insert point
should be pointing where the caller wants code generated, e.g. at the srem
instruction. This will generate a urem in the process, and Builder's insert
point will be pointing at the uren (if present, i.e. not folded), ready to
be expanded if the user wishes
Defined at line 32 of file llvm/lib/Transforms/Utils/IntegerDivision.cpp
-
StringRef getResourceKindName (ResourceKind RK)Defined at line 32 of file llvm/lib/Analysis/DXILResource.cpp
-
iterator_range getFirstCompositeRange (iterator_range Leafs)Defined at line 32 of file llvm/lib/Frontend/OpenMP/OMP.cpp
-
Error loadNaiveFormatLog (StringRef Data, bool IsLittleEndian, XRayFileHeader & FileHeader, std::vector<XRayRecord> & Records)Defined at line 32 of file llvm/lib/XRay/Trace.cpp
-
bool startsWithDigit (basic_string_view S)Defined at line 33 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
section_iterator * unwrap (LLVMSectionIteratorRef SI)Defined at line 33 of file llvm/lib/Object/Object.cpp
-
bool shouldKeepDebugNamedMetadata (NamedMDNode & MD)Defined at line 33 of file llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
-
LLVMTargetMachineRef wrap (const TargetMachine * P)Wrapping the C bindings types.
Defined at line 33 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
template <typename T>void compareData (ArrayIndexedAccessorRange<T> range, ArrayRef<T> referenceData)Defined at line 33 of file llvm/unittests/Support/IndexedAccessorTest.cpp
-
AtomicOrdering strongerOrdering (AtomicOrdering X, AtomicOrdering Y)Return the stronger of the two ordering. If the two orderings are acquire
and release, then return AcquireRelease.
Defined at line 33 of file llvm/lib/Transforms/Utils/GlobalStatus.cpp
-
void parseGoodMeta (StringRef Buf)Defined at line 33 of file llvm/unittests/Remarks/YAMLRemarksParsingTest.cpp
-
StringRef getInvalidNoteELF (bool WithShdr)Defined at line 33 of file llvm/unittests/Object/BuildIDTest.cpp
-
bool PrintInsts (const MCDisassembler & DisAsm, const ByteArrayTy & Bytes, SourceMgr & SM, raw_ostream & Out, MCStreamer & Streamer, bool InAtomicBlock, const MCSubtargetInfo & STI)Defined at line 33 of file llvm/tools/llvm-ml/Disassembler.cpp
-
unordered_multimap loadDataFiles (const std::string & NamesFile, const std::string & AliasesFile)Collect names UnicodeData.txt and AliasNames.txt
There may be multiple names per code points.
Defined at line 33 of file llvm/utils/UnicodeData/UnicodeNameMappingGenerator.cpp
-
Error extractOffloadBundle (MemoryBufferRef Contents, uint64_t SectionOffset, StringRef FileName, SmallVectorImpl<OffloadBundleFatBin> & Bundles)Extract an Offload bundle (usually a Offload Bundle) from a fat_bin
section.
Defined at line 33 of file llvm/lib/Object/OffloadBundle.cpp
-
void initializeCodeGenTestPassOnce (PassRegistry & Registry)Defined at line 34 of file llvm/unittests/CodeGen/CGPluginTest/Plugin/CodeGenTestPass.cpp
-
int SortSymbolPair (const PairTy * LHS, const PairTy * RHS)Defined at line 34 of file llvm/lib/CodeGen/MachineModuleInfoImpls.cpp
-
bool isHazard (const SDep & Dep)Defined at line 34 of file llvm/lib/CodeGen/MacroFusion.cpp
-
LLVMComdatRef LLVMGetOrInsertComdat (LLVMModuleRef M, const char * Name)Return the Comdat in the module with the specified name. It is created
if it didn't already exist.
Defined at line 34 of file llvm/lib/IR/Comdat.cpp
-
voidWrapper (const char * ArgData, size_t ArgSize)Defined at line 34 of file llvm/unittests/ExecutionEngine/Orc/ExecutionSessionWrapperFunctionCallsTest.cpp
-
bool LowerStoreInst (StoreInst * SI)Defined at line 34 of file llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp
-
bool isMemberPointer (uint32_t Attrs)Defined at line 34 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
void printReferenceBase (raw_ostream & OS, StringRef Kind, uint64_t InternalRef, optional ID)Defined at line 34 of file llvm/lib/CAS/ObjectStore.cpp
-
bool checkModuleSubsection (ModuleSubsection MS)Defined at line 34 of file llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
-
AssertionResult NoError (error_code EC)Defined at line 34 of file llvm/unittests/ProfileData/SampleProfTest.cpp
-
Metadata * getKeyFPValMD (LLVMContext & Context, const char * Key, double Val)Defined at line 34 of file llvm/lib/IR/ProfileSummary.cpp
-
int64_t getAsInt (const Init * B)Defined at line 34 of file llvm/utils/TableGen/SearchableTableEmitter.cpp
-
template <typename T>Error visitKnownMember (CVMemberRecord & Record, TypeVisitorCallbacks & Callbacks)Defined at line 34 of file llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp
-
raw_ostream & writeStrTableOffset (raw_ostream & OS, const StringToOffsetTable & Table, StringRef Str)Defined at line 34 of file llvm/utils/TableGen/OptionParserEmitter.cpp
-
Error createSMDiagnosticError (llvm::SMDiagnostic & Diag)Defined at line 34 of file llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/../ExampleModules.h
-
void setImpliedBits (FeatureBitset & Bits, const FeatureBitset & Implies, ArrayRef FeatureTable)For each feature that is (transitively) implied by this feature, set it.
Defined at line 34 of file llvm/lib/TargetParser/TargetParser.cpp
-
bool rcGetAsInteger (StringRef Representation, uint32_t & Num)Checks if Representation is a correct description of an RC integer.
It should be a 32-bit unsigned integer, either decimal or hexadecimal
(0x[0-9a-f]+). For Windres mode, it can also be octal (0[0-7]+).
It might be followed by a single 'L' character (that is the difference
between our representation and StringRef's one). If Representation is
correct, 'true' is returned and the return value is put back in Num.
Defined at line 34 of file llvm/tools/llvm-rc/ResourceScriptToken.cpp
-
void checkError (ArrayRef ExpectedMsgs, Error Err)Defined at line 34 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
void run (Module & M, StringRef FuncName, function_ref<void (Function &, DominatorTree &, PostDominatorTree &, DependenceInfo &)> Test)Defined at line 34 of file llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
-
bool encodeSpecial (int64_t MinLineDelta, int64_t MaxLineDelta, int64_t LineDelta, uint64_t AddrDelta, uint8_t & SpecialOp)Defined at line 34 of file llvm/lib/DebugInfo/GSYM/LineTable.cpp
-
bool isCaseSensitivePath (StringRef Path)Defined at line 34 of file llvm/lib/Support/FileCollector.cpp
-
const char * stringForContext (InstructionContext insnContext)stringForContext - Returns a string containing the name of a particular
InstructionContext, usually for diagnostic purposes.
Parameters
insnContext - The instruction class to transform to a string.Returns
- A statically-allocated string constant that contains the
name of the instruction class.
Defined at line 34 of file llvm/utils/TableGen/X86DisassemblerTables.cpp
-
StringRef knownBundleName (unsigned int BundleTagID)Defined at line 34 of file llvm/lib/IR/LLVMContext.cpp
-
void ProcessElementList (StringTableBuilder & StrTabBuilder, SmallVectorImpl<uint32_t> & IndexBuffer, SmallVectorImpl<v0::SignatureElement> & FinalElements, SmallVectorImpl<StringRef> & SemanticNames, ArrayRef Elements)Defined at line 34 of file llvm/lib/MC/DXContainerPSVInfo.cpp
-
const char * DecodeDWARFEncoding (unsigned int Encoding)===----------------------------------------------------------------------===//
Dwarf Emission Helper Routines
===----------------------------------------------------------------------===//
Defined at line 34 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp
-
int llvm_test_dibuilder ()debuginfo.c
Defined at line 34 of file llvm/tools/llvm-c-test/debuginfo.c
-
void initializeBasicBlockSectionsProfileReaderWrapperPassPassOnce (PassRegistry & Registry)Defined at line 35 of file llvm/lib/CodeGen/BasicBlockSectionsProfileReader.cpp
-
Expected getRemarkFilters ()Defined at line 35 of file llvm/tools/llvm-remarkutil/RemarkFilter.cpp
-
void suppressErrorMessages (const llvm::SMDiagnostic & , void * )Defined at line 35 of file llvm/unittests/Support/YAMLIOTest.cpp
-
uint64_t KindFromData (uint64_t Data, char SizeofPtr)Defined at line 35 of file llvm/tools/sanstats/sanstats.cpp
-
void printRecords (const RecordKeeper & Records, raw_ostream & OS)Defined at line 35 of file llvm/utils/TableGen/Basic/TableGen.cpp
-
unique_ptr getSymbolType (const PDBSymbol & Symbol)Defined at line 35 of file llvm/lib/DebugInfo/PDB/UDTLayout.cpp
-
void getVectors (Module & M, IRInstructionMapper & Mapper, std::vector<IRInstructionData *> & InstrList, std::vector<unsigned int> & UnsignedVec)Defined at line 35 of file llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
-
Limits makeLimits (const wasm::WasmLimits & Limits)Defined at line 35 of file llvm/tools/obj2yaml/wasm2yaml.cpp
-
double convertToDoubleFromString (StringRef Str)Defined at line 35 of file llvm/unittests/ADT/APFloatTest.cpp
-
bool isExponentChar (char C)Defined at line 35 of file llvm/lib/Support/FileUtilities.cpp
-
template <typename T>Expected<ArrayRef<T>> getDataSliceAsArrayOf (ArrayRef Data, uint64_t Offset, uint64_t Count)Defined at line 35 of file llvm/lib/Object/SFrameParser.cpp
-
void initBlock (unsigned int BlockID, BitstreamWriter & Bitstream, SmallVectorImpl<uint64_t> & R, StringRef Str)Defined at line 35 of file llvm/lib/Remarks/BitstreamRemarkSerializer.cpp
-
__normal_iterator emplace (TripleVec & Container, Triple && T)Defined at line 35 of file llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
-
TypeIndex createProcedureRecord (AppendingTypeTableBuilder & Builder, uint32_t ParamCount, TypeIndex Return, TypeIndex ArgList)Defined at line 35 of file llvm/unittests/DebugInfo/CodeView/TypeHashingTest.cpp
-
DenseSet getAssumptions (const Attribute & A)Defined at line 35 of file llvm/lib/IR/Assumptions.cpp
-
void runWithLoopInfoPlus (Module & M, StringRef FuncName, function_ref<void (Function &, LoopInfo &, ScalarEvolution &)> Test)Build the loop info and scalar evolution for the function and run the Test.
Defined at line 35 of file llvm/unittests/Analysis/LoopInfoTest.cpp
-
bool testAttribute (unsigned int Tag, unsigned int Value, unsigned int ExpectedTag, unsigned int ExpectedValue)Defined at line 35 of file llvm/unittests/Support/RISCVAttributeParserTest.cpp
-
int llvm_set_metadata ()Defined at line 35 of file llvm/tools/llvm-c-test/metadata.c
-
LLVMBool LLVMParseBitcodeInContext (LLVMContextRef ContextRef, LLVMMemoryBufferRef MemBuf, LLVMModuleRef * OutModule, char ** OutMessage)This is deprecated. Use LLVMParseBitcodeInContext2.
Defined at line 35 of file llvm/lib/Bitcode/Reader/BitReader.cpp
-
bool promoteMemoryToRegister (Function & F, DominatorTree & DT, AssumptionCache & AC)Defined at line 35 of file llvm/lib/Transforms/Utils/Mem2Reg.cpp
-
void RaiseLimits ()Defined at line 35 of file llvm/lib/Support/InitLLVM.cpp
-
Value * redirectToHub (BasicBlock * BB, BasicBlock * Succ0, BasicBlock * Succ1, BasicBlock * FirstGuardBlock)Redirects the terminator of the incoming block to the first guard block in
the hub. Returns the branch condition from `BB` if it exits.
- If only one of Succ0 or Succ1 is not null, the corresponding branch
successor is redirected to the FirstGuardBlock.
- Else both are not null, and branch is replaced with an unconditional
branch to the FirstGuardBlock.
Defined at line 35 of file llvm/lib/Transforms/Utils/ControlFlowUtils.cpp
-
void getNameWithPrefixImpl (raw_ostream & OS, const Twine & GVName, ManglerPrefixTy PrefixTy, const DataLayout & DL, char Prefix)Defined at line 35 of file llvm/lib/IR/Mangler.cpp
-
void addFlagsUsingAttrFn (ISD::ArgFlagsTy & Flags, const std::function<bool (Attribute::AttrKind)> & AttrFn)Helper function which updates
when
returns true.
Defined at line 35 of file llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
-
bool shouldScheduleAdjacent (const TargetInstrInfo & TII, const TargetSubtargetInfo & TSI, const MachineInstr * FirstMI, const MachineInstr & SecondMI)Check if the instr pair, FirstMI and SecondMI, should be fused
together. Given SecondMI, when FirstMI is unspecified, then check if
SecondMI may be part of a fused pair at all.
Defined at line 35 of file llvm/lib/Target/X86/X86MacroFusion.cpp
-
void PrintResults (AliasResult AR, bool P, pair Loc1, pair Loc2, const Module * M)Defined at line 35 of file llvm/lib/Analysis/AliasAnalysisEvaluator.cpp
-
bool isDereferenceableAndAlignedPointerViaAssumption (const Value * Ptr, Align Alignment, function_ref CheckSize, const DataLayout & DL, const Instruction * CtxI, AssumptionCache * AC, const DominatorTree * DT)Defined at line 35 of file llvm/lib/Analysis/Loads.cpp
-
basic_string formatClassOptions (uint32_t IndentLevel, ClassOptions Options, TpiStream * Stream, TypeIndex CurrentTypeIndex)Defined at line 35 of file llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
-
void replaceBranchTerminator (BasicBlock & BB, const BlockSet & BBsToDelete)Replaces BB Terminator with one that only contains Chunk BBs
Defined at line 35 of file llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
-
void nullDeref ()Defined at line 36 of file llvm/unittests/Support/CrashRecoveryTest.cpp
-
PointerUnion getSym (DataRefImpl & Symb)Defined at line 36 of file llvm/lib/Object/IRObjectFile.cpp
-
uint64_t * getClearedMemory (unsigned int numWords)A utility function for allocating memory, checking for allocation failures,
and ensuring the contents are zeroed.
Defined at line 36 of file llvm/lib/Support/APInt.cpp
-
bool shouldReduceThreadLocal (GlobalValue & GV)Defined at line 36 of file llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
-
template <class T>void write (bool isBE, void * P, T V)Defined at line 36 of file llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
-
size_t chunk_state_len (const llvm_blake3_chunk_state * self)Defined at line 36 of file llvm/lib/Support/BLAKE3/blake3.c
-
bool DefaultAutoDetectFunction (const raw_ostream & OS)Defined at line 36 of file llvm/lib/Support/WithColor.cpp
-
void dumpIdxVec (ArrayRef V)Defined at line 36 of file llvm/utils/TableGen/Common/CodeGenSchedule.cpp
-
Value * getValueFromBundleOpInfo (AssumeInst & Assume, const CallBase::BundleOpInfo & BOI, unsigned int Idx)Defined at line 36 of file llvm/lib/Analysis/AssumeBundleQueries.cpp
-
template <typename MapType, typename EndianType>void mapOptionalAs (yaml::IO & IO, const char * Key, EndianType & Val, MapType Default)Perform an optional yaml-mapping of an endian-aware type EndianType as some
other type MapType.
Defined at line 36 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
bool isLoadCommandWithPayloadString (const LoadCommand & LC)Defined at line 36 of file llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
-
void checkOperandType (const SelectionDAG & DAG, const SDNode * N, unsigned int OpIdx, EVT ExpectedVT)Defined at line 36 of file llvm/lib/CodeGen/SelectionDAG/SDNodeInfo.cpp
-
DecodeStatus getInstruction (const MCDisassembler & DisAsm, const MCSubtargetInfo & STI, MCInst & Inst, uint64_t & Size, ArrayRef Bytes, uint64_t Address)Defined at line 36 of file llvm/tools/llvm-mc/Disassembler.cpp
-
void initLLVM ()Defined at line 36 of file llvm/unittests/CodeGen/GlobalISel/GISelMITest.h
-
void outputSingleQualifier (OutputBuffer & OB, Qualifiers Q)Defined at line 36 of file llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
-
void writeWithCommas (raw_ostream & S, ArrayRef Buffer)Defined at line 36 of file llvm/lib/Support/NativeFormatting.cpp
-
void reduceConditionals (Oracle & O, ReducerWorkItem & WorkItem, bool Direction)Defined at line 36 of file llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
-
Expected metadataRecordType (const XRayFileHeader & Header, uint8_t T)Defined at line 36 of file llvm/lib/XRay/FDRRecordProducer.cpp
-
void initializePhysicalRegisterUsageInfoWrapperLegacyPassOnce (PassRegistry & Registry)Defined at line 37 of file llvm/lib/CodeGen/RegisterUsageInfo.cpp
-
void incrementGlobal ()Defined at line 37 of file llvm/unittests/Support/CrashRecoveryTest.cpp
-
void writeHeader (StringRef Str, raw_ostream & OS, char Kind)Defined at line 37 of file llvm/utils/TableGen/InstrDocsEmitter.cpp
-
bool isKnownV5SectionID (uint32_t ID)Return true if the section identifier is defined in the DWARFv5 standard.
Defined at line 37 of file llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp
-
LLVMSectionIteratorRef wrap (const section_iterator * SI)Defined at line 37 of file llvm/lib/Object/Object.cpp
-
bool hasAutoInitMetadata (const Instruction & I)Defined at line 37 of file llvm/lib/Transforms/Utils/MoveAutoInit.cpp
-
uint16_t fold_64_to_16 (const uint64_t Value)Fold a 64-bit integer to a 16-bit one.
Defined at line 37 of file llvm/lib/CodeGen/MachineBlockHashInfo.cpp
-
CASTestingEnv createOnDisk (int I)Defined at line 37 of file llvm/unittests/CAS/CASTestConfig.cpp
-
void SetImpliedBits (FeatureBitset & Bits, const FeatureBitset & Implies, ArrayRef FeatureTable)For each feature that is (transitively) implied by this feature, set it.
Defined at line 37 of file llvm/lib/MC/MCSubtargetInfo.cpp
-
void insertCallBeforeInstruction (Function & Fn, Instruction & Instruction, const char * FunctionName, ArrayRef FunctionArgs)Defined at line 37 of file llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
-
StringRef getFESpelling (Frontend FE)Defined at line 37 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
StringRef toUTF8 (UTF32 C, MutableArrayRef Storage)Defined at line 37 of file llvm/lib/Support/DJB.cpp
-
const DenseMap<Directive, StringRef> & Expected60 ()Defined at line 37 of file llvm/unittests/Frontend/OpenMPDirectiveNameTest.cpp
-
template <typename T>Error readInteger (StringRef Buffer, const char * Src, T & Val, Twine Str)Defined at line 37 of file llvm/lib/Object/DXContainer.cpp
-
ParseRet tryParseISA (StringRef & MangledName, VFISAKind & ISA)Extracts the `
<isa
>` information from the mangled string, and
sets the `ISA` accordingly. If successful, the
<isa
> token is removed
from the input string `MangledName`.
Defined at line 37 of file llvm/lib/IR/VFABIDemangler.cpp
-
void do_disassemble (const char * triple, const char * features, unsigned char * buf, int siz)Defined at line 37 of file llvm/tools/llvm-c-test/disassemble.c
-
uint32_t calculateFileAlignment (const MachOObjectFile & O)For compatibility with cctools lipo, a file's alignment is calculated as the
minimum aligment of all segments. For object files, the file's alignment is
the maximum alignment of its sections.
Defined at line 37 of file llvm/lib/Object/MachOUniversalWriter.cpp
-
void check (const remarks::Remark & R, StringRef ExpectedR, optional ExpectedMeta, optional StrTab)Defined at line 37 of file llvm/unittests/Remarks/BitstreamRemarksSerializerTest.cpp
-
Value * reduceIntrinsic (Oracle & O, Module & M, IntrinsicInst * II)Defined at line 37 of file llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
-
void prettyPrintSectionSizes (const ObjectFile & Obj, const SectionSizes & Sizes, raw_ostream & OS)Defined at line 37 of file llvm/tools/llvm-dwarfdump/SectionSizes.cpp
-
Error tryFilter ()Defined at line 37 of file llvm/tools/llvm-remarkutil/RemarkFilter.cpp
-
void compress_pre (uint32_t[16] state, const uint32_t[8] cv, const uint8_t[64] block, uint8_t block_len, uint64_t counter, uint8_t flags)Defined at line 37 of file llvm/lib/Support/BLAKE3/blake3_portable.c
-
void findLocalExecutorHelper ()Defined at line 38 of file llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
-
bool isError (Error * E)Defined at line 38 of file llvm/lib/Support/DataExtractor.cpp
-
void llvmTrap ()Defined at line 38 of file llvm/unittests/Support/CrashRecoveryTest.cpp
-
Error stringErr (const Twine & T)Most of the errors produced by this module are inconvertible StringErrors.
This convenience function lets us return one of those more easily.
Defined at line 38 of file llvm/lib/Linker/IRMover.cpp
-
unsigned int getMaskElt (unsigned int Mask, unsigned int Elt)getMaskElt - Return element N of the specified mask.
Defined at line 38 of file llvm/utils/PerfectShuffle/PerfectShuffle.cpp
-
pair intersect (const Interval & I1, const Interval & I2)Defined at line 38 of file llvm/lib/DebugInfo/MSF/MappedBlockStream.cpp
-
LLVMComdatRef LLVMGetComdat (LLVMValueRef V)Get the Comdat assigned to the given global object.
Defined at line 38 of file llvm/lib/IR/Comdat.cpp
-
int makeLLVMModule (LLVMContext & Context, const char * ModuleStr)Defined at line 38 of file llvm/unittests/Analysis/LoopNestTest.cpp
-
unsigned int getNextComponentInDiscriminator (unsigned int D)Returns the next component stored in discriminator.
Defined at line 38 of file llvm/include/llvm/Support/Discriminator.h
-
SUnit * getPredClusterSU (const SUnit & SU)Defined at line 38 of file llvm/lib/CodeGen/MacroFusion.cpp
-
Value * getRuntimeLoopUnits (IRBuilderBase & B, Value * Len, Value * OpSize, unsigned int OpSizeVal, Value * RTLoopRemainder)Defined at line 38 of file llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
-
unique_ptr makeLLVMModule (LLVMContext & Context, StringRef ModuleStr)Defined at line 38 of file llvm/unittests/IR/DominatorTreeTest.cpp
-
ArrayRef getWorksharing ()Defined at line 38 of file llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
-
bool hasOnlyOneCallUse (const Function & F)Defined at line 38 of file llvm/tools/llvm-reduce/deltas/ReduceInlineCallSites.cpp
-
AssertionResult ErrorEquals (instrprof_error Expected, Error E)Defined at line 38 of file llvm/unittests/ProfileData/InstrProfTest.cpp
-
Constant * getVTableAddressPointOffset (GlobalVariable * VTable, uint32_t AddressPointOffset)Returns a constant representing the vtable's address point specified by the
offset.
Defined at line 38 of file llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
-
Expected getCOFFGOTTarget (LinkGraph & G, Block & B)Defined at line 38 of file llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
-
Error dumpObject (const ObjectFile & Obj, raw_ostream & OS)Defined at line 38 of file llvm/tools/obj2yaml/obj2yaml.cpp
-
bool getInlineStackHelper (const InlineInfo & II, uint64_t Addr, std::vector<const InlineInfo *> & InlineStack)Defined at line 38 of file llvm/lib/DebugInfo/GSYM/InlineInfo.cpp
-
bool hasSinCosPiStret (const Triple & T)Defined at line 38 of file llvm/lib/Analysis/TargetLibraryInfo.cpp
-
void checkFeatureTree (const Record * Root)Defined at line 38 of file llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
-
void ConnectBlocks (BasicBlock * From, BasicBlock * To)Defined at line 38 of file llvm/unittests/IR/CFGBuilder.cpp
-
void printOperand (raw_ostream & OS, const DIDumpOptions & DumpOpts, const CFIProgram & P, const CFIProgram::Instruction & Instr, unsigned int OperandIdx, uint64_t Operand, std::optional<uint64_t> & Address)Print
operand number
which has value
Defined at line 38 of file llvm/lib/DebugInfo/DWARF/DWARFCFIPrinter.cpp
-
bool splitGlobal (GlobalVariable & GV)Defined at line 38 of file llvm/lib/Transforms/IPO/GlobalSplit.cpp
-
void initializeFuncletLayoutPassOnce (PassRegistry & Registry)Defined at line 39 of file llvm/lib/CodeGen/FuncletLayout.cpp
-
void initializeRegAllocPriorityAdvisorAnalysisLegacyPassOnce (PassRegistry & Registry)Defined at line 39 of file llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
-
Atom formatAtom (unsigned int Atom)Defined at line 39 of file llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
-
void incrementGlobalWithParam (void * )Defined at line 39 of file llvm/unittests/Support/CrashRecoveryTest.cpp
-
int LLVMWriteBitcodeToFileHandle (LLVMModuleRef M, int Handle)Deprecated for LLVMWriteBitcodeToFD. Writes a module to an open file
descriptor. Returns 0 on success. Closes the Handle.
Defined at line 39 of file llvm/lib/Bitcode/Writer/BitWriter.cpp
-
int & getAvailableVals (void * AV)Defined at line 39 of file llvm/lib/CodeGen/MachineSSAUpdater.cpp
-
uint64_t CountFromData (uint64_t Data, char SizeofPtr)Defined at line 39 of file llvm/tools/sanstats/sanstats.cpp
-
void printColumnHeader (raw_ostream & OS, size_t Length)Defined at line 39 of file llvm/tools/llvm-objdump/DXContainerDump.cpp
-
bool isReallyValidReturnType (Type * Ty)Return true if it's legal to replace a function return type to use
Defined at line 39 of file llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
-
void initializeLiveRegMatrixWrapperLegacyPassOnce (PassRegistry & Registry)Defined at line 39 of file llvm/lib/CodeGen/LiveRegMatrix.cpp
-
void r0 (uint32_t & A, uint32_t & B, uint32_t & C, uint32_t & D, uint32_t & E, int I, uint32_t * Buf)Defined at line 39 of file llvm/lib/Support/SHA1.cpp
-
void SetStrings (std::string & GStr, std::string & LStr)Defined at line 39 of file llvm/unittests/Support/DynamicLibrary/PipSqueak.cpp
-
void printEnums (const RecordKeeper & Records, raw_ostream & OS)Defined at line 39 of file llvm/utils/TableGen/Basic/TableGen.cpp
-
BasicBlock * getBasicBlockByName (Function & F, StringRef Name)Defined at line 39 of file llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
-
void BM_GetIntrinsicForClangBuiltinHexagonFirst (benchmark::State & state)Defined at line 39 of file llvm/benchmarks/GetIntrinsicForClangBuiltin.cpp
-
Value * getNewICmpValue (unsigned int Code, bool Sign, Value * LHS, Value * RHS, InstCombiner::BuilderTy & Builder)This is the complement of getICmpCode, which turns an opcode and two
operands into either a constant true or false, or a brand new ICmp
instruction. The sign is passed in to determine which kind of predicate to
use in the new icmp instruction.
Defined at line 39 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
int parseIR (LLVMContext & C, const char * IR)Defined at line 39 of file llvm/unittests/Analysis/IVDescriptorsTest.cpp
-
const MCExpr * buildSymbolDiff (MCObjectStreamer * MCOS, const MCSymbol * A, const MCSymbol * B)Defined at line 39 of file llvm/lib/MC/MCPseudoProbe.cpp
-
unsigned int getSymbolSectionID (const ObjectFile & O, SymbolRef Sym)Defined at line 39 of file llvm/lib/Object/SymbolSize.cpp
-
Type getType (const Symbol * Sym)Defined at line 39 of file llvm/lib/Object/TapiFile.cpp
-
basic_string findLocalExecutor (const char * HostArgv0)Find the default exectuable on disk and create a JITLinkExecutor for it.
Defined at line 39 of file llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
-
BranchCoverageInfo sumBranchExpansions (const CoverageMapping & CM, ArrayRef Expansions)Defined at line 39 of file llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
-
void dumpApplePropertyAttribute (raw_ostream & OS, uint64_t Val)Defined at line 39 of file llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
-
template <class Fn>bool CheckStdCmpRequirements ()https://llvm.org/PR105169
Verify that we won't accidently specialize std::less and std::equal_to in a
wrong way.
C++17 [namespace.std]/2, C++20/23 [namespace.std]/5:
A program may explicitly instantiate a template defined in the standard
library only if the declaration
- depends on the name of a user-defined type and
- the instantiation meets the standard library requirements for the
original template.
Defined at line 39 of file llvm/unittests/CodeGen/TypeTraitsTest.cpp
-
bool runOnBasicBlock (BasicBlock & BB)Defined at line 39 of file llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp
-
basic_string updateTripleOSVersion (basic_string TargetTripleString)Defined at line 39 of file llvm/lib/TargetParser/Unix/Host.inc
-
void printModuleDebugInfo (raw_ostream & O, const Module * M, const DebugInfoFinder & Finder)Defined at line 39 of file llvm/lib/Analysis/ModuleDebugInfoPrinter.cpp
-
Value * EvaluateInDifferentTypeImpl (Value * V, Type * Ty, bool isSigned, InstCombinerImpl & IC, EvaluatedMap & Processed)Defined at line 39 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
void initializePostDominatorTreeWrapperPassPassOnce (PassRegistry & Registry)Defined at line 40 of file llvm/lib/Analysis/PostDominators.cpp
-
void LLVMLinkInMCJIT ()Empty function used to force the linker to link MCJIT.
Has no effect when called on a pre-built library (dylib interface).
Defined at line 40 of file llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp
-
void writeDDGToDotFile (DataDependenceGraph & G, bool DOnly)Defined at line 39 of file llvm/lib/Analysis/DDGPrinter.cpp
-
int getPosixProtectionFlags (unsigned int Flags)Defined at line 39 of file llvm/lib/Support/Unix/Memory.inc
-
bool skipUnit (const DICompileUnit * CU)Defined at line 40 of file llvm/lib/CodeGen/LexicalScopes.cpp
-
bool shouldReduceLinkage (GlobalValue & GV)Defined at line 40 of file llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
-
SmallVector parseFormatString (StringRef Fmt)Helper to parse format string with no validation.
Defined at line 40 of file llvm/unittests/Support/FormatVariadicTest.cpp
-
bool isIntegerOrPtr (MVT VT)Defined at line 40 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
bool isItaniumEncoding (basic_string_view S)Defined at line 40 of file llvm/lib/Demangle/Demangle.cpp
-
Align clampStackAlignment (bool ShouldClamp, Align Alignment, Align StackAlignment)Clamp the alignment if requested and emit a warning.
Defined at line 40 of file llvm/lib/CodeGen/MachineFrameInfo.cpp
-
uint8_t * roundTripAllocateDataSection (void * object, uintptr_t size, unsigned int alignment, unsigned int sectionID, const char * sectionName, LLVMBool isReadOnly)Defined at line 40 of file llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
-
int helpMain (int argc, const char *[] argv)Top level help.
Defined at line 40 of file llvm/tools/llvm-cov/llvm-cov.cpp
-
llvm_orc_rt_alt_UnwindInfoManager_deregister (const char * ArgData, size_t ArgSize)Defined at line 40 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/UnwindInfoManager.cpp
-
uint64_t getCUAbbrev (StringRef Abbrev, uint64_t AbbrCode)Defined at line 40 of file llvm/lib/DWP/DWP.cpp
-
Expected getMachOGOTTarget (LinkGraph & G, Block & B)Defined at line 40 of file llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
-
void writeMCFGToDotFile (MachineFunction & MF)Defined at line 40 of file llvm/lib/CodeGen/MachineCFGPrinter.cpp
-
void diffGlobal (DifferenceEngine & Engine, Module & L, Module & R, StringRef Name)Defined at line 40 of file llvm/tools/llvm-diff/llvm-diff.cpp
-
unsigned int singleLetterExtensionRank (char Ext)Get the rank for single-letter extension, lower value meaning higher
priority.
Defined at line 40 of file llvm/lib/Support/RISCVISAUtils.cpp
-
uint32_t getEncodedIntegerLength (ArrayRef Data)Defined at line 40 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
void addVariantDeclaration (CallInst & CI, const ElementCount & VF, const VecDesc * VD)A helper function that adds the vector variant declaration for vectorizing
the CallInst
with a vectorization factor of
lanes. For each
mapping, TLI provides a VABI prefix, which contains all information required
to create vector function declaration.
Defined at line 40 of file llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
-
bool optimizeSQRT (CallInst * Call, Function * CalledFunc, BasicBlock & CurrBB, Function::iterator & BB, const TargetTransformInfo * TTI, DomTreeUpdater * DTU, OptimizationRemarkEmitter * ORE)Defined at line 40 of file llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp
-
void initializeLowerInvokeLegacyPassPassOnce (PassRegistry & Registry)Defined at line 41 of file llvm/lib/Transforms/Utils/LowerInvoke.cpp
-
void SetValue (Value * V, GenericValue Val, ExecutionContext & SF)===----------------------------------------------------------------------===//
Various Helper Functions
===----------------------------------------------------------------------===//
Defined at line 41 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
AvailableValsTy & getAvailableVals (void * AV)Defined at line 41 of file llvm/lib/Transforms/Utils/SSAUpdater.cpp
-
bool CompareNames (const LayoutPtr & S1, const LayoutPtr & S2)Defined at line 41 of file llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp
-
TypeLeafKind getTypeLeafKind (ContinuationRecordKind CK)Defined at line 41 of file llvm/lib/DebugInfo/CodeView/ContinuationRecordBuilder.cpp
-
unsigned int * getHashTable (StringMapEntryBase ** TheTable, unsigned int NumBuckets)Defined at line 41 of file llvm/lib/Support/StringMap.cpp
-
basic_string getMatchOpcodeForImmPredicate (const TreePredicateFn & Predicate)Defined at line 41 of file llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
-
void addRegionIntoQueue (Region & R, std::deque<Region *> & RQ)Recurse through all subregions and all regions into RQ.
Defined at line 41 of file llvm/lib/Analysis/RegionPass.cpp
-
void reportError (Twine Message)Defined at line 41 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
void write32AArch64Addr (void * L, uint64_t Imm)Defined at line 41 of file llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
-
void errorUnsupported (SelectionDAG & DAG, const SDLoc & dl, const char * Msg)Call this when the user attempts to do something unsupported, like
returning a double without SSE2 enabled on x86_64. This is not fatal, unlike
report_fatal_error, so calling code should attempt to recover without
crashing.
Defined at line 41 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
template <class T>T FuncPtr (void * Ptr)Defined at line 41 of file llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
-
int getPrecedence (Opcode Op)Defined at line 41 of file llvm/lib/MC/MCExpr.cpp
-
void error (Error EC)Defined at line 41 of file llvm/tools/llvm-debuginfo-analyzer/llvm-debuginfo-analyzer.cpp
-
size_t chunk_state_fill_buf (llvm_blake3_chunk_state * self, const uint8_t * input, size_t input_len)Defined at line 41 of file llvm/lib/Support/BLAKE3/blake3.c
-
bool valueEscapes (const Instruction & Inst)Defined at line 41 of file llvm/lib/Transforms/Scalar/Reg2Mem.cpp
-
Value * getBoolVecFromMask (Value * Mask, const DataLayout & DL)Convert the x86 XMM integer vector mask to a vector of bools based on
each element's most significant bit (the sign bit).
Defined at line 41 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
int createOptMutator ()Defined at line 41 of file llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
-
void getPhiRegs (MachineInstr & Phi, MachineBasicBlock * Loop, Register & InitVal, Register & LoopVal)Return the register values for the operands of a Phi instruction.
This function assume the instruction is a Phi.
Defined at line 41 of file llvm/lib/CodeGen/ModuloSchedule.cpp
-
MVT getOptimalRepType (const X86Subtarget & Subtarget, Align Alignment)Returns the best type to use with repmovs/repstos depending on alignment.
Defined at line 41 of file llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
-
bool parseInt (StringRef & input, unsigned int & value)Defined at line 41 of file llvm/lib/Support/VersionTuple.cpp
-
basic_string escapeForRST (StringRef Str)Defined at line 41 of file llvm/utils/TableGen/InstrDocsEmitter.cpp
-
ThreadSafeModule createDemoModule ()Defined at line 41 of file llvm/examples/HowToUseLLJIT/HowToUseLLJIT.cpp
-
LLVMValueRef build_from_tokens (char ** tokens, int ntokens, LLVMBuilderRef builder, LLVMValueRef param)Defined at line 41 of file llvm/tools/llvm-c-test/calc.c
-
uint64_t * getMemory (unsigned int numWords)A utility function for allocating memory and checking for allocation
failure. The content is not zeroed.
Defined at line 42 of file llvm/lib/Support/APInt.cpp
-
int64_t getInt (const Record * R, StringRef Field)Defined at line 42 of file llvm/utils/TableGen/SearchableTableEmitter.cpp
-
unsigned int setMaskElt (unsigned int Mask, unsigned int Elt, unsigned int NewVal)Defined at line 42 of file llvm/utils/PerfectShuffle/PerfectShuffle.cpp
-
template <typename T>void writeInteger (T Integer, raw_ostream & OS, bool IsLittleEndian)Defined at line 42 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
uint32_t getTypeLength (const PDBSymbol & Symbol)Defined at line 42 of file llvm/lib/DebugInfo/PDB/UDTLayout.cpp
-
bool consumeFront (std::string_view & S, char C)Defined at line 42 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
bool containsUndefs (const SCEV * S)Return true when S contains at least an undef value.
Defined at line 42 of file llvm/lib/Analysis/Delinearization.cpp
-
void initializeIVUsersWrapperPassPassOnce (PassRegistry & Registry)Defined at line 42 of file llvm/lib/Analysis/IVUsers.cpp
-
const MachineFunction * getMFIfAvailable (const MachineOperand & MO)Defined at line 42 of file llvm/lib/CodeGen/MachineOperand.cpp
-
std::string & prepareParamName (std::string & Name)Defined at line 42 of file llvm/unittests/Frontend/OpenMPDirectiveNameParserTest.cpp
-
Expected toBinary (SmallVectorImpl<char> & Storage, StringRef Yaml)ELF Object creation
Defined at line 42 of file llvm/unittests/Object/OffloadingBundleTest.cpp
-
Expected getELFGOTTarget (LinkGraph & G, Block & B)Defined at line 42 of file llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
-
Expected parseStreamSpec (StringRef Str)Defined at line 42 of file llvm/tools/llvm-pdbutil/BytesOutputStyle.cpp
-
void completeEphemeralValues (SmallPtrSetImpl<const Value *> & Visited, SmallVectorImpl<const Value *> & Worklist, SmallPtrSetImpl<const Value *> & EphValues)Defined at line 42 of file llvm/lib/Analysis/CodeMetrics.cpp
-
void runImpl (Function & F, const TargetLibraryInfo & TLI)Defined at line 42 of file llvm/lib/Transforms/Scalar/AnnotationRemarks.cpp
-
void replaceFunctionCalls (Function & OldF, Function & NewF, const std::set<int> & ArgIndexesToKeep)Goes over OldF calls and replaces them with a call to NewF
Defined at line 42 of file llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
-
bool simplifyLoopInst (Loop & L, DominatorTree & DT, LoopInfo & LI, AssumptionCache & AC, const TargetLibraryInfo & TLI, MemorySSAUpdater * MSSAU)Defined at line 42 of file llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp
-
bool isFloatingPoint (MVT VT)Defined at line 43 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
bool isCalleeOperand (const CallBase * CI, unsigned int OpIdx)Returns true if the
operand of
is the callee operand.
Defined at line 43 of file llvm/lib/CodeGen/GlobalMergeFunctions.cpp
-
symbol_iterator * unwrap (LLVMSymbolIteratorRef SI)Defined at line 43 of file llvm/lib/Object/Object.cpp
-
bool shouldSkipRemark (bool UseDebugLoc, Remark & Remark)Defined at line 43 of file llvm/tools/llvm-remarkutil/RemarkCount.cpp
-
Error malformedError (Twine Msg)Defined at line 43 of file llvm/lib/Object/Archive.cpp
-
int makeLLVMModule (LLVMContext & Context, const char * ModuleStr)Defined at line 43 of file llvm/unittests/Analysis/DDGTest.cpp
-
raw_ostream & writeCstring (raw_ostream & OS, StringRef Str)Defined at line 43 of file llvm/utils/TableGen/OptionParserEmitter.cpp
-
LLVMMemoryBufferRef LLVMWriteBitcodeToMemoryBuffer (LLVMModuleRef M)Writes a module to a new memory buffer and returns it.
Defined at line 43 of file llvm/lib/Bitcode/Writer/BitWriter.cpp
-
template <typename T>Expected getHashForUdt (const CVType & Rec)Defined at line 43 of file llvm/lib/DebugInfo/PDB/Native/TpiHashing.cpp
-
void getSimilarities (Module & M, std::vector<std::vector<IRSimilarityCandidate>> & SimilarityCandidates)Defined at line 43 of file llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
-
void check (Format InputFormat, StringRef Input, Format OutputFormat, StringRef ExpectedOutput, optional KeepAllRemarks)Defined at line 43 of file llvm/unittests/Remarks/RemarksLinkingTest.cpp
-
uint64_t ReadLE (char Size, const char * Begin, const char * End)Defined at line 43 of file llvm/tools/sanstats/sanstats.cpp
-
optional writeToAlloca (const Instruction & I)Defined at line 43 of file llvm/lib/Transforms/Utils/MoveAutoInit.cpp
-
template <uint8_t Kind, class... Values>Error writeMetadata (support::endian::Writer & OS, Values &&... Ds)Defined at line 43 of file llvm/lib/XRay/FDRTraceWriter.cpp
-
unsigned int foldConstantCastPair (unsigned int opc, ConstantExpr * Op, Type * DstTy)This function determines which opcode to use to fold two constant cast
expressions together. It uses CastInst::isEliminableCastPair to determine
the opcode. Consequently its just a wrapper around that function.
Determine if it is valid to fold a cast of a cast
Defined at line 43 of file llvm/lib/IR/ConstantFold.cpp
-
optional findInlineeByTypeIndex (TypeIndex Id, ModuleDebugStreamRef & ModS)Defined at line 43 of file llvm/lib/DebugInfo/PDB/Native/NativeInlineSiteSymbol.cpp
-
bool ShrinkDemandedConstant (Instruction * I, unsigned int OpNo, const APInt & Demanded)Check to see if the specified operand of the specified instruction is a
constant integer. If so, check to see if there are any bits set in the
constant that are not demanded. If so, shrink the constant and return true.
Defined at line 43 of file llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
-
Error visitMemberRecord (CVMemberRecord & Record, TypeVisitorCallbacks & Callbacks)Defined at line 43 of file llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp
-
basic_string getCGDataErrString (cgdata_error Err, const std::string & ErrMsg)Defined at line 43 of file llvm/lib/CGData/CodeGenData.cpp
-
Expected<ResultOperand> matchSimpleOperand (const Init * Arg, const StringInit * ArgName, const Record * Op, const CodeGenTarget & T, ArrayRef<SMLoc> Loc)Defined at line 43 of file llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
-
void initializeUnpackMachineBundlesPassOnce (PassRegistry & Registry)Defined at line 44 of file llvm/lib/CodeGen/MachineInstrBundle.cpp
-
bool isVector (MVT VT)Defined at line 44 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
bool versionIsSupported (uint16_t Version)Defined at line 44 of file llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
-
TargetMachine * unwrap (LLVMTargetMachineRef P)Defined at line 44 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
uint64_t getOffsetOfLSDA (const UnwindInfo & UI)Defined at line 44 of file llvm/tools/llvm-readobj/Win64EHDumper.cpp
-
Metadata * getKeyValMD (LLVMContext & Context, const char * Key, const char * Val)Return an MDTuple with two elements. The first element is a string Key and
the second is a string Value.
Defined at line 44 of file llvm/lib/IR/ProfileSummary.cpp
-
void fatal_exit ()Run file cleanup handlers and then exit fatally (with non-zero exit code).
Defined at line 44 of file llvm/lib/TableGen/Error.cpp
-
bool isValidIDChar (char C, bool First)Returns true if `C` is a valid character in an identifier. If `First` is
true, returns true if `C` is a valid first character of an identifier,
else returns true if `C` is a valid non-first character of an identifier.
Identifiers match the following regular expression:
[a-zA-Z_][0-9a-zA-Z_]*
Defined at line 44 of file llvm/lib/TableGen/TGLexer.cpp
-
void linkComponents ()Defined at line 44 of file llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
-
void testParseError (ArrayRef bytes, const char * msg)Defined at line 44 of file llvm/unittests/Support/ARMAttributeParser.cpp
-
Instruction * getFirstNonAllocaInTheEntryBlock (Function * F)Defined at line 44 of file llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
-
basic_string convertToString (double d, unsigned int Prec, unsigned int Pad, bool Tr)Defined at line 44 of file llvm/unittests/ADT/APFloatTest.cpp
-
Instruction * getInstructionByName (Function & F, StringRef Name)Defined at line 44 of file llvm/unittests/Analysis/LoopNestTest.cpp
-
void printBinary (const OffloadBinary & OB, uint64_t Index)Defined at line 44 of file llvm/tools/llvm-objdump/OffloadDump.cpp
-
Table makeTable (uint32_t Index, const wasm::WasmTableType & Type)Defined at line 44 of file llvm/tools/obj2yaml/wasm2yaml.cpp
-
optional extractProbeFromDiscriminator (const Instruction & Inst)Defined at line 44 of file llvm/lib/IR/PseudoProbe.cpp
-
void turnToExplicitForm (CallInst * Guard, Function * DeoptIntrinsic)Defined at line 44 of file llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp
-
bool writeProgramToFileAux (ToolOutputFile & Out, const Module & M)This writes the current "Program" to the named bitcode file. If an error
occurs, true is returned.
Defined at line 44 of file llvm/tools/bugpoint/OptimizerDriver.cpp
-
optional getPositionInModule (const Instruction * I, const DenseMap<Instruction *, unsigned int> & LLVMInstNum)Retrieve the unique number
was mapped to in parseBitcodeFile.
Parameters
I - The Instruction to find the instruction number for.LLVMInstNum - The mapping of Instructions to their location in the module represented by an unsigned integer.Defined at line 44 of file llvm/tools/llvm-sim/llvm-sim.cpp
-
Expected parseExampleModule (StringRef Source, StringRef Name)Defined at line 44 of file llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/../ExampleModules.h
-
ilist_iterator_w_bits moveBeforeInsertPoint (ilist_iterator_w_bits I, ilist_iterator_w_bits IP)Moves I before IP. Returns new insert point.
Defined at line 44 of file llvm/lib/Transforms/Utils/Instrumentation.cpp
-
void printColumnHeaders (raw_ostream & OS, ArrayRef Lengths)Defined at line 44 of file llvm/tools/llvm-objdump/DXContainerDump.cpp
-
void reduceAtomicSyncScopesInFunction (Oracle & O, Function & F)Defined at line 44 of file llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.cpp
-
std::pair<bool, bool> runImpl (MachineFunction & MF)Defined at line 44 of file llvm/lib/CodeGen/FinalizeISel.cpp
-
optional foldOperationIfPossible (uint64_t Const1, uint64_t Const2, LocationAtom Operator)Try to fold
and
by applying
and returning
the result, if there is an overflow, return a std::nullopt.
Defined at line 44 of file llvm/lib/IR/DIExpressionOptimizer.cpp
-
void clearAssumptionsOfUsers (Instruction * I, DemandedBits & DB)If an instruction is trivialized (dead), then the chain of users of that
instruction may need to be cleared of assumptions that can no longer be
guaranteed correct.
Defined at line 44 of file llvm/lib/Transforms/Scalar/BDCE.cpp
-
void initializeMIRAddFSDiscriminatorsPassOnce (PassRegistry & Registry)Defined at line 45 of file llvm/lib/CodeGen/MIRFSDiscriminator.cpp
-
void initializeMachineBlockHashInfoPassOnce (PassRegistry & Registry)Defined at line 45 of file llvm/lib/CodeGen/MachineBlockHashInfo.cpp
-
void initializeReachingDefInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 45 of file llvm/lib/CodeGen/ReachingDefAnalysis.cpp
-
bool isScalar (MVT VT)Defined at line 45 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
unsigned int encodeComponent (unsigned int C)Defined at line 45 of file llvm/include/llvm/Support/Discriminator.h
-
LLVMOrcSymbolStringPoolEntryRef wrap (SymbolStringPoolEntryUnsafe E)Defined at line 45 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
template <typename... Ts>auto createStringErrorV (Ts &&... Args)note: createStringError has an overload that takes a format string,
but it uses llvm::format instead of llvm::formatv, which does
not work with json::Value. This is a helper function to use
llvm::formatv with createStringError.
Defined at line 45 of file llvm/lib/Frontend/Offloading/PropertySet.cpp
-
template <class ELFT>unique_ptr createDumper (const ELFObjectFile<ELFT> & Obj)Defined at line 45 of file llvm/tools/llvm-objdump/ELFDump.cpp
-
bool CompareSizes (const LayoutPtr & S1, const LayoutPtr & S2)Defined at line 45 of file llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp
-
void writeMalformedULEB128Value (raw_ostream & OS)Defined at line 45 of file llvm/unittests/DebugInfo/DWARF/DWARFDebugAbbrevTest.cpp
-
void TestOrder (std::vector<std::string> & V)Defined at line 45 of file llvm/unittests/Support/DynamicLibrary/PipSqueak.cpp
-
uint64_t getStableHash (const AllocTokenMetadata & Metadata, uint64_t MaxTokens)Defined at line 45 of file llvm/lib/Support/AllocToken.cpp
-
void r1 (uint32_t & A, uint32_t & B, uint32_t & C, uint32_t & D, uint32_t & E, int I, uint32_t * Buf)Defined at line 45 of file llvm/lib/Support/SHA1.cpp
-
bool isNumberChar (char C)Defined at line 45 of file llvm/lib/Support/FileUtilities.cpp
-
void FindUsedValues (GlobalVariable * LLVMUsed, SmallPtrSetImpl<const GlobalValue *> & UsedValues)Find values that are marked as llvm.used.
Defined at line 45 of file llvm/lib/Transforms/IPO/ConstantMerge.cpp
-
void printSets (const RecordKeeper & Records, raw_ostream & OS)Defined at line 45 of file llvm/utils/TableGen/Basic/TableGen.cpp
-
bool shouldReduceOperand (Use & Op)Defined at line 45 of file llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
-
void initializeRABasicPassOnce (PassRegistry & Registry)Defined at line 45 of file llvm/lib/CodeGen/RegAllocBasic.cpp
-
unsigned int getResultPatternCost (const TreePatternNode & P, const CodeGenDAGPatterns & CGP)Compute the number of instructions for this pattern.
This is a temporary hack. We should really include the instruction
latencies in this calculation.
Defined at line 45 of file llvm/utils/TableGen/DAGISelEmitter.cpp
-
vector getDominatees (BasicBlock * BB)Return a vector of Blocks that is dominated by this block, excluding current
block
Defined at line 45 of file llvm/lib/FuzzMutate/RandomIRBuilder.cpp
-
InstrProfKind getProfileKindFromVersion (uint64_t Version)Extracts the variant information from the top 32 bits in the version and
returns an enum specifying the variants present.
Defined at line 45 of file llvm/lib/ProfileData/InstrProfReader.cpp
-
bool runImpl (Function & F)Defined at line 45 of file llvm/lib/Transforms/Utils/LowerInvoke.cpp
-
bool isPossibleIndirectCallTarget (const Function * F)Returns true if this function's address is escaped in a way that might make
it an indirect call target. Function::hasAddressTaken gives different
results when a function is called directly with a function prototype
mismatch, which requires a cast.
Defined at line 45 of file llvm/lib/CodeGen/AsmPrinter/WinCFGuard.cpp
-
int gettok ()gettok - Return the next token from standard input.
Defined at line 45 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
void rewriteFuncWithReturnType (Function & OldF, Value * NewRetValue)Insert a ret inst after
which returns the value it produces.
Defined at line 45 of file llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
-
bool isOnlyCopiedFromConstantMemory (AAResults * AA, AllocaInst * V, MemTransferInst *& TheCopy, SmallVectorImpl<Instruction *> & ToDelete)isOnlyCopiedFromConstantMemory - Recursively walk the uses of a (derived)
pointer to an alloca. Ignore any reads of the pointer, return false if we
see any stores or other unknown uses. If we see pointer arithmetic, keep
track of whether it moves the pointer (with IsOffset) but otherwise traverse
the uses. If we see a memcpy/memmove that targets an unoffseted pointer to
the alloca, and if the source pointer is a pointer to a constant memory
location, we can optimize this.
Defined at line 45 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
void initializeMachineSanitizerBinaryMetadataLegacyPassOnce (PassRegistry & Registry)Defined at line 46 of file llvm/lib/CodeGen/SanitizerBinaryMetadata.cpp
-
bool isRustEncoding (basic_string_view S)Defined at line 46 of file llvm/lib/Demangle/Demangle.cpp
-
void initializeBarrierNoopPassOnce (PassRegistry & Registry)Defined at line 46 of file llvm/lib/Transforms/IPO/BarrierNoopPass.cpp
-
basic_string gtest_OnDiskCASCASTest_EvalGenerateName_ (const ::testing::TestParamInfo<CASTest::ParamType> & info)Defined at line 46 of file llvm/unittests/CAS/CASTestConfig.cpp
-
ParamGenerator gtest_OnDiskCASCASTest_EvalGenerator_ ()Defined at line 46 of file llvm/unittests/CAS/CASTestConfig.cpp
-
unsigned int AdjustStackOffset (unsigned int Offset, unsigned int Size, Align Alignment)Defined at line 46 of file llvm/lib/CodeGen/SafeStackLayout.cpp
-
template <typename HasherTAndEndianness, typename... Ts>typename HashBuilder<HasherTAndEndianness>::template HashResultTy<> hashWithBuilder (const Ts &... Args)Defined at line 46 of file llvm/unittests/Support/HashBuilderTest.cpp
-
Type * checkType (Type * Ty)===----------------------------------------------------------------------===//
Value Class
===----------------------------------------------------------------------===//
Defined at line 46 of file llvm/lib/IR/Value.cpp
-
Value * lowerIsConstantIntrinsic (IntrinsicInst * II)Defined at line 46 of file llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
-
bool checkSize (MemoryBufferRef M, std::error_code & EC, uint64_t Size)Returns false if size is greater than the buffer size. And sets ec.
Defined at line 46 of file llvm/lib/Object/COFFObjectFile.cpp
-
StringRef getPayloadString (const LoadCommand & LC)Defined at line 46 of file llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
-
optional getCFARegOffsetInfo (const dwarf::UnwindRow & UnwindRow)Defined at line 46 of file llvm/lib/DWARFCFIChecker/DWARFCFIAnalysis.cpp
-
bool isUsedOutsideOfDefiningBlock (const Instruction * I)isUsedOutsideOfDefiningBlock - Return true if this instruction is used by
PHI nodes or outside of the basic block that defines it, or used by a
switch or atomic instruction, which may expand to multiple basic blocks.
Defined at line 46 of file llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
-
bool addWithOverflow (APInt & Result, const APInt & In1, const APInt & In2, bool IsSigned)Compute Result = In1+In2, returning true if the result overflowed for this
type.
Defined at line 46 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
void BM_FormatVariadic (benchmark::State & state)Benchmark formatv() for a variety of format strings and 1-5 replacements.
Defined at line 46 of file llvm/benchmarks/FormatVariadicBM.cpp
-
pair parseDebugType (StringRef DbgType)Parse a debug type string into a pair of the debug type and the debug level.
The expected format is "type[:level]", where the level is an optional
integer.
Defined at line 46 of file llvm/lib/Support/Debug.cpp
-
bool iterativelyFlattenCFG (Function & F, AliasAnalysis * AA)iterativelyFlattenCFG - Call FlattenCFG on all the blocks in the function,
iterating until no more changes are made.
Defined at line 46 of file llvm/lib/Transforms/Scalar/FlattenCFGPass.cpp
-
void * addSection (size_t Size, LLVMBool IsCode)Defined at line 46 of file llvm/examples/OrcV2Examples/OrcV2CBindingsMCJITLikeMemoryManager/OrcV2CBindingsMCJITLikeMemoryManager.c
-
void appendJITDebugDescriptor (const char * ObjAddr, size_t Size)Register debug object, return error message or null for success.
Defined at line 46 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
-
bool printInsts (const MCDisassembler & DisAsm, const ByteArrayTy & Bytes, SourceMgr & SM, MCStreamer & Streamer, bool InAtomicBlock, const MCSubtargetInfo & STI, unsigned int NumBenchmarkRuns)Defined at line 46 of file llvm/tools/llvm-mc/Disassembler.cpp
-
void initializeSlotIndexesWrapperPassPassOnce (PassRegistry & Registry)Defined at line 47 of file llvm/lib/CodeGen/SlotIndexes.cpp
-
LLVMTargetMachineOptions * unwrap (LLVMTargetMachineOptionsRef P)Defined at line 47 of file llvm/lib/Target/TargetMachineC.cpp
-
LLVMTargetMachineOptionsRef wrap (const LLVMTargetMachineOptions * P)Defined at line 47 of file llvm/lib/Target/TargetMachineC.cpp
-
void writeTimestampFile (StringRef TimestampFile)Write a new timestamp file with the given path. This is used for the pruning
interval option.
Defined at line 47 of file llvm/lib/Support/CachePruning.cpp
-
ArrayRef hash_of (ArrayRef Hashes, TypeIndex TI)Defined at line 47 of file llvm/unittests/DebugInfo/CodeView/TypeHashingTest.cpp
-
LLVMSymbolIteratorRef wrap (const symbol_iterator * SI)Defined at line 47 of file llvm/lib/Object/Object.cpp
-
void emitErrorMsg (MachineFunction & MF)Defined at line 47 of file llvm/lib/Target/X86/X86PreTileConfig.cpp
-
ArrayRef getWorksharingLoop ()Defined at line 47 of file llvm/include/llvm/Frontend/OpenMP/ConstructDecompositionT.h
-
uint64_t getConstMetaVal (const MachineInstr & MI, unsigned int Idx)Defined at line 47 of file llvm/lib/CodeGen/StackMaps.cpp
-
bool OnlyUsedBy (Value * V, Value * Usr)OnlyUsedBy - Return true if V is only used by Usr.
Defined at line 47 of file llvm/lib/Transforms/IPO/StripSymbols.cpp
-
template <typename T>Expected<const T &> getDataSliceAs (ArrayRef Data, uint64_t Offset)Defined at line 47 of file llvm/lib/Object/SFrameParser.cpp
-
void reportError (Error E)Defined at line 47 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
optional getKnownEncoding (StringRef Name)Maps the encoding name to enum constant if possible.
Defined at line 47 of file llvm/lib/Support/TextEncoding.cpp
-
bool hasMatchesExactlyAttributes (AssumeInst * Assume, Value * WasOn, StringRef AttrToMatch)Defined at line 47 of file llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
-
vector readSymbolsFromFile (StringRef InputFile)Defined at line 47 of file llvm/benchmarks/RuntimeLibcalls.cpp
-
unsigned int getDigit (char cdigit, uint8_t radix)A utility function that converts a character to a digit.
Defined at line 47 of file llvm/lib/Support/APInt.cpp
-
Function * globalInitUsesExternalBA (GlobalVariable * GV)Defined at line 47 of file llvm/tools/bugpoint/ExtractFunction.cpp
-
bool canParameterizeCallOperand (const CallBase * CI, unsigned int OpIdx)Defined at line 47 of file llvm/lib/CodeGen/GlobalMergeFunctions.cpp
-
Value * simplifyValueKnownNonZero (Value * V, InstCombinerImpl & IC, Instruction & CxtI)The specific integer value is used in a context where it is known to be
non-zero. If this allows us to simplify the computation, do so and return
the new operand, otherwise return null.
Defined at line 47 of file llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
-
vector constructTriples (MachOObjectFile * Obj, Architecture ArchT)Defined at line 47 of file llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
-
void initializeGISelValueTrackingAnalysisLegacyPassOnce (PassRegistry & Registry)Defined at line 48 of file llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
-
bool isDLangEncoding (basic_string_view S)Defined at line 48 of file llvm/lib/Demangle/Demangle.cpp
-
LLVMPassBuilderOptions * unwrap (LLVMPassBuilderOptionsRef P)Defined at line 48 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
LLVMPassBuilderOptionsRef wrap (const LLVMPassBuilderOptions * P)Defined at line 48 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
bool isAlwaysLive (Instruction * I)Defined at line 48 of file llvm/lib/Analysis/DemandedBits.cpp
-
Section constructSection (const MachO::section & Sec, uint32_t Index)Defined at line 48 of file llvm/lib/ObjCopy/MachO/MachOReader.cpp
-
void checkError (basic_string ExpectedMsg, Error Err)Defined at line 48 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
MergeOptions getMaxWidenStepsOpts ()Returns MergeOptions with MaxWidenSteps set to MaxNumRangeExtensions.
Defined at line 48 of file llvm/lib/Transforms/Utils/SCCPSolver.cpp
-
bool isOne (Use & Op)Defined at line 48 of file llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
-
bool isValidMask (unsigned short Mask)Reject elements where the values are 9-15.
Defined at line 48 of file llvm/utils/PerfectShuffle/PerfectShuffle.cpp
-
void copyLinkageVisibility (Module & M, const GlobalVariable * from, GlobalVariable * to)Defined at line 48 of file llvm/lib/CodeGen/LowerEmuTLS.cpp
-
template <typename Predicate>bool berase_if (MachineValueTypeSet & S, Predicate P)Defined at line 48 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
bool shouldNotRemoveInstruction (const TargetInstrInfo & TII, const MachineInstr & MI)Defined at line 48 of file llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
-
Error writeVariableSizedInteger (uint64_t Integer, size_t Size, raw_ostream & OS, bool IsLittleEndian)Defined at line 48 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
bool isFPIntrinsic (const MachineRegisterInfo & MRI, const MachineInstr & MI)Defined at line 48 of file llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
-
Function * getTLIFunction (Module * M, FunctionType * VectorFTy, StringRef TLIName, Function * ScalarFunc)Returns a vector Function that it adds to the Module
When an
is not null, it copies its attributes to the newly created
Function.
Defined at line 48 of file llvm/lib/CodeGen/ReplaceWithVeclib.cpp
-
void getRelevantOperands (Instruction * I, SmallVectorImpl<Value *> & Ops)Given an instruction and a container, it fills all the relevant operands of
that instruction, with respect to the Trunc expression graph optimizaton.
Defined at line 48 of file llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
-
void emitRISCVExtensions (const RecordKeeper & Records, raw_ostream & OS)Defined at line 48 of file llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
-
void printUnwindLocation (const UnwindLocation & UL, raw_ostream & OS, DIDumpOptions DumpOpts)Print an unwind location expression as text and use the register information
if some is provided.
Parameters
R the unwind location to print.OS the stream to use for output.MRI register information that helps emit register names insteead of raw register numbers.IsEH true if the DWARF Call Frame Information is from .eh_frame instead of from .debug_frame. This is needed for register number conversion because some register numbers differ between the two sections for certain architectures like x86.Defined at line 48 of file llvm/lib/DebugInfo/DWARF/DWARFUnwindTablePrinter.cpp
-
bool runCGProfilePass (Module & M, FunctionAnalysisManager & FAM, bool InLTO)Defined at line 48 of file llvm/lib/Transforms/Instrumentation/CGProfile.cpp
-
unsigned int encodingBits (unsigned int C)Defined at line 49 of file llvm/include/llvm/Support/Discriminator.h
-
Error createResolverError (uint32_t Index, unsigned int Kind)Defined at line 49 of file llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
-
SymbolStringPoolEntryUnsafe unwrap (LLVMOrcSymbolStringPoolEntryRef E)Defined at line 49 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool isDebugSection (const SectionBase & Sec)Defined at line 49 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
bool ComparePadding (const LayoutPtr & S1, const LayoutPtr & S2)Defined at line 49 of file llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp
-
int SortAuthStubPair (const ExprStubPairTy * LHS, const ExprStubPairTy * RHS)Defined at line 49 of file llvm/lib/CodeGen/MachineModuleInfoImpls.cpp
-
uint32_t getLargeSlotValue (ArrayRef UC)Defined at line 49 of file llvm/tools/llvm-readobj/Win64EHDumper.cpp
-
void writeULEB128LargerThan64Bits (raw_ostream & OS)Defined at line 49 of file llvm/unittests/DebugInfo/DWARF/DWARFDebugAbbrevTest.cpp
-
bool consumeFront (std::string_view & S, basic_string_view C)Defined at line 49 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
bool isV256I32Ty (Type * Ty)Defined at line 49 of file llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
-
void insertCallAtFunctionEntryPoint (Function & Fn, const char * InsertFnName, ArrayRef FunctionArgs)Defined at line 49 of file llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
-
Value * getFCmpValue (unsigned int Code, Value * LHS, Value * RHS, InstCombiner::BuilderTy & Builder, FMFSource FMF)This is the complement of getFCmpCode, which turns an opcode and two
operands into either a FCmp instruction, or a true/false constant.
Defined at line 49 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
void fatal (StringRef filename, const Twine & message)Defined at line 49 of file llvm/utils/split-file/split-file.cpp
-
template <class T>void * PtrFunc (T * Func)Defined at line 49 of file llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
-
optional toRemarkLocation (const DiagnosticLocation & DL)DiagnosticLocation -> remarks::RemarkLocation.
Defined at line 49 of file llvm/lib/IR/LLVMRemarkStreamer.cpp
-
void ClearImpliedBits (FeatureBitset & Bits, unsigned int Value, ArrayRef FeatureTable)For each feature that (transitively) implies this feature, clear it.
Defined at line 49 of file llvm/lib/MC/MCSubtargetInfo.cpp
-
void executeFNegInst (GenericValue & Dest, GenericValue Src, Type * Ty)===----------------------------------------------------------------------===//
Unary Instruction Implementations
===----------------------------------------------------------------------===//
Defined at line 49 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
void increaseSetPressure (int & CurrSetPressure, const MachineRegisterInfo & MRI, VirtRegOrUnit VRegOrUnit, LaneBitmask PrevMask, LaneBitmask NewMask)Increase pressure for each pressure set provided by TargetRegisterInfo.
Defined at line 49 of file llvm/lib/CodeGen/RegisterPressure.cpp
-
pair getRUsageTimes ()Defined at line 49 of file llvm/lib/Support/Unix/Process.inc
-
Error createMemberHeaderParseError (const AbstractArchiveMemberHeader * ArMemHeader, const char * RawHeaderPtr, uint64_t Size)Defined at line 49 of file llvm/lib/Object/Archive.cpp
-
Expected readPropertyValueFromJSON (const json::Value & PropValueVal)Defined at line 49 of file llvm/lib/Frontend/Offloading/PropertySet.cpp
-
template <typename AttrSite>bool addAssumptionsImpl (AttrSite & Site, const DenseSet<StringRef> & Assumptions)Defined at line 49 of file llvm/lib/IR/Assumptions.cpp
-
bool isTargetMD (const MDNode * ProfData, const char * Name, unsigned int MinOps)We may want to add support for other MD_prof types, so provide an abstraction
for checking the metadata type.
Defined at line 49 of file llvm/lib/IR/ProfDataUtils.cpp
-
PassPluginLibraryInfo getDefaultDynamicInlineOrderPluginInfo ()New PM Registration
Defined at line 49 of file llvm/unittests/Analysis/InlineOrderPlugin/InlineOrderPlugin.cpp
-
template <typename SPSTagT, typename T>void spsSerializationRoundTrip (const T & Value)Defined at line 49 of file llvm/unittests/ExecutionEngine/Orc/SimplePackedSerializationTest.cpp
-
bool isWindowsPath (StringRef Path)===----------------------------------------------------------------------===//
URIForFile
===----------------------------------------------------------------------===//
Defined at line 50 of file llvm/lib/Support/LSP/Protocol.cpp
-
TargetMachine * unwrap (LLVMTargetMachineRef P)Defined at line 50 of file llvm/lib/Target/TargetMachineC.cpp
-
MachineFunction * getMFIfAvailable (MachineOperand & MO)Defined at line 50 of file llvm/lib/CodeGen/MachineOperand.cpp
-
uint64_t getBits (uint64_t Val, int Start, int End)Return the bits [Start, End] from Val shifted Start bits.
For instance, getBits(0xF0, 4, 8) returns 0xF.
Defined at line 50 of file llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
-
ErrorErrorCategory & getErrorErrorCat ()Defined at line 50 of file llvm/lib/Support/Error.cpp
-
StreamInfo stream (StreamPurpose Purpose, StringRef Label, uint32_t Idx)Defined at line 50 of file llvm/tools/llvm-pdbutil/StreamUtil.cpp
-
bool testTagString (unsigned int Tag, const char * name)Defined at line 50 of file llvm/unittests/Support/ARMAttributeParser.cpp
-
int makeLLVMModule (LLVMContext & Context, const char * ModuleStr)Defined at line 50 of file llvm/unittests/Analysis/LoopInfoTest.cpp
-
basic_string getQualifier (const DirectiveLanguage & DirLang, Frontend FE)Get the full namespace qualifier for the directive language.
Defined at line 50 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
uint64_t xgetbv ()Defined at line 50 of file llvm/lib/Support/BLAKE3/blake3_dispatch.c
-
basic_string getOptionPrefixedName (const Record & R)Defined at line 50 of file llvm/utils/TableGen/OptionParserEmitter.cpp
-
void printErrorAndExit (Twine ErrMsg)Defined at line 50 of file llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
-
template <size_t N>bool parseExpectError (const char (&)[N] Buf, const char * Error)Defined at line 50 of file llvm/unittests/Remarks/YAMLRemarksParsingTest.cpp
-
void printName (raw_ostream & OS, StringRef Name)Defined at line 50 of file llvm/lib/MC/MCAsmInfoELF.cpp
-
optional matchExpandedRem (Instruction & I)See if we can match: (which is the form we expand into)
X - ((X ?/ Y) * Y)
which is equivalent to:
X ?% Y
Defined at line 50 of file llvm/lib/Transforms/Scalar/DivRemPairs.cpp
-
MaybeAlign getNewAlignmentDiff (const SCEV * DiffSCEV, const SCEV * AlignSCEV, ScalarEvolution * SE)Given an expression for the (constant) alignment, AlignSCEV, and an
expression for the displacement between a pointer and the aligned address,
DiffSCEV, compute the alignment of the displaced pointer if it can be reduced
to a constant. Using SCEV to compute alignment handles the case where
DiffSCEV is a recurrence with constant start such that the aligned offset
is constant. e.g. {16,+,32} % 32 -> 16.
Defined at line 50 of file llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
-
void analyzeICmp (ScalarEvolution & SE, ICmpInst * ICmp, ConditionInfo & Cond, const Loop & L)Defined at line 50 of file llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
-
Function * createAdd1 (Module * M)Defined at line 50 of file llvm/examples/ParallelJIT/ParallelJIT.cpp
-
void findReturnsToZap (Function & F, SmallVector<ReturnInst *, 8> & ReturnsToZap, SCCPSolver & Solver)Defined at line 50 of file llvm/lib/Transforms/IPO/SCCP.cpp
-
OperandBundleDef * unwrap (LLVMOperandBundleRef P)Defined at line 51 of file llvm/lib/IR/Core.cpp
-
LLVMOperandBundleRef wrap (const OperandBundleDef * P)Defined at line 51 of file llvm/lib/IR/Core.cpp
-
void initializeLoadStoreOptPassOnce (PassRegistry & Registry)Defined at line 51 of file llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
-
void initializeSpillPlacementWrapperLegacyPassOnce (PassRegistry & Registry)Defined at line 51 of file llvm/lib/CodeGen/SpillPlacement.cpp
-
bool testTagString (unsigned int Tag, const char * name)Defined at line 51 of file llvm/unittests/Support/RISCVAttributeParserTest.cpp
-
void r2 (uint32_t & A, uint32_t & B, uint32_t & C, uint32_t & D, uint32_t & E, int I, uint32_t * Buf)Defined at line 51 of file llvm/lib/Support/SHA1.cpp
-
optional lookupFMVByID (ArchExtKind ExtID)Defined at line 51 of file llvm/lib/TargetParser/AArch64TargetParser.cpp
-
BasicBlock * getBasicBlockByName (Function & F, StringRef Name)Defined at line 51 of file llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
-
LoopDeletionResult merge (LoopDeletionResult A, LoopDeletionResult B)Defined at line 51 of file llvm/lib/Transforms/Scalar/LoopDeletion.cpp
-
UTF32 foldCharDwarf (UTF32 C)Defined at line 51 of file llvm/lib/Support/DJB.cpp
-
bool shouldDisableRetRegFromCSR (CallingConv::ID CC)Returns true if a CC can dynamically exclude a register from the list of
callee-saved-registers (TargetRegistryInfo::getCalleeSavedRegs()) based on
the return registers.
Defined at line 51 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
int RunProgramWithTimeout (StringRef ProgramPath, ArrayRef Args, StringRef StdInFile, StringRef StdOutFile, StringRef StdErrFile, unsigned int NumSeconds, unsigned int MemoryLimit, std::string * ErrMsg)RunProgramWithTimeout - This function provides an alternate interface
to the sys::Program::ExecuteAndWait interface.
Defined at line 51 of file llvm/tools/bugpoint/ToolRunner.cpp
-
LLVMBool roundTripFinalizeMemory (void * object, char ** errMsg)Defined at line 51 of file llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
-
MCDCCoverageInfo sumMCDCPairs (const ArrayRef<MCDCRecord> & Records)Defined at line 51 of file llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
-
basic_string formatExportFlags (uint32_t IndentLevel, ExportFlags Flags)Defined at line 51 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
Expected expectSubBlock (BitstreamCursor & Stream)Defined at line 51 of file llvm/lib/Remarks/BitstreamRemarkParser.cpp
-
void EmitCamlGlobal (const Module & M, AsmPrinter & AP, const char * Id)Defined at line 51 of file llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp
-
Predicate mapFCmpPred (Predicate P)Given a FCmp predicate, return a matching ICmp predicate if one
exists, otherwise return BAD_ICMP_PREDICATE.
Defined at line 51 of file llvm/lib/Transforms/Scalar/Float2Int.cpp
-
BasicBlock * getOnlyLiveSuccessor (BasicBlock * BB)If
is a switch or a conditional branch, but only one of its successors
can be reached from this block in runtime, return this successor. Otherwise,
return nullptr.
Defined at line 51 of file llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
-
Expected readBlockHeader (DataExtractor & Extractor, uint64_t & Offset)Defined at line 51 of file llvm/lib/XRay/Profile.cpp
-
void runJITWithCache (ObjectCache & ObjCache)Defined at line 51 of file llvm/examples/OrcV2Examples/LLJITWithObjectCache/LLJITWithObjectCache.cpp
-
void forceAttributes (Function & F)If F has any forced attributes given on the command line, add them.
If F has any forced remove attributes given on the command line, remove
them. When both force and force-remove are given to a function, the latter
takes precedence.
Defined at line 51 of file llvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp
-
LLVMErrorRef runPasses (Module * Mod, Function * Fun, const char * Passes, TargetMachine * Machine, LLVMPassBuilderOptions * PassOpts)Defined at line 51 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
Function * CreateFibFunction (Module * M, LLVMContext & Context)Defined at line 51 of file llvm/examples/Fibonacci/fibonacci.cpp
-
std::optional<std::tuple<PHINode *, PHINode *, const SCEV *, bool>> canFoldTermCondOfLoop (Loop * L, ScalarEvolution & SE, DominatorTree & DT, const LoopInfo & LI, const TargetTransformInfo & TTI)Defined at line 51 of file llvm/lib/Transforms/Scalar/LoopTermFold.cpp
-
void initializeLibcallLoweringInfoWrapperPassOnce (PassRegistry & Registry)Defined at line 52 of file llvm/lib/CodeGen/LibcallLoweringInfo.cpp
-
template <typename HasherTAndEndianness, typename... Ts>typename HashBuilder<HasherTAndEndianness>::template HashResultTy<> hashRangeWithBuilder (const Ts &... Args)Defined at line 52 of file llvm/unittests/Support/HashBuilderTest.cpp
-
Section constructSection (const MachO::section_64 & Sec, uint32_t Index)Defined at line 52 of file llvm/lib/ObjCopy/MachO/MachOReader.cpp
-
bool MakeErrMsg (std::string * ErrMsg, const std::string & prefix, int errnum)This function builds an error message into
using the
string and the Unix error number given by
If errnum is -1, the
default then the value of errno is used.
Make an error message
If the error number can be converted to a string, it will be
separated from prefix by ": ".
Defined at line 52 of file llvm/lib/Support/Unix/Unix.h
-
void verifyHashUniqueness (ArrayRef Hashes)Defined at line 52 of file llvm/unittests/DebugInfo/CodeView/TypeHashingTest.cpp
-
bool outputQualifierIfPresent (OutputBuffer & OB, Qualifiers Q, Qualifiers Mask, bool NeedSpace)Defined at line 52 of file llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
-
bool lowersToCopies (const MachineInstr & MI)Returns true if
will get lowered to a series of COPY instructions.
We call this a COPY-like instruction.
Defined at line 52 of file llvm/lib/CodeGen/DetectDeadLanes.cpp
-
SmallVector getStableFunctionEntries (const StableFunctionMap & SFM)Get a sorted vector of StableFunctionEntry pointers.
Defined at line 52 of file llvm/lib/CGData/StableFunctionMapRecord.cpp
-
CmpInst * getOuterLoopLatchCmp (const Loop & OuterLoop)Defined at line 52 of file llvm/lib/Analysis/LoopNestAnalysis.cpp
-
bool inlineWillReduceComplexity (const Function & Caller, const Function & Callee)TODO: This could use more thought.
Defined at line 52 of file llvm/tools/llvm-reduce/deltas/ReduceInlineCallSites.cpp
-
template <typename T>Expected getTagRecordHashForUdt (const CVType & Rec)Defined at line 52 of file llvm/lib/DebugInfo/PDB/Native/TpiHashing.cpp
-
Expected parseDuration (StringRef Duration)Defined at line 52 of file llvm/lib/Support/CachePruning.cpp
-
bool verifySubExpr (Value * Expr, SmallVectorImpl<Instruction *> & InstInputs)Defined at line 52 of file llvm/lib/Analysis/PHITransAddr.cpp
-
Error loadObj (StringRef Filename, object::OwningBinary<object::ObjectFile> & ObjFile, InstrumentationMap::SledContainer & Sleds, InstrumentationMap::FunctionAddressMap & FunctionAddresses, InstrumentationMap::FunctionAddressReverseMap & FunctionIds)Defined at line 52 of file llvm/lib/XRay/InstrumentationMap.cpp
-
ExecutionSession * unwrap (LLVMOrcExecutionSessionRef P)Defined at line 53 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcExecutionSessionRef wrap (const ExecutionSession * P)Defined at line 53 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
BasicBlock ** unwrap (LLVMBasicBlockRef * BBs)Defined at line 53 of file llvm/lib/IR/Core.cpp
-
bool isDWOSection (const SectionBase & Sec)Defined at line 53 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
relocation_iterator * unwrap (LLVMRelocationIteratorRef SI)Defined at line 53 of file llvm/lib/Object/Object.cpp
-
Target * unwrap (LLVMTargetRef P)Defined at line 53 of file llvm/lib/Target/TargetMachineC.cpp
-
template <typename EndianType>void mapRequiredHex (yaml::IO & IO, const char * Key, EndianType & Val)Yaml-map an endian-aware type as an appropriately-sized hex value.
Defined at line 53 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
int versionMain (int argc, const char *[] argv)Top level version information.
Defined at line 53 of file llvm/tools/llvm-cov/llvm-cov.cpp
-
bool isZero (Use & Op)Defined at line 53 of file llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
-
void deleteFunction (Function & F)Defined at line 53 of file llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
-
bool ComparePaddingPct (const LayoutPtr & S1, const LayoutPtr & S2)Defined at line 53 of file llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp
-
uint8_t chunk_state_maybe_start_flag (const llvm_blake3_chunk_state * self)Defined at line 53 of file llvm/lib/Support/BLAKE3/blake3.c
-
ilist_iterator_w_bits skipPastPhiNodesAndDbg (ilist_iterator_w_bits Itr)Defined at line 53 of file llvm/lib/Transforms/Scalar/Scalarizer.cpp
-
void check (Format InputFormat, StringRef Input, Format InputFormat2, StringRef Input2, Format OutputFormat, StringRef ExpectedOutput)Defined at line 53 of file llvm/unittests/Remarks/RemarksLinkingTest.cpp
-
Value * allocateFrameInCaller (Function * Caller, uint64_t FrameSize, Align FrameAlign)Create an alloca in the caller, using FrameSize and FrameAlign as the callee
coroutine's activation frame.
Defined at line 53 of file llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
-
int createISelMutator ()Defined at line 53 of file llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp
-
Expected getCOFFStubTarget (LinkGraph & G, Block & B)Defined at line 53 of file llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
-
bool replaceConditionalBranchesOnConstant (Instruction * II, Value * NewValue, DomTreeUpdater * DTU)Defined at line 53 of file llvm/lib/Transforms/Scalar/LowerConstantIntrinsics.cpp
-
bool MIIsInTerminatorSequence (const MachineInstr & MI)Given that the input MI is before a partial terminator sequence TSeq, return
true if M + TSeq also a partial terminator sequence.
A Terminator sequence is a sequence of MachineInstrs which at this point in
lowering copy vregs into physical registers, which are then passed into
terminator instructors so we can satisfy ABI constraints. A partial
terminator sequence is an improper subset of a terminator sequence (i.e. it
may be the whole terminator sequence).
Defined at line 53 of file llvm/lib/CodeGen/CodeGenCommonISel.cpp
-
Value * LowerBSWAP (LLVMContext & Context, Value * V, Instruction * IP)Emit the code to lower bswap of V before the specified instruction IP.
Defined at line 53 of file llvm/lib/CodeGen/IntrinsicLowering.cpp
-
SymbolStringPool * unwrap (LLVMOrcSymbolStringPoolRef P)Defined at line 54 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcSymbolStringPoolRef wrap (const SymbolStringPool * P)Defined at line 54 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool isNetworkPath (StringRef Path)Defined at line 54 of file llvm/lib/Support/LSP/Protocol.cpp
-
SourceMgr setupSM (std::string & LastErrorMessage)Defined at line 54 of file llvm/lib/Remarks/YAMLRemarkParser.cpp
-
ErrorSuccess reportWarning (Error E)Defined at line 54 of file llvm/tools/llvm-objcopy/llvm-objcopy.cpp
-
bool isExplicitAlign (const CodeGenInstruction * Inst)Defined at line 54 of file llvm/utils/TableGen/X86FoldTablesEmitter.cpp
-
Value * callPrintfBegin (IRBuilder<> & Builder, Value * Version)Defined at line 54 of file llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
-
void check (Format SerializerFormat, const remarks::Remark & R, StringRef ExpectedR, StringRef ExpectedMeta, optional StrTab)Defined at line 54 of file llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp
-
const char * stringForOperandType (OperandType type)stringForOperandType - Like stringForContext, but for OperandTypes.
Defined at line 54 of file llvm/utils/TableGen/X86DisassemblerTables.cpp
-
uint64_t getCallStackHash (const DILocation * DIL)Defined at line 54 of file llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
-
const char * BackupNumber (const char * Pos, const char * FirstChar)Defined at line 54 of file llvm/lib/Support/FileUtilities.cpp
-
void testUnaryOpExhaustive (StringRef Name, function_ref BitsFn, function_ref IntFn, bool CheckOptimality)Defined at line 54 of file llvm/unittests/Support/KnownBitsTest.cpp
-
bool explicifyGuards (Function & F)Defined at line 54 of file llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp
-
int llvm_replace_md_operand ()Defined at line 54 of file llvm/tools/llvm-c-test/metadata.c
-
vector expandBundle (const std::string & InputPath)If the input path is a .dSYM bundle (as created by the dsymutil tool),
replace it with individual entries for each of the object files inside the
bundle otherwise return the input path.
Defined at line 54 of file llvm/tools/llvm-debuginfo-analyzer/llvm-debuginfo-analyzer.cpp
-
void findLoadCallsAtConstantOffset (const Module * M, SmallVectorImpl<DevirtCallSite> & DevirtCalls, Value * VPtr, int64_t Offset, const CallInst * CI, DominatorTree & DT)Search for virtual calls that load from VPtr and add them to DevirtCalls.
Defined at line 54 of file llvm/lib/Analysis/TypeMetadataUtils.cpp
-
Error dumpInput (StringRef File, raw_ostream & OS)Defined at line 54 of file llvm/tools/obj2yaml/obj2yaml.cpp
-
bool runPass (Function & F)Defined at line 54 of file llvm/lib/Transforms/Scalar/Reg2Mem.cpp
-
Error parse (DataExtractor & Data, uint64_t BaseAddr, const LineEntryCallback & Callback)Defined at line 54 of file llvm/lib/DebugInfo/GSYM/LineTable.cpp
-
const char * ReadModule (char SizeofPtr, const char * Begin, const char * End)Defined at line 54 of file llvm/tools/sanstats/sanstats.cpp
-
void initializeEHContGuardTargetsPassOnce (PassRegistry & Registry)Defined at line 55 of file llvm/lib/CodeGen/EHContGuardTargets.cpp
-
MaterializationUnit * unwrap (LLVMOrcMaterializationUnitRef P)Defined at line 55 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcMaterializationUnitRef wrap (const MaterializationUnit * P)Defined at line 55 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
uint64_t getHalf (uint64_t N)Defined at line 55 of file llvm/lib/Support/ScaledNumber.cpp
-
bool hasUndefElements (unsigned short Mask)hasUndefElements - Return true if any of the elements in the mask are undefs
Defined at line 55 of file llvm/utils/PerfectShuffle/PerfectShuffle.cpp
-
LLVMErrorRef dumpObjectsTransform (void * Ctx, LLVMMemoryBufferRef * ObjInOut)Defined at line 55 of file llvm/examples/OrcV2Examples/OrcV2CBindingsDumpObjects/OrcV2CBindingsDumpObjects.c
-
StreamInfo moduleStream (StringRef Label, uint32_t StreamIdx, uint32_t Modi)Defined at line 55 of file llvm/tools/llvm-pdbutil/StreamUtil.cpp
-
void initializeLazyValueInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 55 of file llvm/lib/Analysis/LazyValueInfo.cpp
-
int makeLLVMModule (LLVMContext & Context, const char * ModuleStr)Defined at line 55 of file llvm/unittests/Analysis/UnrollAnalyzerTest.cpp
-
void initializeInstructionSelectPassOnce (PassRegistry & Registry)Defined at line 55 of file llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
-
DbiStream * getDbiStreamPtr (PDBFile & File)Defined at line 55 of file llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp
-
Expected parseExampleModuleFromFile (StringRef FileName)Defined at line 55 of file llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/../ExampleModules.h
-
bool isLocalAlloca (CoroAllocaAllocInst * AI)Is the given alloca "local", i.e. bounded in lifetime to not cross a
suspend point?
Defined at line 55 of file llvm/lib/Transforms/Coroutines/SpillUtils.cpp
-
bool isEqual (const SmallVector<StringRef> & A, const std::vector<std::string> & B)Defined at line 55 of file llvm/unittests/Frontend/OpenMPDirectiveNameParserTest.cpp
-
Expected getMachOStubTarget (LinkGraph & G, Block & B)Defined at line 55 of file llvm/tools/llvm-jitlink/llvm-jitlink-macho.cpp
-
void exportAsYAML (const InstrumentationMap & Map, raw_ostream & OS, FuncIdConversionHelper & FH)Defined at line 55 of file llvm/tools/llvm-xray/xray-extract.cpp
-
void RemoveDeadConstant (Constant * C)Defined at line 55 of file llvm/lib/Transforms/IPO/StripSymbols.cpp
-
tuple getBranchWeight (Intrinsic::ID IntrinsicID, CallInst * CI, int BranchCount)Defined at line 55 of file llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
-
bool haveCompatibleDescriptions (const SDNodeInfo & N1, const SDNodeInfo & N2)Defined at line 55 of file llvm/utils/TableGen/SDNodeInfoEmitter.cpp
-
template <typename T>void write_unsigned_impl (raw_ostream & S, T N, size_t MinDigits, IntegerStyle Style, bool IsNegative)Defined at line 55 of file llvm/lib/Support/NativeFormatting.cpp
-
Error removeSections (const CommonConfig & Config, Object & Obj)Defined at line 55 of file llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
-
basic_string getTokName (int Tok)Defined at line 55 of file llvm/examples/Kaleidoscope/Chapter9/toy.cpp
-
bool DCEInstruction (Instruction * I, SmallSetVector<Instruction *, 16> & WorkList, const TargetLibraryInfo * TLI)===--------------------------------------------------------------------===//
DeadCodeElimination pass implementation
Defined at line 55 of file llvm/lib/Transforms/Scalar/DCE.cpp
-
Expected getIndexedString (Form Form, DataExtractor InfoData, uint64_t & InfoOffset, StringRef StrOffsets, StringRef Str, uint16_t Version)Defined at line 55 of file llvm/lib/DWP/DWP.cpp
-
size_t LLVMFuzzerCustomMutator (uint8_t * Data, size_t Size, size_t MaxSize, unsigned int Seed)Defined at line 55 of file llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
-
void initializeX86ArgumentStackSlotPassPassOnce (PassRegistry & Registry)Defined at line 56 of file llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
-
void initializeLowerGlobalDtorsLegacyPassPassOnce (PassRegistry & Registry)Defined at line 56 of file llvm/lib/Transforms/Utils/LowerGlobalDtors.cpp
-
void noop ()Defined at line 56 of file llvm/unittests/Support/CrashRecoveryTest.cpp
-
LLVMTargetMachineRef wrap (const TargetMachine * P)Defined at line 56 of file llvm/lib/Target/TargetMachineC.cpp
-
bool consumeFront (std::string_view & S, basic_string_view PrefixA, basic_string_view PrefixB, bool A)Defined at line 56 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
size_t digitsForNumber (size_t N)Defined at line 56 of file llvm/tools/llvm-objdump/DXContainerDump.cpp
-
bool isEntryEqual (const DwarfStringPoolEntry & LHS, const DwarfStringPoolEntry & RHS)Defined at line 56 of file llvm/unittests/CodeGen/DwarfStringPoolEntryRefTest.cpp
-
UstarHeader makeUstarHeader ()Defined at line 56 of file llvm/lib/Support/TarWriter.cpp
-
error_code getLastSocketErrorCode ()Defined at line 56 of file llvm/lib/Support/raw_socket_stream.cpp
-
bool checkScale (unsigned int Scale, StringRef & ErrMsg)Defined at line 56 of file llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
-
void insertCallAtAllFunctionExitPoints (Function & Fn, const char * InsertFnName, ArrayRef FunctionArgs)Defined at line 56 of file llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
-
bool hasBcmp (const Triple & TT)Defined at line 56 of file llvm/lib/Analysis/TargetLibraryInfo.cpp
-
void fixupPHINodeForNormalDest (InvokeInst * Invoke, BasicBlock * OrigBlock, BasicBlock * MergeBlock)Fix-up phi nodes in an invoke instruction's normal destination.
After versioning an invoke instruction, values coming from the original
block will now be coming from the "merge" block. For example, in the code
below:
then_bb:
%t0 = invoke i32 %ptr() to label %merge_bb unwind label %unwind_dst
else_bb:
%t1 = invoke i32 %ptr() to label %merge_bb unwind label %unwind_dst
merge_bb:
%t2 = phi i32 [ %t0, %then_bb ], [ %t1, %else_bb ]
br %normal_dst
normal_dst:
%t3 = phi i32 [ %x, %orig_bb ], ...
"orig_bb" is no longer a predecessor of "normal_dst", so the phi nodes in
"normal_dst" must be fixed to refer to "merge_bb":
normal_dst:
%t3 = phi i32 [ %x, %merge_bb ], ...
Defined at line 56 of file llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
-
void reportError (StringRef File, Error E)Defined at line 56 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
void verifyTables ()Defined at line 56 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
StringRef getUnwindCodeTypeName (uint8_t Code)Returns the name of the unwind code.
Defined at line 56 of file llvm/tools/llvm-readobj/Win64EHDumper.cpp
-
void emitRemark (IntrinsicInst * II, OptimizationRemarkEmitter & ORE, bool Removed)Defined at line 56 of file llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
-
int parseMIR (LLVMContext & Context, int & MIR, const TargetMachine & TM, StringRef MIRCode, MachineModuleInfo & MMI)Defined at line 56 of file llvm/unittests/CodeGen/GlobalISel/GISelMITest.h
-
template <IR IRTy>typename TypeSelect<IRTy>::BasicBlock * genIR (std::unique_ptr<llvm::Module> & LLVMM, LLVMContext & LLVMCtx, sandboxir::Context & Ctx, function GenerateIRStr, unsigned int NumInstrs)Defined at line 56 of file llvm/benchmarks/SandboxIRBench.cpp
-
std::pair<int, int> getNarrowTypeBreakDown (LLT OrigTy, LLT NarrowTy, LLT & LeftoverTy)Try to break down
into
sized pieces.
Returns the number of
elements needed to reconstruct
with any leftover piece as type
Returns -1 in the first element of the pair if the breakdown is not
satisfiable.
Defined at line 56 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
SmallSet getUnwindRuleRegSet (const dwarf::UnwindRow & UnwindRow, DWARFRegNum Reg)Defined at line 56 of file llvm/lib/DWARFCFIChecker/DWARFCFIAnalysis.cpp
-
bool isInteresting (const SCEV * S, const Instruction * I, const Loop * L, ScalarEvolution * SE, LoopInfo * LI)isInteresting - Test whether the given expression is "interesting" when
used by the given expression, within the context of analyzing the
given loop.
Defined at line 56 of file llvm/lib/Analysis/IVUsers.cpp
-
bool isSimpleEnoughValueToCommitHelper (Constant * C, SmallPtrSetImpl<Constant *> & SimpleConstants, const DataLayout & DL)Return true if the specified constant can be handled by the code generator.
We don't want to generate something like:
void *X =
&X
/42;
because the code generator doesn't have a relocation that can handle that.
This function should be called if C was not found (but just got inserted)
in SimpleConstants to avoid having to rescan the same constants all the
time.
Defined at line 56 of file llvm/lib/Transforms/Utils/Evaluator.cpp
-
void emitARMTargetDef (const RecordKeeper & RK, raw_ostream & OS)Defined at line 56 of file llvm/utils/TableGen/Basic/ARMTargetDefEmitter.cpp
-
void initializeCFGuardLongjmpPassOnce (PassRegistry & Registry)Defined at line 57 of file llvm/lib/CodeGen/CFGuardLongjmp.cpp
-
MaterializationResponsibility * unwrap (LLVMOrcMaterializationResponsibilityRef P)Defined at line 57 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcMaterializationResponsibilityRef wrap (const MaterializationResponsibility * P)Defined at line 57 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void initializeCycleInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 57 of file llvm/lib/Analysis/CycleAnalysis.cpp
-
void initializeX86SuppressAPXForRelocationPassPassOnce (PassRegistry & Registry)Defined at line 57 of file llvm/lib/Target/X86/X86SuppressAPXForReloc.cpp
-
void initializeMachineLoopInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 57 of file llvm/lib/CodeGen/MachineLoopInfo.cpp
-
bool isUndef (const MachineInstr & MI)Defined at line 57 of file llvm/lib/CodeGen/MachineSSAContext.cpp
-
LLVMRelocationIteratorRef wrap (const relocation_iterator * SI)Defined at line 57 of file llvm/lib/Object/Object.cpp
-
void r3 (uint32_t & A, uint32_t & B, uint32_t & C, uint32_t & D, uint32_t & E, int I, uint32_t * Buf)Defined at line 57 of file llvm/lib/Support/SHA1.cpp
-
void error (StringRef filename, int64_t line, const Twine & message)Defined at line 57 of file llvm/utils/split-file/split-file.cpp
-
LLVMErrorRef myModuleTransform (void * Ctx, LLVMModuleRef Mod)Defined at line 57 of file llvm/examples/OrcV2Examples/OrcV2CBindingsIRTransforms/OrcV2CBindingsIRTransforms.c
-
Register getInitPhiReg (MachineInstr & Phi, MachineBasicBlock * LoopBB)Return the Phi register value that comes from the incoming block.
Defined at line 57 of file llvm/lib/CodeGen/ModuloSchedule.cpp
-
void printPassMessage (StringRef Name, int PassNum, StringRef TargetDesc, bool Running)Defined at line 57 of file llvm/lib/IR/OptBisect.cpp
-
bool onlyKeepDWOPred (const Object & Obj, const SectionBase & Sec)Defined at line 57 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
template <typename T>Error getObject (const T *& Obj, MemoryBufferRef M, const void * Ptr, const uint64_t Size)Sets Obj unless any bytes in [addr, addr + size) fall outsize of m.
Returns unexpected_eof if error.
Defined at line 57 of file llvm/lib/Object/COFFObjectFile.cpp
-
CPUSubTypeARM64 getARM64SubType (const Triple & T)Defined at line 57 of file llvm/lib/BinaryFormat/MachO.cpp
-
void warn (Twine Message, Twine Whence, basic_string Hint)Defined at line 57 of file llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp
-
void dumpRanges (const DWARFObject & Obj, raw_ostream & OS, const DWARFAddressRangesVector & Ranges, unsigned int AddressSize, unsigned int Indent, const DIDumpOptions & DumpOpts)Defined at line 57 of file llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
-
void HandleOverflow (size_t & Capacity, char *& Output, size_t & OutputLength, SmallVectorImpl<char> & Result)Defined at line 57 of file llvm/lib/Support/TextEncoding.cpp
-
Expected getELFStubTarget (LinkGraph & G, Block & B)Defined at line 57 of file llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
-
uint8_t getSMCPriority (StorageMappingClass SMC)Defined at line 57 of file llvm/lib/MC/MCDisassembler/MCDisassembler.cpp
-
NodeType getPreferredExtendForValue (const Instruction * I)Defined at line 57 of file llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
-
optional parseReplacementItem (StringRef Spec)Defined at line 57 of file llvm/lib/Support/FormatVariadic.cpp
-
optional parseJumpTable (GetElementPtrInst * GEP, PointerType * PtrTy)Defined at line 57 of file llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
-
bool runSCCP (Function & F, const DataLayout & DL, const TargetLibraryInfo * TLI, DominatorTree & DT, AssumptionCache & AC)runSCCP() - Run the Sparse Conditional Constant Propagation algorithm,
and return true if the function was modified.
Defined at line 57 of file llvm/lib/Transforms/Scalar/SCCP.cpp
-
uint32_t computeBucketCount (uint32_t NumStrings)Defined at line 57 of file llvm/lib/DebugInfo/PDB/Native/PDBStringTableBuilder.cpp
-
void initializeGlobalDCELegacyPassPassOnce (PassRegistry & Registry)Defined at line 58 of file llvm/lib/Transforms/IPO/GlobalDCE.cpp
-
const char * OverloadTestA ()Defined at line 58 of file llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
-
void initializeX86LowerTileCopyPassOnce (PassRegistry & Registry)Defined at line 58 of file llvm/lib/Target/X86/X86LowerTileCopy.cpp
-
void initializeMachineTraceMetricsWrapperPassPassOnce (PassRegistry & Registry)Defined at line 58 of file llvm/lib/CodeGen/MachineTraceMetrics.cpp
-
void EmitSkeleton (const RecordKeeper & RK, raw_ostream & OS)===----------------------------------------------------------------------===//
Option B: Register "EmitSkeleton" directly
The emitter entry may be private scope.
Defined at line 58 of file llvm/lib/TableGen/TableGenBackendSkeleton.cpp
-
bool isZeroOrOneFP (Value * Op)Defined at line 58 of file llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
-
Instruction * getInstructionByName (Function & F, StringRef Name)Defined at line 58 of file llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp
-
sandboxir::BasicBlock & getBasicBlockByName (sandboxir::Function & F, StringRef Name)Defined at line 58 of file llvm/unittests/Transforms/Vectorize/SandboxVectorizer/VecUtilsTest.cpp
-
optional getFMVInfoFrom (StringRef Feature)Defined at line 58 of file llvm/lib/TargetParser/AArch64TargetParser.cpp
-
bool IsBetterCanonical (const GlobalVariable & A, const GlobalVariable & B)True if A is better than B.
Defined at line 58 of file llvm/lib/Transforms/IPO/ConstantMerge.cpp
-
void emitCCHeader (raw_ostream & O, const Record * CC, StringRef Suffix)Defined at line 58 of file llvm/utils/TableGen/CallingConvEmitter.cpp
-
const char * lexMacroName (StringRef Str)Returns a pointer past the end of a valid macro name at the start of `Str`.
Valid macro names match the regular expression [a-zA-Z_][0-9a-zA-Z_]*.
Defined at line 58 of file llvm/lib/TableGen/TGLexer.cpp
-
uint64_t getCallStackHashV0 (const MachineBasicBlock & BB, const MachineInstr & MI, const DILocation * DIL)TODO(xur): Remove this once we switch to ImprovedFSDiscriminator.
Compute a hash value using debug line number, and the line numbers from the
inline stack.
Defined at line 58 of file llvm/lib/CodeGen/MIRFSDiscriminator.cpp
-
Instruction * simplifyX86MaskedLoad (IntrinsicInst & II, InstCombiner & IC)TODO: If the x86 backend knew how to convert a bool vector mask back to an
XMM register mask efficiently, we could transform all x86 masked intrinsics
to LLVM masked intrinsics and remove the x86 masked intrinsic defs.
Defined at line 58 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
bool isX87ControlInstruction (MachineInstr & MI)Defined at line 58 of file llvm/lib/Target/X86/X86InsertWait.cpp
-
int main (int argc, const char ** argv)Defined at line 58 of file llvm/tools/llvm-cov/llvm-cov.cpp
-
bool cheapToScalarize (Value * V, Value * EI)Return true if the value is cheaper to scalarize than it is to leave as a
vector operation. If the extract index
is a constant integer then
some operations may be cheap to scalarize.
FIXME: It's possible to create more instructions than previously existed.
Defined at line 58 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
Expected parseBraceExpansions (StringRef S, optional MaxSubPatterns)Identify brace expansions in S and return the list of patterns they expand
into.
Defined at line 58 of file llvm/lib/Support/GlobPattern.cpp
-
void initializeKCFIPassOnce (PassRegistry & Registry)Defined at line 59 of file llvm/lib/CodeGen/KCFI.cpp
-
void initializeUnreachableBlockElimLegacyPassPassOnce (PassRegistry & Registry)Defined at line 59 of file llvm/lib/CodeGen/UnreachableBlockElim.cpp
-
JITDylib * unwrap (LLVMOrcJITDylibRef P)Defined at line 59 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcJITDylibRef wrap (const JITDylib * P)Defined at line 59 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
basic_string getDescription (const Module & M)Defined at line 59 of file llvm/lib/IR/Pass.cpp
-
LLVMTargetRef wrap (const Target * P)Defined at line 59 of file llvm/lib/Target/TargetMachineC.cpp
-
basic_string getNewName (Module & M, const GlobalValue & GV)Defined at line 59 of file llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
-
bool ComparePaddingImmediate (const LayoutPtr & S1, const LayoutPtr & S2)Defined at line 59 of file llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp
-
bool AddLinkageNamesToDeclCallOriginsForTuning (const DwarfDebug * DD)Defined at line 59 of file llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
-
bool lowerAtomics (Function & F)Defined at line 59 of file llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp
-
void verifyEncoding (MCDwarfLineTableParams Params, int LineDelta, int AddrDelta, ArrayRef ExpectedEncoding)Defined at line 59 of file llvm/unittests/MC/DwarfLineTables.cpp
-
sandboxir::BasicBlock * getBasicBlockByName (sandboxir::Function * F, StringRef Name)Defined at line 59 of file llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
-
bool subWithOverflow (APInt & Result, const APInt & In1, const APInt & In2, bool IsSigned)Compute Result = In1-In2, returning true if the result overflowed for this
type.
Defined at line 59 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
bool shouldEscapeInURI (unsigned char C)Defined at line 59 of file llvm/lib/Support/LSP/Protocol.cpp
-
Sequence MergeSeqs (Sequence A, Sequence B, bool TopDown)===----------------------------------------------------------------------===//
Sequence
===----------------------------------------------------------------------===//
Defined at line 59 of file llvm/lib/Transforms/ObjCARC/PtrState.cpp
-
void DisconnectBlocks (BasicBlock * From, BasicBlock * To)Defined at line 59 of file llvm/unittests/IR/CFGBuilder.cpp
-
Error wrapImages (ArrayRef BuffersToWrap)Defined at line 59 of file llvm/tools/llvm-offload-wrapper/llvm-offload-wrapper.cpp
-
Value * getBoundsCheckCond (Value * Ptr, Value * InstVal, const DataLayout & DL, TargetLibraryInfo & TLI, ObjectSizeOffsetEvaluator & ObjSizeEval, BuilderTy & IRB, ScalarEvolution & SE)Gets the conditions under which memory accessing instructions will overflow.
is the pointer that will be read/written, and
is either
the result from the load or the value being stored. It is used to determine
the size of memory block that is touched.
Returns the condition under which the access will overflow.
Defined at line 59 of file llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
-
template <typename SectionType, typename SegmentType>Expected extractSections (const object::MachOObjectFile::LoadCommandInfo & LoadCmd, const object::MachOObjectFile & MachOObj, uint32_t & NextSectionIndex)Defined at line 59 of file llvm/lib/ObjCopy/MachO/MachOReader.cpp
-
void initializeMachineFunctionPrinterPassPassOnce (PassRegistry & Registry)Defined at line 60 of file llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp
-
ResourceTracker * unwrap (LLVMOrcResourceTrackerRef P)Defined at line 60 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcResourceTrackerRef wrap (const ResourceTracker * P)Defined at line 60 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void initializeX86FixupVectorConstantsPassPassOnce (PassRegistry & Registry)Defined at line 60 of file llvm/lib/Target/X86/X86FixupVectorConstants.cpp
-
void initializePass1PassOnce (PassRegistry & Registry)Defined at line 60 of file llvm/unittests/IR/TimePassesTest.cpp
-
basic_string StdString (const char * Ptr)Defined at line 60 of file llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp
-
basic_string getIdentifierName (const Record * Rec, StringRef Prefix)Get prefixed formatted name, e.g. for "target data", get "OMPD_target_data".
This should work for any Record as long as BaseRecord::getFormattedName
works.
Defined at line 60 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
void defaultDiagHandler (const SMDiagnostic & SMD, bool , const SourceMgr & , std::vector<const MDNode *> & )Defined at line 60 of file llvm/lib/MC/MCContext.cpp
-
bool isExplicitUnalign (const CodeGenInstruction * Inst)Defined at line 60 of file llvm/utils/TableGen/X86FoldTablesEmitter.cpp
-
StringRef stripIntrinArgSelectTypePrefix (StringRef Type)Defined at line 60 of file llvm/utils/TableGen/DXILEmitter.cpp
-
optional fastCaseFoldingDjbHash (StringRef Buffer, uint32_t H)Defined at line 60 of file llvm/lib/Support/DJB.cpp
-
basic_string prettyTag (yaml::Node * N)Pretty print a tag by replacing tag:yaml.org,2002: with !!.
Defined at line 60 of file llvm/utils/yaml-bench/YAMLBench.cpp
-
void cpuid (uint32_t[4] out, uint32_t id)Defined at line 60 of file llvm/lib/Support/BLAKE3/blake3_dispatch.c
-
unsigned int getExtensionRank (const std::string & ExtName)Get the rank for multi-letter extension, lower value meaning higher
priority/order in canonical order.
Defined at line 60 of file llvm/lib/Support/RISCVISAUtils.cpp
-
Expected getDriverConfig (ArrayRef Args)Defined at line 60 of file llvm/tools/llvm-objcopy/llvm-objcopy.cpp
-
void ApplyFeatureFlag (FeatureBitset & Bits, StringRef Feature, ArrayRef FeatureTable)Defined at line 60 of file llvm/lib/MC/MCSubtargetInfo.cpp
-
Error deepWriteArchive (StringRef ArcName, ArrayRef NewMembers, SymtabWritingMode WriteSymtab, Kind Kind, bool Deterministic, bool Thin)For regular archives this function simply calls llvm::writeArchive,
For thin archives it writes the archive file itself as well as its members.
Defined at line 60 of file llvm/lib/ObjCopy/Archive.cpp
-
X86_64RelType getType64 (MCFixupKind Kind, X86::Specifier & Specifier, bool & IsPCRel)Defined at line 60 of file llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
-
pair getUnicodeEncoding (StringRef Input)getUnicodeEncoding - Reads up to the first 4 bytes to determine the Unicode
encoding form of
Parameters
Input A string of length 0 or more.Defined at line 60 of file llvm/lib/Support/YAMLParser.cpp
-
DefinitionGenerator * unwrap (LLVMOrcDefinitionGeneratorRef P)Defined at line 61 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcDefinitionGeneratorRef wrap (const DefinitionGenerator * P)Defined at line 61 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void initializePass2PassOnce (PassRegistry & Registry)Defined at line 61 of file llvm/unittests/IR/TimePassesTest.cpp
-
bool isOnlyLHSMask (unsigned short Mask)isOnlyLHSMask - Return true if this mask only refers to its LHS, not
including undef values..
Defined at line 61 of file llvm/utils/PerfectShuffle/PerfectShuffle.cpp
-
void initializeLiveVariablesWrapperPassPassOnce (PassRegistry & Registry)Defined at line 61 of file llvm/lib/CodeGen/LiveVariables.cpp
-
template <typename EndianType>void mapOptionalHex (yaml::IO & IO, const char * Key, EndianType & Val, typename EndianType::value_type Default)Perform an optional yaml-mapping of an endian-aware type as an
appropriately-sized hex value.
Defined at line 61 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
bool setDoesNotAccessMemory (Function & F)Defined at line 61 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void checkStandalone (Format SerializerFormat, const remarks::Remark & R, StringRef ExpectedR, optional StrTab)Defined at line 61 of file llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp
-
uint64_t packAllocSizeArgs (unsigned int ElemSizeArg, const std::optional<unsigned int> & NumElemsArg)Defined at line 61 of file llvm/lib/IR/Attributes.cpp
-
cmpResult strictCompare (const APFloat & LHS, const APFloat & RHS)We treat that -0 is less than 0 here.
Defined at line 61 of file llvm/lib/IR/ConstantFPRange.cpp
-
bool inlineHistoryIncludes (Function * F, int InlineHistoryID, const SmallVectorImpl<std::pair<Function *, int>> & InlineHistory)Return true if the specified inline history ID
indicates an inline history that includes the specified function.
Defined at line 61 of file llvm/lib/Transforms/IPO/ModuleInliner.cpp
-
Value * callAppendArgs (IRBuilder<> & Builder, Value * Desc, int NumArgs, Value * Arg0, Value * Arg1, Value * Arg2, Value * Arg3, Value * Arg4, Value * Arg5, Value * Arg6, bool IsLast)Defined at line 61 of file llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
-
void writeCFGToDotFile (Function & F, BlockFrequencyInfo * BFI, BranchProbabilityInfo * BPI, uint64_t MaxFreq, bool CFGOnly)Defined at line 61 of file llvm/lib/Analysis/CFGPrinter.cpp
-
unsigned int countOperands (SDNode * Node, unsigned int NumExpUses, unsigned int & NumImpUses)countOperands - The inputs to target nodes have any actual inputs first,
followed by an optional chain operand, then an optional glue operand.
Compute the number of actual operands that will go into the resulting
MachineInstr.
Also count physreg RegisterSDNode and RegisterMaskSDNode operands preceding
the chain and glue. These operands may be implicit on the machine instr.
Defined at line 61 of file llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
-
int classifyReductivePower (Value * V)Return a reduction priority for
A higher values means "more reduced".
Defined at line 61 of file llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
-
template <class ELFT>Expected getDynamicStrTab (const ELFFile<ELFT> & Elf)Defined at line 61 of file llvm/tools/llvm-objdump/ELFDump.cpp
-
bool removeDeadBlocks_v1 (Function & F)Remove trivially dead blocks. First version, not preserving the
DominatorTree.
Defined at line 61 of file llvm/examples/IRTransforms/SimplifyCFG.cpp
-
bool isSaturating (AtomicRMWInst & RMWI)Return true if the given instruction always produces a value in memory
equivalent to its value operand.
Defined at line 61 of file llvm/lib/Transforms/InstCombine/InstCombineAtomicRMW.cpp
-
BasicBlock * usersDominator (const MemoryLocation & ML, Instruction * I, DominatorTree & DT, MemorySSA & MSSA)Finds a BasicBlock in the CFG where instruction `I` can be moved to while
not changing the Memory SSA ordering and being guarded by at least one
condition.
Defined at line 61 of file llvm/lib/Transforms/Utils/MoveAutoInit.cpp
-
error_code exportToFile (StringRef FilePath, const SimilarityGroupList & SimSections, const DenseMap<Instruction *, unsigned int> & LLVMInstNum)Exports the given SimilarityGroups to a JSON file at
Parameters
FilePath - The path to the output location.SimSections - The similarity groups to process.LLVMInstNum - The mapping of Instructions to their location in the module represented by an unsigned integer.Defined at line 61 of file llvm/tools/llvm-sim/llvm-sim.cpp
-
void cleanUpTemporaries (NamedMDNode & NamedNode, MDTuple * TemporaryTuple, Module & Program)After reducing metadata, we need to remove references to the temporary node,
this is also done with BFS
Defined at line 61 of file llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp
-
Instruction * foldSelectBinOpIdentity (SelectInst & Sel, const TargetLibraryInfo & TLI, InstCombinerImpl & IC)Replace a select operand based on an equality comparison with the identity
constant of a binop.
Defined at line 61 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
void replaceFunctionCalls (Function * OldF, Function * NewF)Goes over OldF calls and replaces them with a call to NewF.
Defined at line 61 of file llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
-
void initializeJMCInstrumenterPassOnce (PassRegistry & Registry)Defined at line 62 of file llvm/lib/CodeGen/JMCInstrumenter.cpp
-
void initializeVirtRegMapWrapperLegacyPassOnce (PassRegistry & Registry)Defined at line 62 of file llvm/lib/CodeGen/VirtRegMap.cpp
-
void roundTripDestroy (void * object)Defined at line 62 of file llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
-
bool startsWith (basic_string_view S, basic_string_view PrefixA, basic_string_view PrefixB, bool A)Defined at line 62 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
template <class AllocatorType, class T, size_t Size, size_t Align>void * operator new (size_t size, llvm::RecyclingAllocator<AllocatorType, T, Size, Align> & Allocator)Defined at line 62 of file llvm/include/llvm/Support/RecyclingAllocator.h
-
void initializeBranchProbabilityInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 62 of file llvm/lib/Analysis/BranchProbabilityInfo.cpp
-
void addEdge (SmallVectorImpl<LazyCallGraph::Edge> & Edges, int & EdgeIndexMap, LazyCallGraph::Node & N, Kind EK)Defined at line 62 of file llvm/lib/Analysis/LazyCallGraph.cpp
-
Expected parseMagic (StringRef & Buf)Parse the magic number. This function returns true if this represents remark
metadata, false otherwise.
Defined at line 62 of file llvm/lib/Remarks/YAMLRemarkParser.cpp
-
int tblgen_main (int argc, char ** argv)===- TableGen.h ---------------------------------------------------------===//
Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
See https://llvm.org/LICENSE.txt for license information.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
===----------------------------------------------------------------------===//
Shared entry point for llvm-tblgen and llvm-min-tblgen.
===----------------------------------------------------------------------===//
Defined at line 72 of file llvm/utils/TableGen/Basic/TableGen.cpp
-
void LLVMInitializeX86Target ()Defined at line 65 of file llvm/lib/Target/X86/X86TargetMachine.cpp
-
void LLVMInitializeX86TargetMCA ()Extern function to initialize the targets for the X86 backend
Defined at line 77 of file llvm/lib/Target/X86/MCA/X86CustomBehaviour.cpp
-
int llvm_module_dump (_Bool Lazy, _Bool New)Defined at line 63 of file llvm/tools/llvm-c-test/module.c
-
int llvm_module_list_functions ()Defined at line 77 of file llvm/tools/llvm-c-test/module.c
-
Expected launchLocalExecutor (StringRef ExecutablePath)Defined at line 70 of file llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
-
int llvm_disassemble ()disassemble.c
Defined at line 86 of file llvm/tools/llvm-c-test/disassemble.c
-
Error archive2yaml (llvm::raw_ostream & Out, MemoryBufferRef Source)Defined at line 103 of file llvm/tools/obj2yaml/archive2yaml.cpp
-
int gcovMain (int argc, const char *[] argv)The main entry point for the gcov compatible coverage tool.
Defined at line 83 of file llvm/tools/llvm-cov/gcov.cpp
-
Error offload2yaml (llvm::raw_ostream & Out, MemoryBufferRef Source)Defined at line 69 of file llvm/tools/obj2yaml/offload2yaml.cpp
-
LLVMBool LLVMVerifyModule (LLVMModuleRef M, Action, char ** OutMessage)Verifies that a module is valid, taking the specified action if not.
Optionally returns a human-readable description of any invalid constructs.
OutMessage must be disposed with LLVMDisposeMessage.
Defined at line 81 of file llvm/lib/Analysis/Analysis.cpp
-
llvm_orc_registerJITLoaderGDBAllocAction (const char * ArgData, size_t ArgSize)Defined at line 76 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderGDB.cpp
-
int llvm_is_a_value_as_metadata ()Defined at line 83 of file llvm/tools/llvm-c-test/metadata.c
-
Error dumpDebugAddr (llvm::DWARFContext & DCtx, llvm::DWARFYAML::Data & Y)Defined at line 56 of file llvm/tools/obj2yaml/dwarf2yaml.cpp
-
LLVMErrorRef LLVMRunPasses (LLVMModuleRef M, const char * Passes, LLVMTargetMachineRef TM, LLVMPassBuilderOptionsRef Options)Construct and run a set of passes over a module
This function takes a string with the passes that should be used. The format
of this string is the same as opt's -passes argument for the new pass
manager. Individual passes may be specified, separated by commas. Full
pipelines may also be invoked using `default
<O3
>` and friends. See opt for
full reference of the Passes format.
Defined at line 101 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
LLVMBool LLVMVerifyFunction (LLVMValueRef Fn, Action)Verifies that a single function is valid, taking the specified action. Useful
for debugging.
Defined at line 102 of file llvm/lib/Analysis/Analysis.cpp
-
int llvm_object_list_symbols ()Defined at line 58 of file llvm/tools/llvm-c-test/object.c
-
Error dumpDebugStrings (llvm::DWARFContext & DCtx, llvm::DWARFYAML::Data & Y)Defined at line 88 of file llvm/tools/obj2yaml/dwarf2yaml.cpp
-
void report_size_overflow (size_t MinSize, size_t MaxSize)Report that MinSize doesn't fit into this vector's size type. Throws
std::length_error or calls report_fatal_error.
Defined at line 62 of file llvm/lib/Support/SmallVector.cpp
-
int llvm_test_diagnostic_handler ()diagnostic.c
Defined at line 47 of file llvm/tools/llvm-c-test/diagnostic.c
-
LLVMBool LLVMParseBitcodeInContext2 (LLVMContextRef ContextRef, LLVMMemoryBufferRef MemBuf, LLVMModuleRef * OutModule)Defined at line 58 of file llvm/lib/Bitcode/Reader/BitReader.cpp
-
void LLVMSetComdat (LLVMValueRef V, LLVMComdatRef C)Assign the Comdat to the given global object.
Defined at line 43 of file llvm/lib/IR/Comdat.cpp
-
LLVMGenericValueRef LLVMCreateGenericValueOfInt (LLVMTypeRef Ty, unsigned long long N, LLVMBool IsSigned)===-- Operations on generic values --------------------------------------===
Defined at line 40 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
LLVMDisasmContextRef LLVMCreateDisasmCPUFeatures (const char * Triple, const char * CPU, const char * Features, void * DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)Create a disassembler for the TripleName, a specific CPU and specific feature
string. Symbolic disassembly is supported by passing a block of information
in the DisInfo parameter and specifying the TagType and callback functions as
described above. These can all be passed * as NULL. If successful, this
returns a disassembler context. If not, it returns NULL.
Defined at line 42 of file llvm/lib/MC/MCDisassembler/Disassembler.cpp
-
int llvm_test_function_attributes ()attributes.c
Defined at line 20 of file llvm/tools/llvm-c-test/attributes.c
-
int llvm_test_callsite_attributes ()Defined at line 51 of file llvm/tools/llvm-c-test/attributes.c
-
LLVMGenericValueRef LLVMCreateGenericValueOfPointer (void * P)Defined at line 48 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
LLVMGenericValueRef LLVMCreateGenericValueOfFloat (LLVMTypeRef Ty, double N)Defined at line 54 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
LLVMGetComdatSelectionKind (LLVMComdatRef C)Get the conflict resolution selection kind for the Comdat.
Defined at line 48 of file llvm/lib/IR/Comdat.cpp
-
void llvm_regfree (llvm_regex_t * )- llvm_regfree - free everything
Defined at line 49 of file llvm/lib/Support/regfree.c
-
size_t llvm_strlcpy (char * dst, const char * src, size_t siz)Copy src to string dst of size siz. At most siz-1 characters
will be copied. Always NUL terminates (unless siz == 0).
Returns strlen(src); if retval >= siz, truncation occurred.
Defined at line 28 of file llvm/lib/Support/regstrlcpy.c
-
void lookupResolveEverythingToNull (const llvm::jitlink::JITLinkContext::LookupMap & Symbols, unique_ptr LC)Defined at line 60 of file llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.cpp
-
PassPluginLibraryInfo llvmGetPassPluginInfo ()The public entry point for a pass plugin.
When a plugin is loaded by the driver, it will call this entry point to
obtain information about this plugin and about how to register its passes.
This function needs to be implemented by the plugin, see the example below:
```
extern "C" ::llvm::PassPluginLibraryInfo LLVM_ATTRIBUTE_WEAK
llvmGetPassPluginInfo() {
return {
LLVM_PLUGIN_API_VERSION, "MyPlugin", "v0.1", [](PassBuilder
&PB
) { ... }
};
}
```
Defined at line 41 of file llvm/unittests/Passes/Plugins/DoublerPlugin/DoublerPlugin.cpp
-
LLVMTargetDataRef LLVMGetModuleDataLayout (LLVMModuleRef M)Obtain the data layout for a module.
Defined at line 41 of file llvm/lib/Target/Target.cpp
-
void LLVMSetModuleDataLayout (LLVMModuleRef M, LLVMTargetDataRef DL)Set the data layout for a module.
Defined at line 45 of file llvm/lib/Target/Target.cpp
-
LLVMTargetDataRef LLVMCreateTargetData (const char * StringRep)Creates target data from a target layout string.
See the constructor llvm::DataLayout::DataLayout.
Defined at line 49 of file llvm/lib/Target/Target.cpp
-
void LLVMDisposeTargetData (LLVMTargetDataRef TD)Deallocates a TargetData.
See the destructor llvm::DataLayout::~DataLayout.
Defined at line 53 of file llvm/lib/Target/Target.cpp
-
void LLVMAddTargetLibraryInfo (LLVMTargetLibraryInfoRef TLI, LLVMPassManagerRef PM)Adds target library information to a pass manager. This does not take
ownership of the target library info.
See the method llvm::PassManagerBase::add.
Defined at line 57 of file llvm/lib/Target/Target.cpp
-
char * LLVMCopyStringRepOfTargetData (LLVMTargetDataRef TD)Converts target data to a target layout string. The string must be disposed
with LLVMDisposeMessage.
See the constructor llvm::DataLayout::DataLayout.
Defined at line 62 of file llvm/lib/Target/Target.cpp
-
uint32_t LLVMRemarkVersion ()Returns the version of the remarks library.
Defined at line 15 of file llvm/tools/remarks-shlib/libremarks.cpp
-
void lto_initialize_disassembler ()Initializes LLVM disassemblers.
FIXME: This doesn't really belong here.
Defined at line 19 of file llvm/tools/lto/LTODisassembler.cpp
-
DenseMap getImageArguments (StringRef Image, StringSaver & Saver)Get a map containing all the arguments for the image. Repeated arguments will
be placed in a comma separated list.
Defined at line 62 of file llvm/tools/llvm-offload-binary/llvm-offload-binary.cpp
-
ParseRet tryParseMask (StringRef & MangledName, bool & IsMasked)Extracts the `
<mask
>` information from the mangled string, and
sets `IsMasked` accordingly. If successful, the
<mask
> token is removed
from the input string `MangledName`.
Defined at line 62 of file llvm/lib/IR/VFABIDemangler.cpp
-
void printRanLibHelp (StringRef ToolName)Defined at line 62 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
Loop * getInnerMostLoop (const LoopVectorTy & Loops)Retrieve the innermost loop in the given loop nest
It returns a
nullptr if any loops in the loop vector supplied has more than one sibling.
The loop vector is expected to contain loops collected in breadth-first
order.
Defined at line 62 of file llvm/lib/Analysis/LoopCacheAnalysis.cpp
-
basic_string getHighestNumericTupleInDirectory (llvm::vfs::FileSystem & VFS, StringRef Directory)Defined at line 62 of file llvm/lib/WindowsDriver/MSVCPaths.cpp
-
Constant * FoldBitCast (Constant * V, Type * DestTy)Defined at line 62 of file llvm/lib/IR/ConstantFold.cpp
-
InProgressLookupState * unwrap (LLVMOrcLookupStateRef P)Defined at line 63 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcLookupStateRef wrap (const InProgressLookupState * P)Defined at line 63 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void rename (GlobalValue * GV)Defined at line 63 of file llvm/lib/IR/AutoUpgrade.cpp
-
void initializeX86FixupSetCCPassPassOnce (PassRegistry & Registry)Defined at line 63 of file llvm/lib/Target/X86/X86FixupSetCC.cpp
-
Error malformedError (const Twine & Msg)Defined at line 63 of file llvm/lib/Object/MachOObjectFile.cpp
-
void CopyStringRef (char * Memory, StringRef Data)CopyStringRef - Copies contents of a StringRef into a block of memory and
null-terminates it.
Defined at line 63 of file llvm/lib/Support/MemoryBuffer.cpp
-
void r4 (uint32_t & A, uint32_t & B, uint32_t & C, uint32_t & D, uint32_t & E, int I, uint32_t * Buf)Defined at line 63 of file llvm/lib/Support/SHA1.cpp
-
void ReportErrnumFatal (const char * Msg, int errnum)Include StrError(errnum) in a fatal error message.
Defined at line 63 of file llvm/lib/Support/Unix/Unix.h
-
bool ComparePaddingPctImmediate (const LayoutPtr & S1, const LayoutPtr & S2)Defined at line 63 of file llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp
-
void initializeRegBankSelectPassOnce (PassRegistry & Registry)Defined at line 63 of file llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
-
template <class ELFT>Expected<std::unique_ptr<ELFObjectFile<ELFT>>> createPtr (MemoryBufferRef Object, bool InitContent)Defined at line 63 of file llvm/lib/Object/ELFObjectFile.cpp
-
sandboxir::BasicBlock * getBasicBlockByName (sandboxir::Function * F, StringRef Name)Defined at line 63 of file llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
-
void CleanupStdHandles (void * Cookie)Defined at line 63 of file llvm/lib/Support/InitLLVM.cpp
-
LLVMTargetRef LLVMGetFirstTarget ()Returns the first llvm::Target in the registered targets list.
Defined at line 63 of file llvm/lib/Target/TargetMachineC.cpp
-
bool hasTheRightValue (AssumeInst * Assume, Value * WasOn, AttrKind Kind, unsigned int Value)Defined at line 63 of file llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
-
vector parseGlobalCtors (GlobalVariable * GV)Given a llvm.global_ctors list that we can understand,
return a list of the functions and null terminator as a vector.
Defined at line 63 of file llvm/lib/Transforms/Utils/CtorUtils.cpp
-
bool inlineSiteContainsAddress (InlineSiteSym & IS, uint32_t OffsetInFunc)Defined at line 63 of file llvm/lib/DebugInfo/PDB/Native/NativeFunctionSymbol.cpp
-
Register getArgBaseReg (MachineFunction & MF)Defined at line 63 of file llvm/lib/Target/X86/X86ArgumentStackSlotRebase.cpp
-
optional preprocess (StringRef Buf, function_ref ErrHandler)Defined at line 63 of file llvm/tools/yaml2obj/yaml2obj.cpp
-
bool matchAliasCondition (const MCInst & MI, const MCSubtargetInfo * STI, const MCInstrInfo & MII, const MCRegisterInfo & MRI, unsigned int & OpIdx, const AliasMatchingData & M, const AliasPatternCond & C, bool & OrPredicateResult)Defined at line 63 of file llvm/lib/MC/MCInstPrinter.cpp
-
bool isLoopDead (Loop * L, ScalarEvolution & SE, SmallVectorImpl<BasicBlock *> & ExitingBlocks, BasicBlock * ExitBlock, bool & Changed, BasicBlock * Preheader, LoopInfo & LI)Determines if a loop is dead.
This assumes that we've already checked for unique exit and exiting blocks,
and that the code is in LCSSA form.
Defined at line 63 of file llvm/lib/Transforms/Scalar/LoopDeletion.cpp
-
void extractInstrFromFunction (Oracle & O, MachineFunction & MF)Defined at line 63 of file llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
-
void initializeFEntryInserterLegacyPassOnce (PassRegistry & Registry)Defined at line 64 of file llvm/lib/CodeGen/FEntryInserter.cpp
-
void initializeMIRNamerPassOnce (PassRegistry & Registry)Defined at line 64 of file llvm/lib/CodeGen/MIRNamerPass.cpp
-
ThreadSafeContext * unwrap (LLVMOrcThreadSafeContextRef P)Defined at line 64 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcThreadSafeContextRef wrap (const ThreadSafeContext * P)Defined at line 64 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void initializeX86FixupInstTuningPassPassOnce (PassRegistry & Registry)Defined at line 64 of file llvm/lib/Target/X86/X86FixupInstTuning.cpp
-
VPTransform parseOverrideOption (const std::string & TextOpt)Defined at line 64 of file llvm/lib/CodeGen/ExpandVectorPredication.cpp
-
bool isMisExpectDiagEnabled (const LLVMContext & Ctx)Defined at line 64 of file llvm/lib/Transforms/Utils/MisExpect.cpp
-
LLVMErrorRef transform (void * Ctx, LLVMOrcThreadSafeModuleRef * ModInOut, LLVMOrcMaterializationResponsibilityRef MR)Defined at line 64 of file llvm/examples/OrcV2Examples/OrcV2CBindingsIRTransforms/OrcV2CBindingsIRTransforms.c
-
uint32_t getCStringLength (ArrayRef Data)Defined at line 64 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
PreservedAnalyses rtsanPreservedCFGAnalyses ()Defined at line 64 of file llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
-
void getNameWithPrefixImpl (raw_ostream & OS, const Twine & GVName, const DataLayout & DL, ManglerPrefixTy PrefixTy)Defined at line 64 of file llvm/lib/IR/Mangler.cpp
-
sockaddr_un setSocketAddr (StringRef SocketPath)Defined at line 64 of file llvm/lib/Support/raw_socket_stream.cpp
-
void outputQualifiers (OutputBuffer & OB, Qualifiers Q, bool SpaceBefore, bool SpaceAfter)Defined at line 64 of file llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
-
SmallVector parseStreamSpecs (LinePrinter & P)Defined at line 64 of file llvm/tools/llvm-pdbutil/BytesOutputStyle.cpp
-
void decreaseSetPressure (int & CurrSetPressure, const MachineRegisterInfo & MRI, VirtRegOrUnit VRegOrUnit, LaneBitmask PrevMask, LaneBitmask NewMask)Decrease pressure for each pressure set provided by TargetRegisterInfo.
Defined at line 64 of file llvm/lib/CodeGen/RegisterPressure.cpp
-
bool shouldReduceOperand (Use & Op)Defined at line 64 of file llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
-
void LLVMSetComdatSelectionKind (LLVMComdatRef C, Kind)Set the conflict resolution selection kind for the Comdat.
Defined at line 64 of file llvm/lib/IR/Comdat.cpp
-
void emptyAndDetachBlock (BasicBlock * BB, SmallVectorImpl<DominatorTree::UpdateType> * Updates, bool KeepOneInputPHIs)Zap all the instructions in the block and replace them with an unreachable
instruction and notify the basic block's successors that one of their
predecessors is going away.
Defined at line 64 of file llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
-
bool analyzeGlobalAux (const Value * V, GlobalStatus & GS, SmallPtrSetImpl<const Value *> & VisitedUsers)Defined at line 64 of file llvm/lib/Transforms/Utils/GlobalStatus.cpp
-
void EmitInstrDocs (const RecordKeeper & RK, raw_ostream & OS)Defined at line 64 of file llvm/utils/TableGen/InstrDocsEmitter.cpp
-
void initializeMachinePostDominatorTreeWrapperPassPassOnce (PassRegistry & Registry)declare initializeMachinePostDominatorTreePass
Defined at line 65 of file llvm/lib/CodeGen/MachinePostDominators.cpp
-
void initializeProcessImplicitDefsLegacyPassOnce (PassRegistry & Registry)Defined at line 65 of file llvm/lib/CodeGen/ProcessImplicitDefs.cpp
-
void initializeRegAllocEvictionAdvisorAnalysisLegacyPassOnce (PassRegistry & Registry)Defined at line 65 of file llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
-
void initializeRemoveRedundantDebugValuesLegacyPassOnce (PassRegistry & Registry)Defined at line 65 of file llvm/lib/CodeGen/RemoveRedundantDebugValues.cpp
-
StringRef * unwrap (LLVMRemarkStringRef P)Create wrappers for C Binding types (see CBindingWrapping.h).
Defined at line 65 of file llvm/lib/Remarks/Remark.cpp
-
LLVMRemarkStringRef wrap (const StringRef * P)Create wrappers for C Binding types (see CBindingWrapping.h).
Defined at line 65 of file llvm/lib/Remarks/Remark.cpp
-
template <class T, std::size_t N>StringRef getFieldRawString (const T (&)[N] Field)Defined at line 65 of file llvm/lib/Object/Archive.cpp
-
bool shouldDisableArgRegFromCSR (CallingConv::ID CC)Returns true if a CC can dynamically exclude a register from the list of
callee-saved-registers (TargetRegistryInfo::getCalleeSavedRegs()) based on
the parameters.
Defined at line 65 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
void ZeroFillBytes (raw_ostream & OS, size_t Size)Defined at line 65 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
void error (const Twine & Message)Defined at line 65 of file llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
-
Register getLoopPhiReg (MachineInstr & Phi, MachineBasicBlock * LoopBB)Return the Phi register value that comes the loop block.
Defined at line 65 of file llvm/lib/CodeGen/ModuloSchedule.cpp
-
bool xmlStringsEqual (const unsigned char * A, const unsigned char * B)Defined at line 65 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
int constructSaveRestorePoints (const int & SRPoints, const int & BBMap)Defined at line 65 of file llvm/tools/llvm-reduce/ReducerWorkItem.cpp
-
uint64_t ScaleAddrDelta (MCContext & Context, uint64_t AddrDelta)Defined at line 65 of file llvm/lib/MC/MCDwarf.cpp
-
LLVMBinaryRef LLVMCreateBinary (LLVMMemoryBufferRef MemBuf, LLVMContextRef Context, char ** ErrorMessage)Create a binary file from the given memory buffer.
The exact type of the binary file will be inferred automatically, and the
appropriate implementation selected. The context may be NULL except if
the resulting file is an LLVM IR file.
The memory buffer is not consumed by this function. It is the responsibilty
of the caller to free it with
If NULL is returned, the
parameter is populated with the
error's description. It is then the caller's responsibility to free this
message by calling
Defined at line 65 of file llvm/lib/Object/Object.cpp
-
unsigned int getResultPatternSize (const TreePatternNode & P, const CodeGenDAGPatterns & CGP)getResultPatternCodeSize - Compute the code size of instructions for this
pattern.
Defined at line 65 of file llvm/utils/TableGen/DAGISelEmitter.cpp
-
void handle_line (char ** tokens, int ntokens)Defined at line 65 of file llvm/tools/llvm-c-test/disassemble.c
-
bool msDemangle (const std::string & S)Defined at line 65 of file llvm/tools/llvm-undname/llvm-undname.cpp
-
void WriteOutputFile (const Module * M, const ModuleSummaryIndex * Index)Defined at line 65 of file llvm/tools/llvm-as/llvm-as.cpp
-
SmallVector getAllLexicalIndexes (StringRef Name)Defined at line 65 of file llvm/lib/DebugInfo/LogicalView/Core/LVSupport.cpp
-
ThreadSafeModule * unwrap (LLVMOrcThreadSafeModuleRef P)Defined at line 66 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcThreadSafeModuleRef wrap (const ThreadSafeModule * P)Defined at line 66 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void voidNoop ()Defined at line 66 of file llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp
-
uint64_t rotl64 (uint64_t X, size_t R)Defined at line 66 of file llvm/lib/Support/xxhash.cpp
-
void yield (LLVMContextRef , void * )Defined at line 66 of file llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
-
void initializeWriteBitcodePassPassOnce (PassRegistry & Registry)Defined at line 66 of file llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
-
void reportError (Twine Msg)Defined at line 66 of file llvm/tools/llvm-mt/llvm-mt.cpp
-
void collectDebugInfoFromInstructions (const Function & F, DebugInfoFinder & DIFinder)Defined at line 66 of file llvm/lib/Transforms/Utils/CloneFunction.cpp
-
bool write_retry (int fd, const char * buf, size_t count)Defined at line 66 of file llvm/lib/Support/ErrorHandling.cpp
-
vector getSpellings (ArrayRef Records)Defined at line 66 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
StringRef getSymbolKindName (SymbolKind Kind)Defined at line 66 of file llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp
-
Tag GetCompileUnitType (UnitKind Kind, DwarfDebug * DW)Defined at line 66 of file llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
-
void suppressEGPRRegClass (MachineRegisterInfo * MRI, MachineInstr & MI, const X86Subtarget & ST, unsigned int OpNum)Defined at line 66 of file llvm/lib/Target/X86/X86SuppressAPXForReloc.cpp
-
basic_string formatCompileSym2Flags (uint32_t IndentLevel, CompileSym2Flags Flags)Defined at line 66 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
Expected getNewShfFlags (SectionFlag AllFlags, uint16_t EMachine)Defined at line 66 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
pair sumRegions (ArrayRef CodeRegions, const CoverageData & CD)Defined at line 66 of file llvm/tools/llvm-cov/CoverageSummaryInfo.cpp
-
bool isCallingConvCCompatible (CallingConv::ID CC, const Triple & TT, FunctionType * FuncTy)Defined at line 66 of file llvm/lib/Analysis/TargetLibraryInfo.cpp
-
int openListener (basic_string Host, basic_string PortStr)Defined at line 66 of file llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
-
void initializeLiveRangeShrinkPassOnce (PassRegistry & Registry)Defined at line 67 of file llvm/lib/CodeGen/LiveRangeShrink.cpp
-
JITTargetMachineBuilder * unwrap (LLVMOrcJITTargetMachineBuilderRef P)Defined at line 67 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcJITTargetMachineBuilderRef wrap (const JITTargetMachineBuilder * P)Defined at line 67 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
CPUSubTypePowerPC getPowerPCSubType (const Triple & T)Defined at line 67 of file llvm/lib/BinaryFormat/MachO.cpp
-
const char * LLVMRemarkStringGetData (LLVMRemarkStringRef String)Create wrappers for C Binding types (see CBindingWrapping.h).
Defined at line 67 of file llvm/lib/Remarks/Remark.cpp
-
LLVMByteOrdering LLVMByteOrder (LLVMTargetDataRef TD)Returns the byte order of a target, either LLVMBigEndian or
LLVMLittleEndian.
See the method llvm::DataLayout::isLittleEndian.
Defined at line 67 of file llvm/lib/Target/Target.cpp
-
void LLVMShutdown ()Deallocate and destroy all ManagedStatic variables.
Defined at line 67 of file llvm/lib/IR/Core.cpp
-
uint64_t computeCallStackHash (const Instruction & Inst)Defined at line 67 of file llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
-
void initializeAATestPassPassOnce (PassRegistry & Registry)Defined at line 67 of file llvm/unittests/Analysis/AliasAnalysisTest.cpp
-
basic_string getTypeString (Type * T)Defined at line 67 of file llvm/lib/AsmParser/LLParser.cpp
-
template <typename R, typename C = RecordMap<R>, typename K = StringRef>R * findRecord (K Key, const C & Container)Defined at line 67 of file llvm/lib/TextAPI/RecordsSlice.cpp
-
template <typename T>void testFixedIntegralTypeSerialization ()Defined at line 67 of file llvm/unittests/ExecutionEngine/Orc/SimplePackedSerializationTest.cpp
-
bool upgradePTESTIntrinsic (Function * F, Intrinsic::ID IID, Function *& NewFn)Upgrade the declarations of the SSE4.1 ptest intrinsics whose arguments have
changed their type from v4f32 to v2i64.
Defined at line 67 of file llvm/lib/IR/AutoUpgrade.cpp
-
ArrayRef<MCPhysReg> CC_X86_VectorCallGetSSEs (const MVT & ValVT)Defined at line 67 of file llvm/lib/Target/X86/X86CallingConv.cpp
-
LLVMErrorRef parseExampleModule (const char * Source, size_t Len, const char * Name, LLVMOrcThreadSafeModuleRef * TSM)Defined at line 67 of file llvm/examples/OrcV2Examples/OrcV2CBindingsLazy/OrcV2CBindingsLazy.c
-
bool isCrossCopy (const MachineRegisterInfo & MRI, const MachineInstr & MI, const TargetRegisterClass * DstRC, const MachineOperand & MO)Defined at line 67 of file llvm/lib/CodeGen/DetectDeadLanes.cpp
-
void initializeRecordStreamer (const Module & M, function_ref Init)Defined at line 67 of file llvm/lib/Object/ModuleSymbolTable.cpp
-
bool isExitBlock (BasicBlock * BB, const SmallVectorImpl<BasicBlock *> & ExitBlocks)Return true if the specified block is in the list.
Defined at line 68 of file llvm/lib/Transforms/Utils/LCSSA.cpp
-
uint32_t getMisExpectTolerance (const LLVMContext & Ctx)Defined at line 68 of file llvm/lib/Transforms/Utils/MisExpect.cpp
-
void reportError (Twine Msg)Defined at line 68 of file llvm/tools/llvm-cvtres/llvm-cvtres.cpp
-
void initializeMemorySSAWrapperPassPassOnce (PassRegistry & Registry)Defined at line 68 of file llvm/lib/Analysis/MemorySSA.cpp
-
void initializeUnifyLoopExitsLegacyPassPassOnce (PassRegistry & Registry)Defined at line 68 of file llvm/lib/Transforms/Utils/UnifyLoopExits.cpp
-
void reportError (StringRef Input, StringRef Message)Defined at line 68 of file llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
-
void initializeMIRProfileLoaderPassPassOnce (PassRegistry & Registry)Defined at line 68 of file llvm/lib/CodeGen/MIRSampleProfile.cpp
-
bool isFixupKindRIPRel (unsigned int Kind)Defined at line 68 of file llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
-
void exitWithError (Twine Message, Twine Whence, basic_string Hint)Defined at line 68 of file llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp
-
const char * stringForOperandEncoding (OperandEncoding encoding)stringForOperandEncoding - like stringForContext, but for
OperandEncodings.
Defined at line 68 of file llvm/utils/TableGen/X86DisassemblerTables.cpp
-
bool isNullOrUndef (const Constant * C)Defined at line 68 of file llvm/lib/Target/TargetLoweringObjectFile.cpp
-
const TargetRegisterClass * constrainRegClass (MachineRegisterInfo & MRI, Register Reg, const TargetRegisterClass * OldRC, const TargetRegisterClass * RC, unsigned int MinNumRegs)Defined at line 68 of file llvm/lib/CodeGen/MachineRegisterInfo.cpp
-
void setupBranchForGuard (ArrayRef GuardBlocks, ArrayRef Outgoing, BBPredicates & GuardPredicates)Setup the branch instructions for guard blocks.
Each guard block terminates in a conditional branch that transfers
control to the corresponding outgoing block or the next guard
block. The last guard block has two outgoing blocks as successors.
Defined at line 68 of file llvm/lib/Transforms/Utils/ControlFlowUtils.cpp
-
bool decodeBase64StringEntry (StringRef Str, uint32_t & Result)Decode a string table entry in base 64 (//AAAAAA). Expects
Defined at line 68 of file llvm/lib/Object/COFFObjectFile.cpp
-
int RunProgramRemotelyWithTimeout (StringRef RemoteClientPath, ArrayRef Args, StringRef StdInFile, StringRef StdOutFile, StringRef StdErrFile, unsigned int NumSeconds, unsigned int MemoryLimit)RunProgramRemotelyWithTimeout - This function runs the given program
remotely using the given remote client and the sys::Program::ExecuteAndWait.
Returns the remote program exit code or reports a remote client error if it
fails. Remote client is required to return 255 if it failed or program exit
code otherwise.
Defined at line 68 of file llvm/tools/bugpoint/ToolRunner.cpp
-
bool isSafeIncreasingBound (const SCEV * Start, const SCEV * BoundSCEV, const SCEV * Step, Predicate Pred, unsigned int LatchBrExitIdx, Loop * L, ScalarEvolution & SE)Given a loop with an increasing induction variable, is it possible to
safely calculate the bounds of a new loop using the given Predicate.
Defined at line 68 of file llvm/lib/Transforms/Utils/LoopConstrainer.cpp
-
void initializePostRAHazardRecognizerLegacyPassOnce (PassRegistry & Registry)Defined at line 69 of file llvm/lib/CodeGen/PostRAHazardRecognizer.cpp
-
ObjectLayer * unwrap (LLVMOrcObjectLayerRef P)Defined at line 69 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcObjectLayerRef wrap (const ObjectLayer * P)Defined at line 69 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
unsigned int LLVMGenericValueIntWidth (LLVMGenericValueRef GenValRef)Defined at line 69 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
LLVMErrorRef applyDataLayout (void * Ctx, LLVMModuleRef M)Defined at line 69 of file llvm/examples/OrcV2Examples/OrcV2CBindingsVeryLazy/OrcV2CBindingsVeryLazy.c
-
ArrayRef stabilize (BumpPtrAllocator & RecordStorage, ArrayRef Record)Defined at line 69 of file llvm/lib/DebugInfo/CodeView/AppendingTypeTableBuilder.cpp
-
Instruction * getContextInstForUse (Use & U)Defined at line 69 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
bool setIsCold (Function & F)Defined at line 69 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
template <typename T>T unwrapIgnoreError (Expected<T> E, T Default)Most of the ObjectFile interfaces return an Expected
<T
>, so make it easy
to ignore errors.
Defined at line 69 of file llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp
-
bool hasMetadataOtherThanDebugLoc (const GlobalVariable * GV)Defined at line 69 of file llvm/lib/Transforms/IPO/ConstantMerge.cpp
-
void PrintModRefResults (const char * Msg, bool P, Instruction * I, pair Loc, Module * M)Defined at line 69 of file llvm/lib/Analysis/AliasAnalysisEvaluator.cpp
-
make_output (const uint32_t[8] input_cv, const uint8_t[64] block, uint8_t block_len, uint64_t counter, uint8_t flags)Defined at line 69 of file llvm/lib/Support/BLAKE3/blake3.c
-
Constant * getSplatValueAllowUndef (const ConstantVector * C)Normally, we only allow poison in vector splats. However, as this is part
of the backend, and working with the DAG representation, which currently
only natively represents undef values, we need to accept undefs here.
Defined at line 69 of file llvm/lib/Target/X86/X86FixupVectorConstants.cpp
-
uint32_t calculateAlignment (const MachOObjectFile & ObjectFile)Defined at line 69 of file llvm/lib/Object/MachOUniversalWriter.cpp
-
template <typename T, typename = typename std::enable_if<std::is_arithmetic_v<T>>>void extractFromBranchWeightMD (const MDNode * ProfileData, SmallVectorImpl<T> & Weights)Defined at line 69 of file llvm/lib/IR/ProfDataUtils.cpp
-
void printBlameContext (const DILineInfo & LineInfo, unsigned int Context)Defined at line 69 of file llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp
-
void handleMethodOverloadList (ArrayRef Content, SmallVectorImpl<TiReference> & Refs)Defined at line 69 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
bool partitionLoopBlocks (Loop & L, BasicBlockSet & ForeBlocks, BasicBlockSet & AftBlocks, DominatorTree & DT)Partition blocks in an outer/inner loop pair into blocks before and after
the loop
Defined at line 69 of file llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
-
bool increaseGranularity (int & Chunks)Splits Chunks in half and prints them.
If unable to split (when chunk size is 1) returns false.
Defined at line 69 of file llvm/tools/llvm-reduce/deltas/Delta.cpp
-
std::pair<MVT, unsigned int> handleMaskRegisterForCallingConv (unsigned int NumElts, CallingConv::ID CC, const X86Subtarget & Subtarget)Defined at line 69 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
map collectPfmCounters (const RecordKeeper & Records)Defined at line 69 of file llvm/utils/TableGen/ExegesisEmitter.cpp
-
basic_string getMangledTypeStr (Type * Ty, bool & HasUnnamedType)Returns a stable mangling for the type specified for use in the name
mangling scheme used by 'any' types in intrinsic signatures. The mangling
of named types is simply their name. Manglings for unnamed types consist
of a prefix ('p' for pointers, 'a' for arrays, 'f_' for functions)
combined with the mangling of their component types. A vararg function
type will have a suffix of 'vararg'. Since function types can contain
other function types, we close a function type mangling with suffix 'f'
which can't be confused with it's prefix. This ensures we don't have
collisions between two unrelated function types. Otherwise, you might
parse ffXX as f(fXX) or f(fX)X. (X is a placeholder for any other type.)
The HasUnnamedType boolean is set if an unnamed type was encountered,
indicating that extra care must be taken to ensure a unique name.
Defined at line 69 of file llvm/lib/IR/Intrinsics.cpp
-
IRTransformLayer * unwrap (LLVMOrcIRTransformLayerRef P)Defined at line 70 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcIRTransformLayerRef wrap (const IRTransformLayer * P)Defined at line 70 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void initializeX86AvoidTrailingCallLegacyPassPassOnce (PassRegistry & Registry)Defined at line 70 of file llvm/lib/Target/X86/X86AvoidTrailingCall.cpp
-
void initializeMIRCanonicalizerPassOnce (PassRegistry & Registry)Defined at line 70 of file llvm/lib/CodeGen/MIRCanonicalizerPass.cpp
-
InstrPostProcess * createX86InstrPostProcess (const MCSubtargetInfo & STI, const MCInstrInfo & MCII)Defined at line 70 of file llvm/lib/Target/X86/MCA/X86CustomBehaviour.cpp
-
template <class AllocatorType, class T, size_t Size, size_t Align>void operator delete (void * E, llvm::RecyclingAllocator<AllocatorType, T, Size, Align> & A)Defined at line 70 of file llvm/include/llvm/Support/RecyclingAllocator.h
-
basic_string getDefaultOutputPath (const NewArchiveMember & FirstMember)Defined at line 70 of file llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
-
PreservedAnalyses runSanitizeRealtime (Function & Fn)Defined at line 70 of file llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
-
const MachineFunction * getMFIfAvailable (const MachineInstr & MI)Defined at line 70 of file llvm/lib/CodeGen/MachineInstr.cpp
-
void lookupErrorOut (const llvm::jitlink::JITLinkContext::LookupMap & Symbols, unique_ptr LC)Defined at line 70 of file llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.cpp
-
SmallVector getStableIndexOperandHashes (const StableFunctionMap::StableFunctionEntry * FuncEntry)Get a sorted vector of IndexOperandHashes.
Defined at line 70 of file llvm/lib/CGData/StableFunctionMapRecord.cpp
-
basic_string formatPax (StringRef Key, StringRef Val)A PAX attribute is in the form of "<length> <key>=<value>\n"
where
<length
> is the length of the entire string including
the length field itself. An example string is this.
25 ctime=1084839148.1212
This function create such string.
Defined at line 70 of file llvm/lib/Support/TarWriter.cpp
-
pair unpackAllocSizeArgs (uint64_t Num)Defined at line 70 of file llvm/lib/IR/Attributes.cpp
-
void writeInitialLength (DwarfFormat Format, const uint64_t Length, raw_ostream & OS, bool IsLittleEndian)Defined at line 70 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
CmpInst * getInnerLoopGuardCmp (const Loop & InnerLoop)Defined at line 70 of file llvm/lib/Analysis/LoopNestAnalysis.cpp
-
CompareFunc getComparisonFunc (ClassSortMode Mode)Defined at line 70 of file llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp
-
Instruction * lowerNonLocalAlloca (CoroAllocaAllocInst * AI, const Shape & Shape, SmallVectorImpl<Instruction *> & DeadInsts)Turn the given coro.alloca.alloc call into a dynamic allocation.
This happens during the all-instructions iteration, so it must not
delete the call.
Defined at line 70 of file llvm/lib/Transforms/Coroutines/SpillUtils.cpp
-
void reduceCallSites (Oracle & O, Function & F)Defined at line 70 of file llvm/tools/llvm-reduce/deltas/ReduceInlineCallSites.cpp
-
void parseArgs (int argc, char ** argv)Defined at line 70 of file llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
-
void addMainFunction (Module * mod)Add main function so can be fully compiled
Defined at line 70 of file llvm/examples/BrainF/BrainFDriver.cpp
-
void ComputeLiveInBlocks (const SmallPtrSetImpl<BasicBlock *> & UsingBlocks, const SmallPtrSetImpl<BasicBlock *> & DefBlocks, SmallPtrSetImpl<BasicBlock *> & LiveInBlocks, PredIteratorCache & PredCache)Given sets of UsingBlocks and DefBlocks, compute the set of LiveInBlocks.
This is basically a subgraph limited by DefBlocks and UsingBlocks.
Defined at line 70 of file llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp
-
void processCall (CallBase * CB, Function * Caller, Function * NewCallee, uint64_t FrameSize, Align FrameAlign)Given a call or invoke instruction to the elide safe coroutine, this function
does the following:
- Allocate a frame for the callee coroutine in the caller using alloca.
- Replace the old CB with a new Call or Invoke to `NewCallee`, with the
pointer to the frame as an additional argument to NewCallee.
Defined at line 70 of file llvm/lib/Transforms/Coroutines/CoroAnnotationElide.cpp
-
Value * simplifyShiftSelectingPackedElement (Instruction * I, const APInt & DemandedMask, InstCombinerImpl & IC, unsigned int Depth)Let N = 2 * M.
Given an N-bit integer representing a pack of two M-bit integers,
we can select one of the packed integers by right-shifting by either
zero or M (which is the most straightforward to check if M is a power
of 2), and then isolating the lower M bits. In this case, we can
represent the shift as a select on whether the shr amount is nonzero.
Defined at line 70 of file llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
-
void * DoSearch (const char * SymbolName)Must declare the symbols in the global namespace.
Defined at line 70 of file llvm/lib/Support/Unix/DynamicLibrary.inc
-
void initializeGCModuleInfoPassOnce (PassRegistry & Registry)Defined at line 71 of file llvm/lib/CodeGen/GCMetadata.cpp
-
ObjectTransformLayer * unwrap (LLVMOrcObjectTransformLayerRef P)Defined at line 71 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcObjectTransformLayerRef wrap (const ObjectTransformLayer * P)Defined at line 71 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void initializeX86PartialReductionLegacyPassOnce (PassRegistry & Registry)Defined at line 71 of file llvm/lib/Target/X86/X86PartialReduction.cpp
-
bool anyExpandVPOverridesSet ()Whether any override options are set.
Defined at line 71 of file llvm/lib/CodeGen/ExpandVectorPredication.cpp
-
uint32_t LLVMRemarkStringGetLen (LLVMRemarkStringRef String)Returns the size of the string.
Defined at line 71 of file llvm/lib/Remarks/Remark.cpp
-
void reportError (StringRef Input, error_code EC)Defined at line 71 of file llvm/tools/llvm-mt/llvm-mt.cpp
-
void initializeX86TileConfigPassOnce (PassRegistry & Registry)Defined at line 71 of file llvm/lib/Target/X86/X86TileConfig.cpp
-
unsigned int wordsOfString (StringRef s)Returns the number of words which will be used to represent this string.
Defined at line 71 of file llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
-
Error unsupported (const char * Str, const Triple & T)Defined at line 71 of file llvm/lib/BinaryFormat/MachO.cpp
-
bool isAMXCast (Instruction * II)Defined at line 71 of file llvm/lib/Target/X86/X86LowerAMXType.cpp
-
template <typename T>optional CmpOptionals (T NewVal, T CurVal)Defined at line 71 of file llvm/lib/Target/X86/X86FixupInstTuning.cpp
-
basic_string optionalQuote (const std::string & Undecorated, StringRef Delimiters)Quote Undecorated with "" if asked for and not already followed by a '"'.
Defined at line 71 of file llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
-
unsigned int getValForKey (StringRef Key, const Remark & Remark)Look for matching argument with
in
and return the parsed
integer value or 0 if it is has no integer value.
Defined at line 71 of file llvm/tools/llvm-remarkutil/RemarkCounter.cpp
-
template <typename T>T getStruct (const MachOObjectFile & O, const char * P)FIXME: Replace all uses of this function with getStructOrErr.
Defined at line 71 of file llvm/lib/Object/MachOObjectFile.cpp
-
void addNonConstUser (ClusterMapType & GVtoClusterMap, const GlobalValue * GV, const User * U)Defined at line 71 of file llvm/lib/Transforms/Utils/SplitModule.cpp
-
void dumpLocationList (raw_ostream & OS, const DWARFFormValue & FormValue, DWARFUnit * U, unsigned int Indent, DIDumpOptions DumpOpts)Defined at line 71 of file llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
-
Expected readAbbreviatedField (BitstreamCursor & Cursor, const BitCodeAbbrevOp & Op)Defined at line 71 of file llvm/lib/Bitstream/Reader/BitstreamReader.cpp
-
void checkSame (const ContextNode & Raw, const PGOCtxProfContext & Profile)Defined at line 71 of file llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
-
uint8_t CountOfUnwindCodes (std::vector<WinEH::Instruction> & Insns)NOTE: All relocations generated here are 4-byte image-relative.
Defined at line 71 of file llvm/lib/MC/MCWin64EH.cpp
-
bool IsAcceptableTarget (Instruction * Inst, BasicBlock * SuccToSinkTo, DominatorTree & DT, LoopInfo & LI)IsAcceptableTarget - Return true if it is possible to sink the instruction
in the specified basic block.
Defined at line 71 of file llvm/lib/Transforms/Scalar/Sink.cpp
-
void findAffectedValues (CallBase * CI, TargetTransformInfo * TTI, SmallVectorImpl<AssumptionCache::ResultElem> & Affected)Defined at line 71 of file llvm/lib/Analysis/AssumptionCache.cpp
-
void convertToLocalCopy (Module & M, Function & F)Create a copy of the thinlto import, mark it local, and redirect direct
calls to the copy. Only direct calls are replaced, so that e.g. indirect
call function pointer tests would use the global identity of the function.
Currently, Value Profiling ("VP") MD_prof data isn't updated to refer to the
clone's GUID (which will be different, because the name and linkage is
different), under the assumption that the last consumer of this data is
upstream the pipeline (e.g. ICP).
Defined at line 71 of file llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
-
int handle (MemoryBuffer & inputBuf, StringRef input)Defined at line 71 of file llvm/utils/split-file/split-file.cpp
-
bool isDereferenceableAndAlignedPointer (const Value * V, Align Alignment, const APInt & Size, const DataLayout & DL, const Instruction * CtxI, AssumptionCache * AC, const DominatorTree * DT, const TargetLibraryInfo * TLI, SmallPtrSetImpl<const Value *> & Visited, unsigned int MaxDepth)Test if V is always a pointer to allocated and suitably aligned memory for
a simple load or store.
Defined at line 71 of file llvm/lib/Analysis/Loads.cpp
-
basic_string gtest_OpenMPDirectiveNamesVersionTest_EvalGenerateName_ (const ::testing::TestParamInfo<VersionTest::ParamType> & info)Defined at line 72 of file llvm/unittests/Frontend/OpenMPDirectiveNameTest.cpp
-
ParamGenerator gtest_OpenMPDirectiveNamesVersionTest_EvalGenerator_ ()Defined at line 72 of file llvm/unittests/Frontend/OpenMPDirectiveNameTest.cpp
-
bool isNonCanonicalEmptySet (const APFloat & Lower, const APFloat & Upper)Defined at line 72 of file llvm/lib/IR/ConstantFPRange.cpp
-
bool hasBranchUse (ICmpInst & I)Given an icmp instruction, return true if any use of this comparison is a
branch on sign bit comparison.
Defined at line 72 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
void BM_LookupRuntimeLibcallByNameKnownCalls (benchmark::State & State)Defined at line 72 of file llvm/benchmarks/RuntimeLibcalls.cpp
-
void ascendingSortByVersion (int & Recs)In-place sort TableGen records of class with a field
Version dxil_version
in the ascending version order.
Defined at line 72 of file llvm/utils/TableGen/DXILEmitter.cpp
-
Expected parseVersion (StringRef & Buf)Defined at line 72 of file llvm/lib/Remarks/YAMLRemarkParser.cpp
-
void reduceAtomicOrderingInFunction (Oracle & O, Function & F)TODO: Might be helpful to incrementally relax orders
Defined at line 72 of file llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.cpp
-
void parseExpectErrorMeta (StringRef Buf, const char * Error, CmpType Cmp, optional ExternalFilePrependPath)Defined at line 72 of file llvm/unittests/Remarks/YAMLRemarksParsingTest.cpp
-
Expected getSocketFD (StringRef SocketPath)Defined at line 72 of file llvm/lib/Support/raw_socket_stream.cpp
-
template <uint32_t ConstD>uint64_t scale (uint64_t Num, uint32_t N, uint32_t D)If ConstD is not zero, then replace D by ConstD so that division and modulo
operations by D can be optimized, in case this function is not inlined by the
compiler.
Defined at line 72 of file llvm/lib/Support/BranchProbability.cpp
-
void fixupIndexV4 (DWARFContext & C, DWARFUnitIndex & Index)Defined at line 72 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
DumpObjects * unwrap (LLVMOrcDumpObjectsRef P)Defined at line 73 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcDumpObjectsRef wrap (const DumpObjects * P)Defined at line 73 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void reportError (StringRef Input, error_code EC)Defined at line 73 of file llvm/tools/llvm-cvtres/llvm-cvtres.cpp
-
template <typename T>void eraseFromModule (T & ToErase)Defined at line 73 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
void initializeLegalizerPassOnce (PassRegistry & Registry)Defined at line 73 of file llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
-
void PrintExtension (StringRef Name, StringRef Version, StringRef Description)Defined at line 73 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
unsigned long long LLVMGenericValueToInt (LLVMGenericValueRef GenVal, LLVMBool IsSigned)Defined at line 73 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
LLVMTargetRef LLVMGetNextTarget (LLVMTargetRef T)Returns the next llvm::Target given a previous one (or null if there's none)
Defined at line 71 of file llvm/lib/Target/TargetMachineC.cpp
-
unsigned int LLVMPointerSize (LLVMTargetDataRef TD)Returns the pointer size in bytes for a target.
See the method llvm::DataLayout::getPointerSize.
Defined at line 71 of file llvm/lib/Target/Target.cpp
-
void LLVMGetVersion (unsigned int * Major, unsigned int * Minor, unsigned int * Patch)Return the major, minor, and patch version of LLVM
The version components are returned via the function's three output
parameters or skipped if a NULL pointer was supplied.
Defined at line 73 of file llvm/lib/IR/Core.cpp
-
bool isMergeableElement (const unsigned char * ElementName)Defined at line 73 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
template <typename T>void parseIntArg (const opt::InputArgList & Args, int ID, T & Value, T Default)Defined at line 73 of file llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
-
unique_ptr getProcCpuinfoContent ()Defined at line 73 of file llvm/lib/TargetParser/Host.cpp
-
Value * generateUnsignedRemainderCode (Value * Dividend, Value * Divisor, IRBuilder<> & Builder)Generate code to compute the remainder of two unsigned integers. Returns the
remainder. Builder's insert point should be pointing where the caller wants
code generated, e.g. at the urem instruction. This will generate a udiv in
the process, and Builder's insert point will be pointing at the udiv (if
present, i.e. not folded), ready to be expanded if the user wishes
Defined at line 73 of file llvm/lib/Transforms/Utils/IntegerDivision.cpp
-
const Instruction * getInstCondition (const Instruction * I)Defined at line 73 of file llvm/lib/Transforms/Utils/MisExpect.cpp
-
void dumpNode (yaml::Node * n, unsigned int Indent, bool SuppressFirstIndent)Defined at line 73 of file llvm/utils/yaml-bench/YAMLBench.cpp
-
IndirectStubsManager * unwrap (LLVMOrcIndirectStubsManagerRef P)Defined at line 74 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcIndirectStubsManagerRef wrap (const IndirectStubsManager * P)Defined at line 74 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void initializeBreakCriticalEdgesPassOnce (PassRegistry & Registry)Defined at line 74 of file llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
-
void initializeFlattenCFGLegacyPassPassOnce (PassRegistry & Registry)Defined at line 74 of file llvm/lib/Transforms/Scalar/FlattenCFGPass.cpp
-
Expected setupMemoryBuffer (const Twine & Filename, vfs::FileSystem & FS)Defined at line 74 of file llvm/lib/ProfileData/InstrProfReader.cpp
-
template <class ContainerT>void testJoin ()Defined at line 74 of file llvm/unittests/ADT/StringExtrasTest.cpp
-
InstructionCost getCost (Instruction & Inst, TargetCostKind CostKind, TargetTransformInfo & TTI, TargetLibraryInfo & TLI)Defined at line 74 of file llvm/lib/Analysis/CostModel.cpp
-
bool testAttributeInt (unsigned int Tag, unsigned int Value, unsigned int ExpectedTag, unsigned int ExpectedValue)Defined at line 74 of file llvm/unittests/Support/CSKYAttributeParserTest.cpp
-
StringRef getUnwindRegisterName (uint8_t Reg)Returns the name of a referenced register.
Defined at line 74 of file llvm/tools/llvm-readobj/Win64EHDumper.cpp
-
Instruction * lookThroughAnd (PHINode * Phi, Type *& RT, SmallPtrSetImpl<Instruction *> & Visited, SmallPtrSetImpl<Instruction *> & CI)Determines if Phi may have been type-promoted. If Phi has a single user
that ANDs the Phi with a type mask, return the user. RT is updated to
account for the narrower bit width represented by the mask, and the AND
instruction is added to CI.
Defined at line 74 of file llvm/lib/Analysis/IVDescriptors.cpp
-
SDValue emitRepstos (const X86Subtarget & Subtarget, SelectionDAG & DAG, const SDLoc & dl, SDValue Chain, SDValue Dst, SDValue Val, SDValue Size, MVT AVT)Emit a single REP STOSB instruction for a particular constant size.
Defined at line 74 of file llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
-
void addMappingsFromTLI (const TargetLibraryInfo & TLI, CallInst & CI)Defined at line 74 of file llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
-
void cloneFrameInfo (MachineFrameInfo & DstMFI, const MachineFrameInfo & SrcMFI, const int & Src2DstMBB)Defined at line 74 of file llvm/tools/llvm-reduce/ReducerWorkItem.cpp
-
int main (int argc, const char *[] argv)Defined at line 74 of file llvm/examples/OrcV2Examples/OrcV2CBindingsRemovableCode/OrcV2CBindingsRemovableCode.c
-
bool foldGuardedFunnelShift (Instruction & I, const DominatorTree & DT)Match a pattern for a bitwise funnel/rotate operation that partially guards
against undefined behavior by branching around the funnel-shift/rotation
when the shift amount is 0.
Defined at line 74 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
void initializeExpandPostRALegacyPassOnce (PassRegistry & Registry)Defined at line 75 of file llvm/lib/CodeGen/ExpandPostRAPseudos.cpp
-
void initializeX86FastTileConfigPassOnce (PassRegistry & Registry)Defined at line 75 of file llvm/lib/Target/X86/X86FastTileConfig.cpp
-
char getHexDigit (int N)Defined at line 75 of file llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
-
void printDisablePassMessage (const StringRef & Name, StringRef TargetDesc, bool Running)Defined at line 75 of file llvm/lib/IR/OptBisect.cpp
-
Expected getELFAArch32StubTarget (LinkGraph & G, Block & B)Defined at line 75 of file llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
-
void error (Error EC)Defined at line 75 of file llvm/tools/llvm-mt/llvm-mt.cpp
-
Error writeFile (StringRef Filename, StringRef Data)Defined at line 75 of file llvm/tools/llvm-offload-binary/llvm-offload-binary.cpp
-
bool isEmptyFunction (Function * F)Returns true if F is effectively empty.
Defined at line 75 of file llvm/lib/Transforms/IPO/GlobalDCE.cpp
-
bool SkipToToken (StringRef & Str)Defined at line 75 of file llvm/tools/llvm-ml/Disassembler.cpp
-
void replaceWithTLIFunction (IntrinsicInst * II, VFInfo & Info, Function * TLIVecFunc)Replace the intrinsic call
to
which is the
corresponding function from the vector library.
Defined at line 75 of file llvm/lib/CodeGen/ReplaceWithVeclib.cpp
-
bool matchVPDPBUSDPattern (const X86Subtarget * ST, BinaryOperator * Mul, const DataLayout * DL)This function should be aligned with detectExtMul() in X86ISelLowering.cpp.
Defined at line 75 of file llvm/lib/Target/X86/X86PartialReduction.cpp
-
bool callLooksLikeLoadStore (CallBase * CB, Value *& DataArg, Value *& PtrArg)Look for calls that look like they could be replaced with a load or store.
Defined at line 75 of file llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
-
bool lowerAllowChecks (Function & F, const BlockFrequencyInfo & BFI, const ProfileSummaryInfo * PSI, OptimizationRemarkEmitter & ORE, const LowerAllowCheckPass::Options & Opts)Defined at line 75 of file llvm/lib/Transforms/Instrumentation/LowerAllowCheckPass.cpp
-
LazyCallThroughManager * unwrap (LLVMOrcLazyCallThroughManagerRef P)Defined at line 76 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcLazyCallThroughManagerRef wrap (const LazyCallThroughManager * P)Defined at line 76 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void initializeX86WinEHUnwindV2PassOnce (PassRegistry & Registry)Defined at line 76 of file llvm/lib/Target/X86/X86WinEHUnwindV2.cpp
-
void BugpointInterruptFunction ()Defined at line 76 of file llvm/tools/bugpoint/bugpoint.cpp
-
bool isCallOrRealInstruction (MachineInstr & MI)A real instruction is a non-meta, non-pseudo instruction. Some pseudos
expand to nothing, and some expand to code. This logic conservatively assumes
they might expand to nothing.
Defined at line 76 of file llvm/lib/Target/X86/X86AvoidTrailingCall.cpp
-
bool isMetadataIntroducer (uint8_t FirstByte)Defined at line 76 of file llvm/lib/XRay/FDRRecordProducer.cpp
-
void reportError (StringRef Input, error_code EC)Defined at line 76 of file llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
-
void initializeRegUsageInfoCollectorLegacyPassOnce (PassRegistry & Registry)Defined at line 76 of file llvm/lib/CodeGen/RegUsageInfoCollector.cpp
-
WrapperFunctionBuffer voidNoopWrapper (const char * ArgData, size_t ArgSize)Defined at line 76 of file llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp
-
unsigned int getCompressedMask (unsigned short Mask)getCompressedMask - Turn a 16-bit uncompressed mask (where each elt uses 4
bits) into a compressed 13-bit mask, where each elt is multiplied by 9.
Defined at line 76 of file llvm/utils/PerfectShuffle/PerfectShuffle.cpp
-
ArrayRef stabilize (BumpPtrAllocator & Alloc, ArrayRef Data)Defined at line 76 of file llvm/lib/DebugInfo/CodeView/MergingTypeTableBuilder.cpp
-
PreservedAnalyses runSanitizeRealtimeBlocking (Function & Fn)Defined at line 76 of file llvm/lib/Transforms/Instrumentation/RealtimeSanitizer.cpp
-
bool haveCompatibleDescriptions (ArrayRef<SDNodeInfo> Nodes)Defined at line 76 of file llvm/utils/TableGen/SDNodeInfoEmitter.cpp
-
void initializeBasicBlockMatchingAndInferencePassOnce (PassRegistry & Registry)Defined at line 76 of file llvm/lib/CodeGen/BasicBlockMatchingAndInference.cpp
-
basic_string getParamName1 (const testing::TestParamInfo<Tokenize::ParamType> & Info)Defined at line 76 of file llvm/unittests/Frontend/OpenMPDirectiveNameParserTest.cpp
-
int GetRPOList (MachineFunction & MF)Defined at line 76 of file llvm/lib/CodeGen/MIRCanonicalizerPass.cpp
-
uint64_t getCallStackHash (const DILocation * DIL)Defined at line 76 of file llvm/lib/CodeGen/MIRFSDiscriminator.cpp
-
void cpuidex (uint32_t[4] out, uint32_t id, uint32_t sid)Defined at line 76 of file llvm/lib/Support/BLAKE3/blake3_dispatch.c
-
bool IsEquivalentPHI (PHINode * PHI, SmallDenseMap<BasicBlock *, Value *, 8> & ValueMapping)Defined at line 76 of file llvm/lib/Transforms/Utils/SSAUpdater.cpp
-
bool skip (DataExtractor & Data, uint64_t & Offset, bool SkippedRanges)Skip an InlineInfo object in the specified data at the specified offset.
Used during the InlineInfo::lookup() call to quickly skip child InlineInfo
objects where the addres ranges isn't contained in the InlineInfo object
or its children. This avoids allocations by not appending child InlineInfo
objects to the InlineInfo::Children array.
Parameters
Data The binary stream to read the data from.Offset The byte offset withinSkippedRanges If true, address ranges have already been skipped.Defined at line 76 of file llvm/lib/DebugInfo/GSYM/InlineInfo.cpp
-
void * operator new (size_t N, const NamedBufferAlloc & Alloc)Defined at line 76 of file llvm/lib/Support/MemoryBuffer.cpp
-
int getSearchPaths (opt::InputArgList * Args, StringSaver & Saver)Defined at line 76 of file llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
-
bool handleSwitchExpect (SwitchInst & SI)Defined at line 76 of file llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
-
void printArHelp (StringRef ToolName)Defined at line 76 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
void * memCreateContext (void * CtxCtx)Callbacks to create the context for the subsequent functions (not used in
this example)
Defined at line 77 of file llvm/examples/OrcV2Examples/OrcV2CBindingsMCJITLikeMemoryManager/OrcV2CBindingsMCJITLikeMemoryManager.c
-
void reportCmdLineError (const Twine & Message)Defined at line 77 of file llvm/tools/llvm-strings/llvm-strings.cpp
-
void fail (const Twine & Message)Defined at line 77 of file llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp
-
void canonicalizeRange (APFloat & Lower, APFloat & Upper)Defined at line 77 of file llvm/lib/IR/ConstantFPRange.cpp
-
Value * appendArg (IRBuilder<> & Builder, Value * Desc, Value * Arg, bool IsLast)Defined at line 77 of file llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
-
bool setNoReturn (Function & F)Defined at line 77 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void error (StringRef Input, Error EC)Defined at line 77 of file llvm/tools/llvm-cvtres/llvm-cvtres.cpp
-
void generateEnumExports (ArrayRef Records, raw_ostream & OS, StringRef Enum, StringRef Prefix)Defined at line 77 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
size_t getStringIndex (StringRef Name)Defined at line 77 of file llvm/lib/DebugInfo/LogicalView/Core/LVElement.cpp
-
bool isAMXIntrinsic (Value * I)Defined at line 77 of file llvm/lib/Target/X86/X86LowerAMXType.cpp
-
bool checkBitsConcrete (Record & R, const RecordVal & RV)Defined at line 77 of file llvm/lib/TableGen/TGParser.cpp
-
void orderValue (const Value * V, OrderMap & OM)Defined at line 77 of file llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
-
MachineInstr * FindDominatedInstruction (MachineInstr & New, MachineInstr * Old, const int & M)Returns
if it's dominated by
otherwise return
maintains a map from instruction to its dominating order that satisfies
M[A] > M[B] guarantees that A is dominated by B.
If
is not in
return
Otherwise if
is null, return
Defined at line 77 of file llvm/lib/CodeGen/LiveRangeShrink.cpp
-
GlobalVariable * findGlobalCtors (Module & M)Find the llvm.global_ctors list.
Defined at line 77 of file llvm/lib/Transforms/Utils/CtorUtils.cpp
-
Expected<SmallVector<std::string, 16>> getDWOFilenames (StringRef ExecFilename)Defined at line 77 of file llvm/tools/llvm-dwp/llvm-dwp.cpp
-
StringRef getElementTypeName (ElementType ET)Defined at line 77 of file llvm/lib/Analysis/DXILResource.cpp
-
void dumpFunctionProfileJson (const FunctionSamples & S, json::OStream & JOS, bool TopLevel)Defined at line 77 of file llvm/lib/ProfileData/SampleProfReader.cpp
-
bool runImpl (Module & M)Defined at line 77 of file llvm/lib/Transforms/Utils/LowerGlobalDtors.cpp
-
void initializeDeadMachineInstructionElimPassOnce (PassRegistry & Registry)Defined at line 78 of file llvm/lib/CodeGen/DeadMachineInstructionElim.cpp
-
void initializeOptimizePHIsLegacyPassOnce (PassRegistry & Registry)Defined at line 78 of file llvm/lib/CodeGen/OptimizePHIs.cpp
-
LLJITBuilder * unwrap (LLVMOrcLLJITBuilderRef P)Defined at line 78 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcLLJITBuilderRef wrap (const LLJITBuilder * P)Defined at line 78 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void initializeRemoveLoadsIntoFakeUsesLegacyPassOnce (PassRegistry & Registry)Defined at line 78 of file llvm/lib/CodeGen/RemoveLoadsIntoFakeUses.cpp
-
template <IR IRTy>void finalize (sandboxir::Context & Ctx)Defined at line 78 of file llvm/benchmarks/SandboxIRBench.cpp
-
const char * EndOfNumber (const char * Pos)EndOfNumber - Return the first character that is not part of the specified
number. This assumes that the buffer is null terminated, so it won't fall
off the end.
Defined at line 78 of file llvm/lib/Support/FileUtilities.cpp
-
void pushStackMapConstant (SmallVectorImpl<SDValue> & Ops, SelectionDAGBuilder & Builder, uint64_t Value)Defined at line 78 of file llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
-
void copyDebugLocMetadata (const GlobalVariable * From, GlobalVariable * To)Defined at line 78 of file llvm/lib/Transforms/IPO/ConstantMerge.cpp
-
BinaryOps mapBinOpcode (unsigned int Opcode)Given a floating point binary operator, return the matching
integer version.
Defined at line 78 of file llvm/lib/Transforms/Scalar/Float2Int.cpp
-
template <typename T>Expected getSourceLineHash (const CVType & Rec)Defined at line 78 of file llvm/lib/DebugInfo/PDB/Native/TpiHashing.cpp
-
template <typename T>void write_unsigned (raw_ostream & S, T N, size_t MinDigits, IntegerStyle Style, bool IsNegative)Defined at line 78 of file llvm/lib/Support/NativeFormatting.cpp
-
void removeBlockFromLoops (BasicBlock * BB, Loop * FirstLoop, Loop * LastLoop)Removes
from all loops from [FirstLoop, LastLoop) in parent chain.
Defined at line 78 of file llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
-
BlockFrequency adjustedSumFreq (SmallPtrSetImpl<BasicBlock *> & BBs, BlockFrequencyInfo & BFI)Return adjusted total frequency of
* If there is only one BB, sinking instruction will not introduce code
size increase. Thus there is no need to adjust the frequency.
* If there are more than one BB, sinking would lead to code size increase.
In this case, we add some "tax" to the total frequency to make it harder
to sink. E.g.
Freq(Preheader) = 100
Freq(BBs) = sum(50, 49) = 99
Even if Freq(BBs)
<
Freq(Preheader), we will not sink from Preheade to
BBs as the difference is too small to justify the code size increase.
To model this, The adjusted Freq(BBs) will be:
AdjustedFreq(BBs) = 99 / SinkFrequencyPercentThreshold%
Defined at line 78 of file llvm/lib/Transforms/Scalar/LoopSink.cpp
-
bool hasSingleValue (const ValueLatticeElement & Val)Returns true if this lattice value represents at most one possible value.
This is as precise as any lattice value can get while still representing
reachable code.
Defined at line 78 of file llvm/lib/Analysis/LazyValueInfo.cpp
-
void tryToGetTargetInfo (const MachineInstr & MI, const TargetRegisterInfo *& TRI, const MachineRegisterInfo *& MRI, const TargetInstrInfo *& TII)Try to crawl up to the machine function and get TRI/MRI/TII from it.
Defined at line 78 of file llvm/lib/CodeGen/MachineInstr.cpp
-
void StripSymtab (ValueSymbolTable & ST, bool PreserveDbgInfo)Strip the symbol table of its names.
Defined at line 78 of file llvm/lib/Transforms/IPO/StripSymbols.cpp
-
bool isValidModule (std::unique_ptr<Module> & M, bool ExitOnFailure)Defined at line 78 of file llvm/tools/bugpoint/CrashDebugger.cpp
-
Expected readPath (DataExtractor & Extractor, uint64_t & Offset)Defined at line 78 of file llvm/lib/XRay/Profile.cpp
-
unsigned int getFixupKindLog2Size (unsigned int Kind)Defined at line 78 of file llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
-
LLVMBool LLVMGetBitcodeModuleInContext (LLVMContextRef ContextRef, LLVMMemoryBufferRef MemBuf, LLVMModuleRef * OutM, char ** OutMessage)Reads a module from the specified path, returning via the OutMP parameter
a module provider which performs lazy deserialization. Returns 0 on success.
Optionally returns a human-readable error message via OutMessage.
This is deprecated. Use LLVMGetBitcodeModuleInContext2.
Defined at line 78 of file llvm/lib/Bitcode/Reader/BitReader.cpp
-
basic_string demangle (const std::string & Mangled, StringRef Delimiters)Defined at line 78 of file llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
-
function createIdentityMDPredicate (const Function & F, CloneFunctionChangeType Changes)Create a predicate that matches the metadata that should be identity mapped
during function cloning.
Defined at line 78 of file llvm/lib/Transforms/Utils/CloneFunction.cpp
-
void testBinaryOpExhaustive (StringRef Name, function_ref BitsFn, function_ref IntFn, bool CheckOptimality, bool RefinePoisonToZero)Defined at line 78 of file llvm/unittests/Support/KnownBitsTest.cpp
-
bool checkIfSupported (GlobalVariable & G)Defined at line 78 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
void outputCallingConvention (OutputBuffer & OB, CallingConv CC)Defined at line 78 of file llvm/lib/Demangle/MicrosoftDemangleNodes.cpp
-
void initializeMachineCFGPrinterPassOnce (PassRegistry & Registry)Defined at line 79 of file llvm/lib/CodeGen/MachineCFGPrinter.cpp
-
LLJIT * unwrap (LLVMOrcLLJITRef P)Defined at line 79 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcLLJITRef wrap (const LLJIT * P)Defined at line 79 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void * noReentry (void * )Defined at line 79 of file llvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp
-
void LLVMInitializeAllTargetInfos ()LLVMInitializeAllTargetInfos - The main program should call this function if
it wants access to all available targets that LLVM is configured to
support.
Defined at line 79 of file llvm/include/llvm-c/Target.h
-
void LLVMInitializeAllTargetInfos ()LLVMInitializeAllTargetInfos - The main program should call this function if
it wants access to all available targets that LLVM is configured to
support.
Defined at line 79 of file llvm/include/llvm-c/Target.h
-
void printHeader (LinePrinter & P, const Twine & S)Defined at line 79 of file llvm/tools/llvm-pdbutil/BytesOutputStyle.cpp
-
ArrayRef stabilize (BumpPtrAllocator & Alloc, ArrayRef Data)Defined at line 79 of file llvm/lib/DebugInfo/CodeView/GlobalTypeTableBuilder.cpp
-
Value * getCondition (Instruction * I)Get the condition of
It can either be a guard or a conditional branch.
Defined at line 79 of file llvm/lib/Transforms/Scalar/GuardWidening.cpp
-
ParsedModuleAndIndex parseAssemblyWithIndex (MemoryBufferRef F, SMDiagnostic & Err, LLVMContext & Context, SlotMapping * Slots, bool UpgradeDebugInfo, function_ref DataLayoutCallback)Defined at line 79 of file llvm/lib/AsmParser/Parser.cpp
-
bool containsUnreachable (const Loop & L, ArrayRef Roots)Checks if there's a stray instruction in the loop
outside of the
use-def chains from
or if we escape the loop during the use-def
walk.
Defined at line 79 of file llvm/lib/Analysis/HashRecognize.cpp
-
bool calculateUpperBound (const Loop & L, ScalarEvolution & SE, ConditionInfo & Cond, bool IsExitCond)Defined at line 79 of file llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
-
ExpectedErrorOr RunTest (StringRef Input, size_t SizeLimit, SampleProfileFormat Format, bool Compress)The main testing routine. After rewriting profiles with size limit, check
the following:
1. The file size of the new profile is within the size limit.
2. The new profile is a subset of the old profile, and the content of every
sample in the new profile is unchanged.
Note that even though by default samples with fewest total count are dropped
first, this is not a requirement. Samples can be dropped by any order.
Defined at line 79 of file llvm/unittests/tools/llvm-profdata/OutputSizeLimitTest.cpp
-
void initializeLowerEmuTLSPassOnce (PassRegistry & Registry)Defined at line 80 of file llvm/lib/CodeGen/LowerEmuTLS.cpp
-
void initializeMIRPrintingPassPassOnce (PassRegistry & Registry)Defined at line 80 of file llvm/lib/CodeGen/MIRPrintingPass.cpp
-
TargetMachine * unwrap (LLVMTargetMachineRef P)Defined at line 80 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMTargetMachineRef wrap (const TargetMachine * P)Defined at line 80 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool isValidReg (const MachineOperand & MO)Defined at line 80 of file llvm/lib/CodeGen/ReachingDefAnalysis.cpp
-
void exitWithError (Error E, StringRef Whence)Defined at line 80 of file llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp
-
void initializeLiveDebugVariablesWrapperLegacyPassOnce (PassRegistry & Registry)Defined at line 80 of file llvm/lib/CodeGen/LiveDebugVariables.cpp
-
uint8_t readUint8 (WasmObjectFile::ReadContext & Ctx)Defined at line 80 of file llvm/lib/Object/WasmObjectFile.cpp
-
int reportError (const char * ProgName, Twine Msg)Defined at line 80 of file llvm/lib/TableGen/Main.cpp
-
uint64_t round (uint64_t Acc, uint64_t Input)Defined at line 80 of file llvm/lib/Support/xxhash.cpp
-
void initializeScalarizeMaskedMemIntrinLegacyPassPassOnce (PassRegistry & Registry)Defined at line 80 of file llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
-
bool isMemOperand (const MCInst & MI, unsigned int Op, unsigned int RegClassID)Defined at line 80 of file llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
-
void debugHWLoopFailure (StringRef DebugMsg, Instruction * I)Defined at line 80 of file llvm/lib/CodeGen/HardwareLoops.cpp
-
void PrintStack (raw_ostream & OS)Defined at line 80 of file llvm/lib/Support/PrettyStackTrace.cpp
-
void identifyCallee (OptimizationRemark & R, const Module * M, const Value * V, StringRef Kind)Defined at line 80 of file llvm/lib/Analysis/KernelInfo.cpp
-
unsigned int translateToNVVMDWARFAddrSpace (unsigned int AddrSpace)Translate NVVM IR address space code to DWARF correspondent value
Defined at line 80 of file llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
-
void collectPrivatizingConstructs (llvm::SmallSet<Directive, 16> & Constructs, unsigned int Version)Defined at line 80 of file llvm/lib/Frontend/OpenMP/OMP.cpp
-
StringRef mangledNameForMallocFamily (const MallocFamily & Family)Defined at line 80 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
bool isTileDef (MachineRegisterInfo * MRI, MachineInstr & MI)Defined at line 80 of file llvm/lib/Target/X86/X86FastTileConfig.cpp
-
void placeSplitBlockCarefully (BasicBlock * NewBB, SmallVectorImpl<BasicBlock *> & SplitPreds, Loop * L)If the block isn't already, move the new block to right after some 'outside
block' block. This prevents the preheader from being placed inside the loop
body, e.g. when the loop hasn't been rotated.
Defined at line 80 of file llvm/lib/Transforms/Utils/LoopSimplify.cpp
-
void parseCHRFilterFiles ()Defined at line 80 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
bool IsStoredObjCPointer (const Value * P)Test if the value of P, or any value covered by its provenance, is ever
stored within the function (not counting callees).
Defined at line 80 of file llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp
-
void visitComponent (const std::string & Name, const StringMap<AvailableComponent *> & ComponentMap, std::set<AvailableComponent *> & VisitedComponents, std::vector<std::string> & RequiredLibs, bool IncludeNonInstalled, bool GetComponentNames, const std::function<std::string (const StringRef &)> * GetComponentLibraryPath, std::vector<std::string> * Missing, const std::string & DirSep)Traverse a single component adding to the topological ordering in
Parameters
Name - The component to traverse.ComponentMap - A prebuilt map of component names to descriptors.VisitedComponents [in] [out] - The set of already visited components.RequiredLibs [out] - The ordered list of required libraries.GetComponentNames - Get the component names instead of the library name.Defined at line 80 of file llvm/tools/llvm-config/llvm-config.cpp
-
void initializeTailDuplicateLegacyPassOnce (PassRegistry & Registry)Defined at line 81 of file llvm/lib/CodeGen/TailDuplication.cpp
-
bool isCallInstruction (const MachineInstr & MI)Return true if this is a call instruction, but not a tail call.
Defined at line 81 of file llvm/lib/Target/X86/X86AvoidTrailingCall.cpp
-
PassPluginLibraryInfo getByePluginInfo ()New PM Registration
Defined at line 81 of file llvm/examples/Bye/Bye.cpp
-
uint64_t packVScaleRangeArgs (unsigned int MinValue, optional MaxValue)Defined at line 81 of file llvm/lib/IR/Attributes.cpp
-
WrapperFunctionBuffer addWrapper (const char * ArgData, size_t ArgSize)Defined at line 81 of file llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp
-
uint8_t byteFromRec (const Record * rec, StringRef name)byteFromRec - Extract a value at most 8 bits in with from a Record given the
name of the field.
Parameters
rec - The record from which to extract the value.name - The name of the field in the record.Returns
- The field, as translated by byteFromBitsInit().
Defined at line 81 of file llvm/utils/TableGen/X86RecognizableInstr.cpp
-
void initializeLiveIntervalsWrapperPassPassOnce (PassRegistry & Registry)Defined at line 81 of file llvm/lib/CodeGen/LiveIntervals.cpp
-
void adjustColumn (unsigned int & Column)Defined at line 81 of file llvm/lib/IR/DebugInfoMetadata.cpp
-
void reportOpenError (StringRef Path, Twine Msg)Defined at line 81 of file llvm/lib/LTO/LTOBackend.cpp
-
void writeDWARFOffset (uint64_t Offset, DwarfFormat Format, raw_ostream & OS, bool IsLittleEndian)Defined at line 81 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
void PrintModRefResults (const char * Msg, bool P, CallBase * CallA, CallBase * CallB, Module * M)Defined at line 81 of file llvm/lib/Analysis/AliasAnalysisEvaluator.cpp
-
GVDAGType getGVDT ()Defined at line 81 of file llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
-
bool hasConstantAddressingMode (const MachineInstr & MI)This function returns whether the passed instruction uses a memory addressing
mode that is constant. We treat all memory addressing modes that read
from a register that is not %rip as non-constant. Note that the use
of the EFLAGS register results in an addressing mode being considered
non-constant, therefore all JCC instructions will return false from this
function since one of their operands will always be the EFLAGS register.
Defined at line 81 of file llvm/lib/Target/X86/X86SpeculativeExecutionSideEffectSuppression.cpp
-
void PrintMask (unsigned int i, std::ostream & OS)Defined at line 81 of file llvm/utils/PerfectShuffle/PerfectShuffle.cpp
-
bool irTranslatorNeverAddsLocations (unsigned int Opcode)Defined at line 81 of file llvm/lib/CodeGen/GlobalISel/LostDebugLocObserver.cpp
-
void printLine (raw_ostream & OS, const Twine & Prefix, char Fill, StringRef Suffix)Defined at line 81 of file llvm/lib/TableGen/TableGenBackend.cpp
-
basic_string pointerOptions (PointerOptions Options)Defined at line 81 of file llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
-
bool isSuitableForBSS (const GlobalVariable * GV)Defined at line 81 of file llvm/lib/Target/TargetLoweringObjectFile.cpp
-
char getTypeID (Type * Ty)Defined at line 81 of file llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
-
bool isOneDimensionalArray (const SCEV & AccessFn, const SCEV & ElemSize, const Loop & L, ScalarEvolution & SE)Defined at line 81 of file llvm/lib/Analysis/LoopCacheAnalysis.cpp
-
ParseRet tryParseVLEN (StringRef & ParseString, VFISAKind ISA, std::pair<unsigned int, bool> & ParsedVF)Extract the `
<vlen
>` information from the mangled string, and
sets `ParsedVF` accordingly. A `
<vlen
> == "x"` token is interpreted as a
scalable vector length and the boolean is set to true, otherwise a nonzero
unsigned integer will be directly used as a VF. On success, the `
<vlen
>`
token is removed from the input string `ParseString`.
Defined at line 81 of file llvm/lib/IR/VFABIDemangler.cpp
-
Register LookForIdenticalPHI (MachineBasicBlock * BB, SmallVectorImpl<std::pair<MachineBasicBlock *, Register>> & PredValues)Defined at line 81 of file llvm/lib/CodeGen/MachineSSAUpdater.cpp
-
bool isEligibleFunction (Function * F)Returns true if function
is eligible for merging.
Defined at line 81 of file llvm/lib/CodeGen/GlobalMergeFunctions.cpp
-
Function * CreateFibFunction (Module * M)Defined at line 81 of file llvm/examples/ParallelJIT/ParallelJIT.cpp
-
void getRegistersForValue (MachineFunction & MF, MachineIRBuilder & MIRBuilder, GISelAsmOperandInfo & OpInfo, GISelAsmOperandInfo & RefOpInfo)Assign virtual/physical registers for the specified register operand.
Defined at line 81 of file llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
-
bool formLCSSAForInstructionsImpl (SmallVectorImpl<Instruction *> & Worklist, const DominatorTree & DT, const LoopInfo & LI, ScalarEvolution * SE, SmallVectorImpl<PHINode *> * PHIsToRemove, SmallVectorImpl<PHINode *> * InsertedPHIs, LoopExitBlocksTy & LoopExitBlocks)For every instruction from the worklist, check to see if it has any uses
that are outside the current loop. If so, insert LCSSA PHI nodes and
rewrite the uses.
Defined at line 81 of file llvm/lib/Transforms/Utils/LCSSA.cpp
-
void memNotifyTerminating (void * CtxCtx)Defined at line 82 of file llvm/examples/OrcV2Examples/OrcV2CBindingsMCJITLikeMemoryManager/OrcV2CBindingsMCJITLikeMemoryManager.c
-
void * LLVMGenericValueToPointer (LLVMGenericValueRef GenVal)Defined at line 82 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
void report_at_maximum_capacity (size_t MaxSize)Report that this vector is already at maximum capacity. Throws
std::length_error or calls report_fatal_error.
Defined at line 77 of file llvm/lib/Support/SmallVector.cpp
-
LLVMTargetRef LLVMGetTargetFromName (const char * Name)===-- Target ------------------------------------------------------------===
Finds the target corresponding to the given name and stores it in
Returns 0 on success.
Defined at line 75 of file llvm/lib/Target/TargetMachineC.cpp
-
LLVMRemarkStringRef LLVMRemarkDebugLocGetSourceFilePath (LLVMRemarkDebugLocRef DL)Return the path to the source file for a debug location.
Defined at line 75 of file llvm/lib/Remarks/Remark.cpp
-
uint32_t LLVMRemarkDebugLocGetSourceLine (LLVMRemarkDebugLocRef DL)Return the line in the source file for a debug location.
Defined at line 80 of file llvm/lib/Remarks/Remark.cpp
-
LLVMMemoryBufferRef LLVMBinaryCopyMemoryBuffer (LLVMBinaryRef BR)Retrieves a copy of the memory buffer associated with this object file.
The returned buffer is merely a shallow copy and does not own the actual
backing buffer of the binary. Nevertheless, it is the responsibility of the
caller to free it with
Defined at line 79 of file llvm/lib/Object/Object.cpp
-
unique_ptr makeMockContext (unique_function HandleFailed, unique_function SetupMemMgr, unique_function SetupContext)Defined at line 77 of file llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.cpp
-
unsigned int LLVMPointerSizeForAS (LLVMTargetDataRef TD, unsigned int AS)Returns the pointer size in bytes for a target for a specified
address space.
See the method llvm::DataLayout::getPointerSize.
Defined at line 75 of file llvm/lib/Target/Target.cpp
-
LLVMTypeRef LLVMIntPtrType (LLVMTargetDataRef TD)Returns the integer type that is the same size as a pointer on a target.
See the method llvm::DataLayout::getIntPtrType.
Defined at line 79 of file llvm/lib/Target/Target.cpp
-
void pad (raw_fd_ostream & OS)Headers in tar files must be aligned to 512 byte boundaries.
This function forwards the current file position to the next boundary.
Defined at line 82 of file llvm/lib/Support/TarWriter.cpp
-
void replaceWithConstant (Constant * Value, SmallVectorImpl<CoroSubFnInst *> & Users)Go through the list of coro.subfn.addr intrinsics and replace them with the
provided constant.
Defined at line 82 of file llvm/lib/Transforms/Coroutines/CoroElide.cpp
-
bool switchCaseExists (Use & Op, ConstantInt * CI)Defined at line 82 of file llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
-
void PrintOps (Instruction * I, const SmallVectorImpl<ValueEntry> & Ops)Print out the expression identified in the Ops list.
Defined at line 82 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
bool isX87NonWaitingControlInstruction (MachineInstr & MI)Defined at line 82 of file llvm/lib/Target/X86/X86InsertWait.cpp
-
LLVMBool LLVMGetTargetFromTriple (const char * Triple, LLVMTargetRef * T, char ** ErrorMessage)Finds the target corresponding to the given triple and stores it in
Returns 0 on success. Optionally returns any error in ErrorMessage.
Use LLVMDisposeMessage to dispose the message.
Defined at line 82 of file llvm/lib/Target/TargetMachineC.cpp
-
void maybeRewriteCallWithDifferentBundles (CallBase * OrigCall, ArrayRef OperandBundlesToKeepIndexes)Defined at line 82 of file llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
-
Metadata * canonicalizeMetadataForValue (LLVMContext & Context, Metadata * MD)Canonicalize metadata arguments to intrinsics.
To support bitcode upgrades (and assembly semantic sugar) for
we need to canonicalize certain metadata.
- nullptr is replaced by an empty MDNode.
- An MDNode with a single null operand is replaced by an empty MDNode.
- An MDNode whose only operand is a
gets skipped.
This maintains readability of bitcode from when metadata was a type of
value, and these bridges were unnecessary.
Defined at line 82 of file llvm/lib/IR/Metadata.cpp
-
void collectRelocatedSymbols (const ObjectFile * Obj, const SectionRef & Sec, uint64_t SecAddress, uint64_t SymAddress, uint64_t SymSize, StringRef * I, StringRef * E)Defined at line 82 of file llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
-
bool simplifyX86MaskedStore (IntrinsicInst & II, InstCombiner & IC)TODO: If the x86 backend knew how to convert a bool vector mask back to an
XMM register mask efficiently, we could transform all x86 masked intrinsics
to LLVM masked intrinsics and remove the x86 masked intrinsic defs.
Defined at line 82 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
void transformGlobalArray (StringRef ArrayName, Module & M, const GlobalCtorTransformFn & Fn)Defined at line 82 of file llvm/lib/Transforms/Utils/ModuleUtils.cpp
-
Align getNewAlignment (const SCEV * AASCEV, const SCEV * AlignSCEV, const SCEV * OffSCEV, Value * Ptr, ScalarEvolution * SE)There is an address given by an offset OffSCEV from AASCEV which has an
alignment AlignSCEV. Use that information, if possible, to compute a new
alignment for Ptr.
Defined at line 82 of file llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
-
int llvm_mt_main (int Argc, char ** Argv, const llvm::ToolContext & )Defined at line 82 of file llvm/tools/llvm-mt/llvm-mt.cpp
-
basic_string getInstrProfErrString (instrprof_error Err, const std::string & ErrMsg)Defined at line 82 of file llvm/lib/ProfileData/InstrProf.cpp
-
void initializePatchableFunctionLegacyPassOnce (PassRegistry & Registry)Defined at line 83 of file llvm/lib/CodeGen/PatchableFunction.cpp
-
void initializeEarlyTailDuplicateLegacyPassOnce (PassRegistry & Registry)Defined at line 83 of file llvm/lib/CodeGen/TailDuplication.cpp
-
void initializeX86DynAllocaExpanderLegacyPassOnce (PassRegistry & Registry)Defined at line 83 of file llvm/lib/Target/X86/X86DynAllocaExpander.cpp
-
Error initializeReader (InstrProfReader & Reader)Defined at line 83 of file llvm/lib/ProfileData/InstrProfReader.cpp
-
void warnOnSkippedNode (const SDNodeInfo & N, const Twine & Reason)Defined at line 83 of file llvm/utils/TableGen/SDNodeInfoEmitter.cpp
-
LLVMTypeRef LLVMIntPtrTypeForAS (LLVMTargetDataRef TD, unsigned int AS)Returns the integer type that is the same size as a pointer on a target.
This version allows the address space to be specified.
See the method llvm::DataLayout::getIntPtrType.
Defined at line 83 of file llvm/lib/Target/Target.cpp
-
bool isAllTrueMask (Value * MaskVal)Defined at line 83 of file llvm/lib/CodeGen/ExpandVectorPredication.cpp
-
template <typename T>void parseIntArg (const opt::InputArgList & Args, int ID, T & Value)Defined at line 83 of file llvm/tools/llvm-strings/llvm-strings.cpp
-
void viewCFG (Function & F, const BlockFrequencyInfo * BFI, const BranchProbabilityInfo * BPI, uint64_t MaxFreq, bool CFGOnly)Defined at line 83 of file llvm/lib/Analysis/CFGPrinter.cpp
-
bool hasByteCountSuffix (CallingConv::ID CC)Defined at line 83 of file llvm/lib/IR/Mangler.cpp
-
void BM_LookupRuntimeLibcallByNameRandomCalls (benchmark::State & State)Defined at line 83 of file llvm/benchmarks/RuntimeLibcalls.cpp
-
void percentEncode (StringRef Content, std::string & Out)Encodes a string according to percent-encoding.
- Unreserved characters are not escaped.
- Reserved characters always escaped with exceptions like '/'.
- All other characters are escaped.
Defined at line 83 of file llvm/lib/Support/LSP/Protocol.cpp
-
bool upgradeX86IntrinsicsWith8BitMask (Function * F, Intrinsic::ID IID, Function *& NewFn)Upgrade the declarations of intrinsic functions whose 8-bit immediate mask
arguments have changed their type from i32 to i8.
Defined at line 83 of file llvm/lib/IR/AutoUpgrade.cpp
-
basic_string getStatString (const char * Msg, int32_t Fraction, int32_t All, const char * PercentageOfMsg, bool LineEnd)Defined at line 83 of file llvm/lib/Analysis/ImportedFunctionsInliningStatistics.cpp
-
void reportArchiveChildIssue (const object::Archive::Child & C, int Index, StringRef ArchiveFilename)Some problem occurred with an archive member; complain and continue.
Defined at line 83 of file llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp
-
basic_string computeAArch64DataLayout (const Triple & TT)Helper function to build a DataLayout string
Defined at line 83 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
Type * getFloatTypeForLLT (LLVMContext & Ctx, LLT Ty)Defined at line 83 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
bool isSignTest (ICmpInst::Predicate & Pred, const APInt & C)Returns true if the exploded icmp can be expressed as a signed comparison
to zero and updates the predicate accordingly.
The signedness of the comparison is preserved.
TODO: Refactor with decomposeBitTestICmp()?
Defined at line 83 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
tuple convertToHSV (const std::tuple<uint8_t, uint8_t, uint8_t> & Color)Takes a tuple of uint8_ts representing a color in RGB and converts them to
HSV represented by a tuple of doubles
Defined at line 83 of file llvm/tools/llvm-xray/xray-color-helper.cpp
-
error_code getHostID (SmallVectorImpl<char> & HostID)Defined at line 83 of file llvm/lib/Support/LockFileManager.cpp
-
void GetObjCImageInfo (Module & M, unsigned int & Version, unsigned int & Flags, StringRef & Section)Defined at line 83 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
size_t llvm_regerror (int , const llvm_regex_t * , char * , size_t )- llvm_regerror - the interface to error numbers
= extern size_t llvm_regerror(int, const llvm_regex_t *, char *, size_t);
ARGSUSED
Defined at line 83 of file llvm/lib/Support/regerror.c
-
bool isBlockValidForExtraction (const BasicBlock & BB, const SetVector<BasicBlock *> & Result, bool AllowVarArgs, bool AllowAlloca)Test whether a block is valid for extraction.
Defined at line 83 of file llvm/lib/Transforms/Utils/CodeExtractor.cpp
-
void ConnectProlog (Loop * L, Value * BECount, unsigned int Count, BasicBlock * PrologExit, BasicBlock * OriginalLoopLatchExit, BasicBlock * PreHeader, BasicBlock * NewPreHeader, ValueToValueMapTy & VMap, DominatorTree * DT, LoopInfo * LI, bool PreserveLCSSA, ScalarEvolution & SE)Connect the unrolling prolog code to the original loop.
The unrolling prolog code contains code to execute the
'extra' iterations if the run-time trip count modulo the
unroll count is non-zero.
This function performs the following:
- Create PHI nodes at prolog end block to combine values
that exit the prolog code and jump around the prolog.
- Add a PHI operand to a PHI node at the loop exit block
for values that exit the prolog and go around the loop.
- Branch around the original loop if the trip count is less
than the unroll factor.
Defined at line 83 of file llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
-
void initializeFinalizeISelPassOnce (PassRegistry & Registry)Defined at line 84 of file llvm/lib/CodeGen/FinalizeISel.cpp
-
basic_string gtest_DirectiveNameParserTestTokenize_EvalGenerateName_ (const ::testing::TestParamInfo<Tokenize::ParamType> & info)Defined at line 84 of file llvm/unittests/Frontend/OpenMPDirectiveNameParserTest.cpp
-
ParamGenerator gtest_DirectiveNameParserTestTokenize_EvalGenerator_ ()Defined at line 84 of file llvm/unittests/Frontend/OpenMPDirectiveNameParserTest.cpp
-
basic_string gtest_ModuleUtilsTestCtorsModuleUtilsTest_EvalGenerateName_ (const ::testing::TestParamInfo<ModuleUtilsTest::ParamType> & info)Defined at line 84 of file llvm/unittests/Transforms/Utils/ModuleUtilsTest.cpp
-
ParamGenerator gtest_ModuleUtilsTestCtorsModuleUtilsTest_EvalGenerator_ ()Defined at line 84 of file llvm/unittests/Transforms/Utils/ModuleUtilsTest.cpp
-
bool isValidRegUse (const MachineOperand & MO)Defined at line 84 of file llvm/lib/CodeGen/ReachingDefAnalysis.cpp
-
uint32_t LLVMRemarkDebugLocGetSourceColumn (LLVMRemarkDebugLocRef DL)Return the column in the source file for a debug location.
Defined at line 84 of file llvm/lib/Remarks/Remark.cpp
-
char * LLVMCreateMessage (const char * Message)===-- Error handling ----------------------------------------------------===
Defined at line 84 of file llvm/lib/IR/Core.cpp
-
Error reportError (StringRef Message)Defined at line 84 of file llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
-
void exitWithErrorCode (error_code EC, StringRef Whence)Defined at line 84 of file llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp
-
Error createCorruptObjectError (Expected ID)Defined at line 84 of file llvm/lib/CAS/OnDiskGraphDB.cpp
-
DebugLoc findDebugLoc (const MachineBasicBlock & MBB)Defined at line 84 of file llvm/lib/Target/X86/X86WinEHUnwindV2.cpp
-
Error checkHashHdrVersion (const GSIHashHeader * HashHdr)Defined at line 84 of file llvm/lib/DebugInfo/PDB/Native/GlobalsStream.cpp
-
void eliminateDeadCode (Function & F)Defined at line 84 of file llvm/lib/FuzzMutate/IRMutator.cpp
-
basic_string generateBBWalkIR (unsigned int Size)Defined at line 84 of file llvm/benchmarks/SandboxIRBench.cpp
-
xmlNodePtr getChildWithName (xmlNodePtr Parent, const unsigned char * ElementName)Defined at line 84 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
template <typename T>Expected<T> getStructOrErr (const MachOObjectFile & O, const char * P)Defined at line 84 of file llvm/lib/Object/MachOObjectFile.cpp
-
void llvm_blake3_compress_in_place_portable (uint32_t[8] cv, const uint8_t[64] block, uint8_t block_len, uint64_t counter, uint8_t flags)Declarations for implementation-specific functions.
Defined at line 84 of file llvm/lib/Support/BLAKE3/blake3_portable.c
-
Triple GetTriple (StringRef ProgName, opt::InputArgList & Args)Defined at line 84 of file llvm/tools/llvm-ml/llvm-ml.cpp
-
Error registerSymbol (LinkGraph & G, Symbol & Sym, Session::FileInfo & FI, SectionType SecType)Defined at line 84 of file llvm/tools/llvm-jitlink/llvm-jitlink-elf.cpp
-
bool checkSafeInstruction (const Instruction & I, const CmpInst * InnerLoopGuardCmp, const CmpInst * OuterLoopLatchCmp, optional OuterLoopLB)Defined at line 84 of file llvm/lib/Analysis/LoopNestAnalysis.cpp
-
std::optional<APInt> extractConstantBits (const Constant * C)Attempt to extract the full width of bits data from the constant.
Defined at line 84 of file llvm/lib/Target/X86/X86FixupVectorConstants.cpp
-
void initializeX86ExpandPseudoPassOnce (PassRegistry & Registry)Defined at line 85 of file llvm/lib/Target/X86/X86ExpandPseudo.cpp
-
bool hasForceAttributes ()Defined at line 85 of file llvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp
-
bool shouldHaveDiscriminator (const Instruction * I)Defined at line 85 of file llvm/lib/Transforms/Utils/AddDiscriminators.cpp
-
ArrayRef<MCPhysReg> CC_X86_64_VectorCallGetGPRs ()Defined at line 85 of file llvm/lib/Target/X86/X86CallingConv.cpp
-
Cursor skipWhitespace (Cursor C)Skip the leading whitespace characters and return the updated cursor.
Defined at line 85 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void warnAboutLeftoverTransformations (Function * F, LoopInfo * LI, OptimizationRemarkEmitter * ORE)Defined at line 85 of file llvm/lib/Transforms/Scalar/WarnMissedTransforms.cpp
-
void error (Error EC)Defined at line 85 of file llvm/tools/llvm-cvtres/llvm-cvtres.cpp
-
MachineFunction * getMFFromMMI (const Module * M, const MachineModuleInfo * MMI)Defined at line 85 of file llvm/unittests/CodeGen/GlobalISel/GISelMITest.h
-
void printError (const ErrorInfoBase & EI, StringRef AuxInfo)Defined at line 85 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
bool setMemoryEffects (Function & F, MemoryEffectsBase ME)Defined at line 85 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
basic_string formatCompileSym3Flags (uint32_t IndentLevel, CompileSym3Flags Flags)Defined at line 85 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
bool UpdatedOnX86AvoidTrailingCallPass (MachineFunction & MF)Defined at line 85 of file llvm/lib/Target/X86/X86AvoidTrailingCall.cpp
-
bool reduceDbgValsForwardScan (MachineBasicBlock & MBB)This analysis aims to remove redundant DBG_VALUEs by going forward
in the basic block by considering the first DBG_VALUE as a valid
until its first (location) operand is not clobbered/modified.
For example:
(1) DBG_VALUE $edi, !"var1", ...
(2)
<block
of code that does affect $edi>
(3) DBG_VALUE $edi, !"var1", ...
...
in this case, we can remove (3).
TODO: Support DBG_VALUE_LIST and other debug instructions.
Defined at line 85 of file llvm/lib/CodeGen/RemoveRedundantDebugValues.cpp
-
bool CompareNumbers (const char *& F1P, const char *& F2P, const char * F1End, const char * F2End, double AbsTolerance, double RelTolerance, std::string * ErrorMsg)CompareNumbers - compare two numbers, returning true if they are different.
Defined at line 85 of file llvm/lib/Support/FileUtilities.cpp
-
void initializeStackMapLivenessPassOnce (PassRegistry & Registry)Defined at line 86 of file llvm/lib/CodeGen/StackMapLivenessAnalysis.cpp
-
void LLVMDisposeBinary (LLVMBinaryRef BR)Dispose of a binary file.
The binary file does not own its backing buffer. It is the responsibilty
of the caller to free it with
Defined at line 86 of file llvm/lib/Object/Object.cpp
-
Error emptyConstructor (MappedFileRegionArena & )Defined at line 86 of file llvm/unittests/CAS/ProgramTest.cpp
-
void printMacroBegin (StringRef Macro, raw_ostream & OS)Defined at line 86 of file llvm/utils/TableGen/X86InstrMappingEmitter.cpp
-
void initializeMachineCycleInfoPrinterLegacyPassOnce (PassRegistry & Registry)Defined at line 86 of file llvm/lib/CodeGen/MachineCycleAnalysis.cpp
-
Align getAlign (GlobalVariable * GV)Defined at line 86 of file llvm/lib/Transforms/IPO/ConstantMerge.cpp
-
basic_string toString (OutputBuffer & OB)Defined at line 86 of file llvm/unittests/Demangle/ItaniumDemangleTest.cpp
-
void declareInstExpansion (CodeExpansions & CE, const InstructionMatcher & IM, StringRef Name)===- CodeExpansions Helpers --------------------------------------------===//
Defined at line 86 of file llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
-
uint8_t * memAllocate (void * Opaque, uintptr_t Size, unsigned int Align, unsigned int Id, const char * Name)Defined at line 86 of file llvm/examples/OrcV2Examples/OrcV2CBindingsMCJITLikeMemoryManager/OrcV2CBindingsMCJITLikeMemoryManager.c
-
void InsertNewValueIntoMap (ValueToValueMapTy & VM, Value * K, Value * V)Insert (K, V) pair into the ValueToValueMap, and verify the key did not
previously exist in the map, and the value was inserted.
Defined at line 86 of file llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
-
WrapperFunctionBuffer addMethodWrapper (const char * ArgData, size_t ArgSize)Defined at line 86 of file llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp
-
void markSymbols (const CommonConfig & , Object & Obj)Defined at line 86 of file llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
-
uint32_t readUint32 (WasmObjectFile::ReadContext & Ctx)Defined at line 86 of file llvm/lib/Object/WasmObjectFile.cpp
-
void initializeLoopExtractorLegacyPassPassOnce (PassRegistry & Registry)Defined at line 86 of file llvm/lib/Transforms/IPO/LoopExtractor.cpp
-
pair unpackVScaleRangeArgs (uint64_t Value)Defined at line 86 of file llvm/lib/IR/Attributes.cpp
-
void addNonNullAttribute (CallBase & CB, Value * Op)Defined at line 86 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
double LLVMGenericValueToFloat (LLVMTypeRef TyRef, LLVMGenericValueRef GenVal)Defined at line 86 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
void suppressEGPRRegClassInRegAndUses (MachineRegisterInfo * MRI, MachineInstr & MI, const X86Subtarget & ST, unsigned int OpNum)Suppress EGPR in operand 0 of uses to avoid APX relocation types emitted. The
register in operand 0 of instruction with relocation may be replaced with
operand 0 of uses which may be EGPR. That may lead to emit APX relocation
types which breaks the backward compatibility with builtin linkers on
existing OS. For example, the register in operand 0 of instruction with
relocation is used in PHI instruction, and it may be replaced with operand 0
of PHI instruction after PHI elimination and Machine Copy Propagation pass.
Defined at line 86 of file llvm/lib/Target/X86/X86SuppressAPXForReloc.cpp
-
void exitWithError (Twine Message, StringRef Whence, StringRef Hint)Defined at line 86 of file llvm/tools/llvm-cgdata/llvm-cgdata.cpp
-
Error executeObjcopyOnIHex (ConfigManager & ConfigMgr, MemoryBuffer & In, raw_ostream & Out)The function executeObjcopyOnIHex does the dispatch based on the format
of the output specified by the command line options.
Defined at line 86 of file llvm/tools/llvm-objcopy/llvm-objcopy.cpp
-
void addAllGlobalValueUsers (ClusterMapType & GVtoClusterMap, const GlobalValue * GV, const Value * V)Adds all GlobalValue users of V to the same cluster as GV.
Defined at line 86 of file llvm/lib/Transforms/Utils/SplitModule.cpp
-
template <class T>bool forEachCall (Function & Intrin, T Callback)Defined at line 86 of file llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
-
void emitXATTR (raw_ostream & OS, StringRef Name, ESDLinkageType Linkage, ESDExecutable Executable, ESDBindingScope BindingScope)Defined at line 86 of file llvm/lib/MC/MCAsmInfoGOFF.cpp
-
const Value * FindSingleUseIdentifiedObject (const Value * Arg)This is similar to GetRCIdentityRoot but it stops as soon
as it finds a value with multiple uses.
Defined at line 86 of file llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
-
bool rescheduleLexographically (int instructions, MachineBasicBlock * MBB, int getPos)Defined at line 86 of file llvm/lib/CodeGen/MIRCanonicalizerPass.cpp
-
DWARFDie GetParentDeclContextDIE (DWARFDie & Die)Defined at line 86 of file llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
-
void parseArgs (int argc, char ** argv)Defined at line 86 of file llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
-
void calcPredicateUsingInteger (ArrayRef Branches, ArrayRef Outgoing, ArrayRef GuardBlocks, BBPredicates & GuardPredicates)Assign an index to each outgoing block. At the corresponding guard
block, compute the branch condition by comparing this index.
Defined at line 86 of file llvm/lib/Transforms/Utils/ControlFlowUtils.cpp
-
void lowerAwaitSuspend (int & Builder, CoroAwaitSuspendInst * CB, coro::Shape & Shape)FIXME:
Lower the intrinisc in CoroEarly phase if coroutine frame doesn't escape
and it is known that other transformations, for example, sanitizers
won't lead to incorrect code.
Defined at line 86 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
bool inheritsFrom (InstructionContext child, InstructionContext parent, bool noPrefix, bool VEX_LIG, bool WIG, bool AdSize64)inheritsFrom - Indicates whether all instructions in one class also belong
to another class.
Parameters
child - The class that may be the subsetparent - The class that may be the supersetReturns
- True if child is a subset of parent, false otherwise.
Defined at line 86 of file llvm/utils/TableGen/X86DisassemblerTables.cpp
-
unsigned int littleEndianByteAt (const unsigned int ByteWidth, const unsigned int I)E.g. Given a 4-byte type x, x[0] -> byte 0
Defined at line 87 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
void initializeRegUsageInfoPropagationLegacyPassOnce (PassRegistry & Registry)Defined at line 87 of file llvm/lib/CodeGen/RegUsageInfoPropagate.cpp
-
bool isMemoryInst (const Instruction * I)Defined at line 87 of file llvm/lib/Transforms/Scalar/GVNSink.cpp
-
int charTailAt (StringPair * P, size_t Pos)Returns the character at Pos from end of a string.
Defined at line 87 of file llvm/lib/MC/StringTableBuilder.cpp
-
uint64_t mergeRound (uint64_t Acc, uint64_t Val)Defined at line 87 of file llvm/lib/Support/xxhash.cpp
-
void fixupPHINodeForUnwindDest (InvokeInst * Invoke, BasicBlock * OrigBlock, BasicBlock * ThenBlock, BasicBlock * ElseBlock)Fix-up phi nodes in an invoke instruction's unwind destination.
After versioning an invoke instruction, values coming from the original
block will now be coming from either the "then" block or the "else" block.
For example, in the code below:
then_bb:
%t0 = invoke i32 %ptr() to label %merge_bb unwind label %unwind_dst
else_bb:
%t1 = invoke i32 %ptr() to label %merge_bb unwind label %unwind_dst
unwind_dst:
%t3 = phi i32 [ %x, %orig_bb ], ...
"orig_bb" is no longer a predecessor of "unwind_dst", so the phi nodes in
"unwind_dst" must be fixed to refer to "then_bb" and "else_bb":
unwind_dst:
%t3 = phi i32 [ %x, %then_bb ], [ %x, %else_bb ], ...
Defined at line 87 of file llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
-
template <typename Callable>bool foreachUnit (const TargetRegisterInfo * TRI, const LiveInterval & VRegInterval, MCRegister PhysReg, Callable Func)Defined at line 87 of file llvm/lib/CodeGen/LiveRegMatrix.cpp
-
bool usesExtendedRegister (const MachineInstr & MI)Defined at line 87 of file llvm/lib/Target/X86/X86CompressEVEX.cpp
-
Error bundleImages ()Defined at line 87 of file llvm/tools/llvm-offload-binary/llvm-offload-binary.cpp
-
Value * getStrlenWithNull (IRBuilder<> & Builder, Value * Str)The device library does not provide strlen, so we build our own loop
here. While we are at it, we also include the terminating null in the length.
Defined at line 87 of file llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
-
LLVMTypeRef LLVMIntPtrTypeInContext (LLVMContextRef C, LLVMTargetDataRef TD)Returns the integer type that is the same size as a pointer on a target.
See the method llvm::DataLayout::getIntPtrType.
Defined at line 88 of file llvm/lib/Target/Target.cpp
-
void LLVMDisposeMessage (char * Message)Defined at line 88 of file llvm/lib/IR/Core.cpp
-
SDVTList makeVTList (const EVT * VTs, unsigned int NumVTs)makeVTList - Return an instance of the SDVTList struct initialized with the
specified members.
Defined at line 88 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
void LLVMInitializeAllTargets ()LLVMInitializeAllTargets - The main program should call this function if it
wants to link in all available targets that LLVM is configured to
support.
Defined at line 88 of file llvm/include/llvm-c/Target.h
-
void LLVMInitializeAllTargets ()LLVMInitializeAllTargets - The main program should call this function if it
wants to link in all available targets that LLVM is configured to
support.
Defined at line 88 of file llvm/include/llvm-c/Target.h
-
void addBlockLiveIns (LiveRegUnits & LiveUnits, const MachineBasicBlock & MBB)Add live-in registers of basic block
to
Defined at line 88 of file llvm/lib/CodeGen/LiveRegUnits.cpp
-
bool isValidRegUseOf (const MachineOperand & MO, Register Reg, const TargetRegisterInfo * TRI)Defined at line 88 of file llvm/lib/CodeGen/ReachingDefAnalysis.cpp
-
void PrintLoadStoreResults (AliasResult AR, bool P, const Value * V1, const Value * V2, const Module * M)Defined at line 88 of file llvm/lib/Analysis/AliasAnalysisEvaluator.cpp
-
void output_chaining_value (const output_t * self, uint8_t[32] cv)Chaining values within a given chunk (specifically the compress_in_place
interface) are represented as words. This avoids unnecessary bytes
<
->words
conversion overhead in the portable implementation. However, the hash_many
interface handles both user input and parent node blocks, so it accepts
bytes. For that reason, chaining values in the CV stack are represented as
bytes.
Defined at line 88 of file llvm/lib/Support/BLAKE3/blake3.c
-
bool getWindows10SDKVersionFromPath (llvm::vfs::FileSystem & VFS, const std::string & SDKPath, std::string & SDKVersion)Defined at line 88 of file llvm/lib/WindowsDriver/MSVCPaths.cpp
-
Expected parseStrTabSize (StringRef & Buf)Defined at line 88 of file llvm/lib/Remarks/YAMLRemarkParser.cpp
-
void computeChecksum (UstarHeader & Hdr)Computes a checksum for a tar header.
Defined at line 88 of file llvm/lib/Support/TarWriter.cpp
-
Expected openBitcodeFile (StringRef Path)Defined at line 88 of file llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
-
void PrintCases (int & OpsToPrint, raw_ostream & O, bool PassSubtarget)Defined at line 88 of file llvm/utils/TableGen/AsmWriterEmitter.cpp
-
void remapSymbols (MemoryBuffer & OldSymbolFile, MemoryBuffer & NewSymbolFile, MemoryBuffer & RemappingFile, raw_ostream & Out)Defined at line 88 of file llvm/tools/llvm-cxxmap/llvm-cxxmap.cpp
-
optional GetCodeName (unsigned int CodeID, unsigned int BlockID, const BitstreamBlockInfo & BlockInfo, CurStreamTypeType CurStreamType)Return a symbolic code name if known, otherwise return null.
Defined at line 88 of file llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
-
void initializeResetMachineFunctionPassOnce (PassRegistry & Registry)Defined at line 89 of file llvm/lib/CodeGen/ResetMachineFunctionPass.cpp
-
LLVMRemarkStringRef LLVMRemarkArgGetKey (LLVMRemarkArgRef Arg)Returns the key of an argument. The key defines what the value is, and the
same key can appear multiple times in the list of arguments.
Defined at line 89 of file llvm/lib/Remarks/Remark.cpp
-
void defaultMemMgrSetup (MockJITLinkMemoryManager & )Defined at line 89 of file llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.cpp
-
Error getStringError (const Twine & message)Defined at line 89 of file llvm/tools/llvm-rc/ResourceScriptToken.cpp
-
bool isConflictIP (int IP1, int IP2)Return whether IP1 and IP2 are ambiguous, i.e. that inserting instructions
at position IP1 may change the meaning of IP2 or vice-versa. This is because
an InsertPoint stores the instruction before something is inserted. For
instance, if both point to the same instruction, two IRBuilders alternating
creating instruction will cause the instructions to be interleaved.
Defined at line 89 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
size_t getLongestEntryLength (ArrayRef Table)Return the length of the longest entry in the table.
Defined at line 89 of file llvm/lib/MC/MCSubtargetInfo.cpp
-
bool operandReferences (CallInst * CI, AllocaInst * Frame, AAResults & AA)See if any operand of the call instruction references the coroutine frame.
Defined at line 89 of file llvm/lib/Transforms/Coroutines/CoroElide.cpp
-
template <typename T, typename TEnum>void printOptionalEnumName (T Value, ArrayRef<EnumEntry<TEnum>> EnumValues)Defined at line 89 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
bool IsCallReturnTwice (llvm::MachineOperand & MOp)Defined at line 89 of file llvm/lib/Target/X86/X86IndirectBranchTracking.cpp
-
StringRef GetIntrinsicName (const RecordVal * RV)Take a `int_{intrinsic_name}` and return just the intrinsic_name part if
available. Otherwise return the empty string.
Defined at line 89 of file llvm/utils/TableGen/DXILEmitter.cpp
-
template <typename T>void write_signed (raw_ostream & S, T N, size_t MinDigits, IntegerStyle Style)Defined at line 89 of file llvm/lib/Support/NativeFormatting.cpp
-
StringRef convertZlibCodeToString (int Code)Defined at line 89 of file llvm/lib/Support/Compression.cpp
-
bool eliminateDeadCode (Function & F, TargetLibraryInfo * TLI)Defined at line 89 of file llvm/lib/Transforms/Scalar/DCE.cpp
-
void generateEnumClass (ArrayRef Records, raw_ostream & OS, StringRef Enum, StringRef Prefix, bool ExportEnums)Generate enum class. Entries are emitted in the order in which they appear
in the `Records` vector.
Defined at line 89 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
const X86FoldTableEntry * lookupFoldTableImpl (ArrayRef<X86FoldTableEntry> Table, unsigned int RegOp)Defined at line 89 of file llvm/lib/Target/X86/X86InstrFoldTables.cpp
-
bool inferAlignment (Function & F, AssumptionCache & AC, DominatorTree & DT)Defined at line 89 of file llvm/lib/Transforms/Scalar/InferAlignment.cpp
-
bool performBlockTailMerging (Function & F, ArrayRef BBs, std::vector<DominatorTree::UpdateType> * Updates)Defined at line 89 of file llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
-
basic_string explainPredicates (const TreePatternNode & N)Defined at line 89 of file llvm/utils/TableGen/GlobalISelEmitter.cpp
-
void printMacroEnd (StringRef Macro, raw_ostream & OS)Defined at line 90 of file llvm/utils/TableGen/X86InstrMappingEmitter.cpp
-
MDNode * getUnrollMetadataForLoop (const Loop * L, StringRef Name)Returns the loop hint metadata node with the given name (for example,
"llvm.loop.unroll.count"). If no such metadata node exists, then nullptr is
returned.
Defined at line 90 of file llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
-
DebugLoc getDebugLoc (int FirstMI, int LastMI)Return the first DebugLoc that has line number information, given a
range of instructions. The search range is from FirstMI to LastMI
(exclusive). Otherwise return the first DILocation or an empty location if
there are none.
Defined at line 90 of file llvm/lib/CodeGen/MachineInstrBundle.cpp
-
Error validatePdbMagic (StringRef PdbPath)Defined at line 90 of file llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp
-
void saveTempBitcode (const Module & TheModule, StringRef TempDir, unsigned int count, StringRef Suffix)Simple helper to save temporary files for debug.
Defined at line 90 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
TargetCostKind OutputCostKindToTargetCostKind (OutputCostKind CostKind)Defined at line 90 of file llvm/lib/Analysis/CostModel.cpp
-
Loop * getInnermostLoopFor (SmallPtrSetImpl<BasicBlock *> & BBs, Loop & L, LoopInfo & LI)Find innermost loop that contains at least one block from
and
contains the header of loop
Defined at line 90 of file llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
-
bool testAttributeString (unsigned int Tag, const char * Value, unsigned int ExpectedTag, const char * ExpectedValue)Defined at line 90 of file llvm/unittests/Support/CSKYAttributeParserTest.cpp
-
int createDependencyFile (const TGParser & Parser, const char * argv0)Create a dependency file for `-d` option.
This functionality is really only for the benefit of the build system.
It is similar to GCC's `-M*` family of options.
Defined at line 90 of file llvm/lib/TableGen/Main.cpp
-
template <class Size_T>size_t getNewCapacity (size_t MinSize, size_t TSize, size_t OldCapacity)Note: Moving this function into the header may cause performance regression.
Defined at line 90 of file llvm/lib/Support/SmallVector.cpp
-
const char * getPropertyName (Property Prop)Defined at line 90 of file llvm/lib/CodeGen/MachineFunction.cpp
-
bool RedirectIO (optional Path, int FD, std::string * ErrMsg)Defined at line 90 of file llvm/lib/Support/Unix/Program.inc
-
bool CC_X86_VectorCallAssignRegister (unsigned int & ValNo, MVT & ValVT, MVT & LocVT, CCValAssign::LocInfo & LocInfo, ISD::ArgFlagsTy & ArgFlags, CCState & State)Defined at line 90 of file llvm/lib/Target/X86/X86CallingConv.cpp
-
LLVMBinaryGetType (LLVMBinaryRef BR)Retrieve the specific type of a binary.
Defined at line 90 of file llvm/lib/Object/Object.cpp
-
void defaultCtxSetup (MockJITLinkContext & )Defined at line 90 of file llvm/unittests/ExecutionEngine/JITLink/JITLinkTestUtils.cpp
-
template <typename Enumerator>vector filterAndSortClassDefs (LinePrinter & Printer, Enumerator & E, uint32_t UnfilteredCount)Defined at line 90 of file llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp
-
void opportunities (Function & F, function_ref Callback)Calls
for every reduction opportunity in
Used by
countOperands() and extractOperandsFromModule() to ensure consistency
between the two.
Defined at line 90 of file llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
-
Constant * getFalse (Type * Ty)For a boolean type or a vector of boolean type, return false or a vector
with every element false.
Defined at line 91 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool isNewlineChar (char C)Defined at line 91 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void initializeStaticDataAnnotatorPassOnce (PassRegistry & Registry)Defined at line 91 of file llvm/lib/CodeGen/StaticDataAnnotator.cpp
-
void initializeFixupStatepointCallerSavedLegacyPassOnce (PassRegistry & Registry)Defined at line 91 of file llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
-
bool operationsAreFoldableAndCommutative (LocationAtom Operator1, LocationAtom Operator2)Returns true if the two operations
and
are
commutative and can be folded.
Defined at line 91 of file llvm/lib/IR/DIExpressionOptimizer.cpp
-
std::array<CallbackAndCookie, MaxSignalHandlerCallbacks> & CallBacksToRun ()A global array of CallbackAndCookie may not compile with
-Werror=global-constructors in c++20 and above
Defined at line 91 of file llvm/lib/Support/Signals.cpp
-
int writeUint64 (raw_ostream & OS, uint64_t Value)Defined at line 91 of file llvm/lib/ObjectYAML/WasmEmitter.cpp
-
void declareInstExpansion (CodeExpansions & CE, const BuildMIAction & A, StringRef Name)Defined at line 91 of file llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
-
void reportError (StringRef Input, Error Err)Defined at line 91 of file llvm/tools/obj2yaml/obj2yaml.cpp
-
bool isUnmergeableGlobal (GlobalVariable * GV, const SmallPtrSetImpl<const GlobalValue *> & UsedGlobals)Defined at line 91 of file llvm/lib/Transforms/IPO/ConstantMerge.cpp
-
void makeAbsolute (vfs::FileSystem & VFS, SmallVectorImpl<char> & Path)Make Path absolute.
Defined at line 91 of file llvm/lib/Support/FileCollector.cpp
-
void dumpLocationExpr (raw_ostream & OS, const DWARFFormValue & FormValue, DWARFUnit * U, unsigned int Indent, DIDumpOptions DumpOpts)Defined at line 91 of file llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
-
uint64_t getSectionFlagsPreserveMask (uint64_t OldFlags, uint64_t NewFlags, uint16_t EMachine)Defined at line 91 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
void StripTypeNames (Module & M, bool PreserveDbgInfo)Strip any named types of their names.
Defined at line 91 of file llvm/lib/Transforms/IPO/StripSymbols.cpp
-
bool isCallableFunction (const MachineFunction & MF)Return true if it is useful to track the used registers for IPRA / no CSR
optimizations. This is not useful for entry points, and computing the
register usage information is expensive.
Defined at line 91 of file llvm/lib/CodeGen/RegUsageInfoCollector.cpp
-
int64_t getDynAllocaAmount (MachineInstr * MI, MachineRegisterInfo * MRI)Return the allocation amount for a DynAlloca instruction, or -1 if unknown.
Defined at line 91 of file llvm/lib/Target/X86/X86DynAllocaExpander.cpp
-
OptimizationRemarkAnalysis createHWLoopAnalysis (StringRef RemarkName, Loop * L, Instruction * I)Defined at line 91 of file llvm/lib/CodeGen/HardwareLoops.cpp
-
void strings (raw_ostream & OS, StringRef FileName, StringRef Contents)Defined at line 91 of file llvm/tools/llvm-strings/llvm-strings.cpp
-
void initializeGCEmptyBasicBlocksPassOnce (PassRegistry & Registry)Defined at line 92 of file llvm/lib/CodeGen/GCEmptyBasicBlocks.cpp
-
LLVMTypeRef LLVMIntPtrTypeForASInContext (LLVMContextRef C, LLVMTargetDataRef TD, unsigned int AS)Returns the integer type that is the same size as a pointer on a target.
This version allows the address space to be specified.
See the method llvm::DataLayout::getIntPtrType.
Defined at line 92 of file llvm/lib/Target/Target.cpp
-
bool isHeaderBB (BasicBlock * BB, Loop * L)Defined at line 92 of file llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
-
Constant * getSafeDivisor (Type * DivTy)Defined at line 92 of file llvm/lib/CodeGen/ExpandVectorPredication.cpp
-
void initializeIndirectBrExpandLegacyPassPassOnce (PassRegistry & Registry)Defined at line 92 of file llvm/lib/CodeGen/IndirectBrExpandPass.cpp
-
uint8_t * memAllocateData (void * Opaque, uintptr_t Size, unsigned int Align, unsigned int Id, const char * Name, LLVMBool ReadOnly)Defined at line 92 of file llvm/examples/OrcV2Examples/OrcV2CBindingsMCJITLikeMemoryManager/OrcV2CBindingsMCJITLikeMemoryManager.c
-
uint32_t getTime ()Defined at line 92 of file llvm/tools/llvm-cvtres/llvm-cvtres.cpp
-
void setDescendantEHBlocksCold (MachineFunction & MF)setDescendantEHBlocksCold - This splits all EH pads and blocks reachable
only by EH pad as cold. This will help mark EH pads statically cold
instead of relying on profile data.
Defined at line 92 of file llvm/lib/CodeGen/MachineFunctionSplitter.cpp
-
void collectCopies (SmallVectorImpl<Register> & Copies, MachineFunction * MF)Defined at line 92 of file llvm/unittests/CodeGen/GlobalISel/GISelMITest.h
-
void printInstructionInformation (const FileAnalysis & Analysis, const Instr & InstrMeta, const GraphResult & Graph, CFIProtectionStatus ProtectionStatus)Defined at line 92 of file llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp
-
pair splitLiteralAndReplacement (StringRef Fmt)Defined at line 92 of file llvm/lib/Support/FormatVariadic.cpp
-
void initializeCFIFixupPassOnce (PassRegistry & Registry)Defined at line 93 of file llvm/lib/CodeGen/CFIFixup.cpp
-
LLVMRemarkStringRef LLVMRemarkArgGetValue (LLVMRemarkArgRef Arg)Returns the value of an argument. This is a string that can contain newlines.
Defined at line 93 of file llvm/lib/Remarks/Remark.cpp
-
bool isAsmComment (const char * Str, const MCAsmInfo & MAI)Defined at line 93 of file llvm/lib/CodeGen/TargetInstrInfo.cpp
-
bool operator== (const MergedFunctionsInfo & LHS, const MergedFunctionsInfo & RHS)Defined at line 93 of file llvm/lib/DebugInfo/GSYM/MergedFunctionsInfo.cpp
-
uint64_t getCIEId (bool IsDWARF64, bool IsEH)Returns the CIE identifier to be used by the requested format.
CIE ids for .debug_frame sections are defined in Section 7.24 of DWARFv5.
For CIE ID in .eh_frame sections see
https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html
Defined at line 93 of file llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
-
void emitConstantPool (MCStreamer & Streamer, MCSection * Section, ConstantPool & CP)Defined at line 93 of file llvm/lib/MC/ConstantPools.cpp
-
bool domTreeLevelBefore (DominatorTree * DT, const Instruction * InstA, const Instruction * InstB)Defined at line 93 of file llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
-
Error readGSIHashHeader (const GSIHashHeader *& HashHdr, BinaryStreamReader & Reader)Defined at line 93 of file llvm/lib/DebugInfo/PDB/Native/GlobalsStream.cpp
-
void rewriteComdat (Module & M, GlobalObject * GO, const std::string & Source, const std::string & Target)Defined at line 93 of file llvm/lib/Transforms/Utils/SymbolRewriter.cpp
-
bool isConstantIntVector (Value * Mask)Defined at line 93 of file llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
-
bool isCodeViewDebugSubsection (SectionRef Section, StringRef Name, BinaryStreamReader & Reader)Defined at line 93 of file llvm/lib/DebugInfo/PDB/Native/InputFile.cpp
-
void restoreSSA (const DominatorTree & DT, const Loop * L, SmallVectorImpl<BasicBlock *> & Incoming, BasicBlock * LoopExitBlock)The current transform introduces new control flow paths which may break the
SSA requirement that every def must dominate all its uses. For example,
consider a value D defined inside the loop that is used by some instruction
U outside the loop. It follows that D dominates U, since the original
program has valid SSA form. After merging the exits, all paths from D to U
now flow through the unified exit block. In addition, there may be other
paths that do not pass through D, but now reach the unified exit
block. Thus, D no longer dominates U.
Restore the dominance by creating a phi for each such D at the new unified
loop exit. But when doing this, ignore any uses U that are in the new unified
loop exit, since those were introduced specially when the block was created.
The use of SSAUpdater seems like overkill for this operation. The location
for creating the new PHI is well-known, and also the set of incoming blocks
to the new PHI.
Defined at line 93 of file llvm/lib/Transforms/Utils/UnifyLoopExits.cpp
-
Expected getCUIdentifiers (InfoSectionUnitHeader & Header, StringRef Abbrev, StringRef Info, StringRef StrOffsets, StringRef Str)Defined at line 93 of file llvm/lib/DWP/DWP.cpp
-
void updateAndRemoveSymbols (const CommonConfig & Config, const MachOConfig & MachOConfig, Object & Obj)Defined at line 93 of file llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
-
void initializeMachineDominatorTreeWrapperPassPassOnce (PassRegistry & Registry)Defined at line 94 of file llvm/lib/CodeGen/MachineDominators.cpp
-
void initializeMachineLateInstrsCleanupLegacyPassOnce (PassRegistry & Registry)Defined at line 94 of file llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
-
void initializeDAEPassOnce (PassRegistry & Registry)Defined at line 94 of file llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
-
bool setOnlyAccessesInaccessibleMemory (Function & F)Defined at line 94 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
Register buildLogBase2 (Register V, MachineIRBuilder & MIB)Determines the LogBase2 value for a non-null input value using the
transform: LogBase2(V) = (EltBits - 1) - ctlz(V).
Defined at line 94 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
Cursor skipComment (Cursor C)Skip a line comment and return the updated cursor.
Defined at line 94 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
int32_t readFloat32 (WasmObjectFile::ReadContext & Ctx)Defined at line 94 of file llvm/lib/Object/WasmObjectFile.cpp
-
uint64_t XXH64_avalanche (uint64_t hash)Defined at line 94 of file llvm/lib/Support/xxhash.cpp
-
basic_string modifierOptions (ModifierOptions Options)Defined at line 94 of file llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
-
xmlAttrPtr getAttribute (xmlNodePtr Node, const unsigned char * AttributeName)Defined at line 94 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
template <typename KeyTy>void RemoveFromReverseMap (int & ReverseMap, Instruction * Inst, KeyTy Val)This is a helper function that removes Val from 'Inst's set in ReverseMap.
If the set becomes empty, remove Inst's entry.
Defined at line 94 of file llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
-
const CodeGenInstruction & getInstrForIntrinsic (const CodeGenTarget & CGT, const CodeGenIntrinsic * I)Defined at line 94 of file llvm/utils/TableGen/Common/GlobalISel/PatternParser.cpp
-
void emitMisexpectDiagnostic (const Instruction * I, LLVMContext & Ctx, uint64_t ProfCount, uint64_t TotalCount)Defined at line 94 of file llvm/lib/Transforms/Utils/MisExpect.cpp
-
void runAllDeltaPasses (TestRunner & Tester, const SmallStringSet & SkipPass)Defined at line 94 of file llvm/tools/llvm-reduce/DeltaManager.cpp
-
basic_string formatSymbol (StringRef Name, uint64_t Address, uint64_t Offset)Defined at line 94 of file llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp
-
template <typename T>void print (const Request & Request, Expected<T> & ResOrErr, DIPrinter & Printer)Defined at line 94 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
template <IR IRTy>void SBoxIRCreation (benchmark::State & State)Defined at line 94 of file llvm/benchmarks/SandboxIRBench.cpp
-
Constant * getTrue (Type * Ty)For a boolean type or a vector of boolean type, return true or a vector
with every element true.
Defined at line 95 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void initializeLowerAtomicLegacyPassPassOnce (PassRegistry & Registry)Defined at line 95 of file llvm/lib/Transforms/Scalar/LowerAtomicPass.cpp
-
bool isValidRegDef (const MachineOperand & MO)Defined at line 95 of file llvm/lib/CodeGen/ReachingDefAnalysis.cpp
-
bool shouldRemoveArguments (const Function & F)Returns whether or not this function should be considered a candidate for
argument removal. Currently, functions with no arguments and intrinsics are
not considered. Intrinsics aren't considered because their signatures are
fixed.
Defined at line 95 of file llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
-
LLVMContext & getGlobalContext ()===-- Operations on contexts --------------------------------------------===
Defined at line 95 of file llvm/lib/IR/Core.cpp
-
void addBlockLiveOuts (LiveRegUnits & LiveUnits, const MachineBasicBlock & MBB)Add live-out registers of basic block
to
Defined at line 95 of file llvm/lib/CodeGen/LiveRegUnits.cpp
-
bool containsAMXCode (Function & F)Defined at line 95 of file llvm/lib/Target/X86/X86LowerAMXType.cpp
-
uint32_t handleBaseClass (ArrayRef Data, uint32_t Offset, SmallVectorImpl<TiReference> & Refs)Defined at line 95 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
void setCondition (Instruction * I, Value * NewCond)Set the condition for
to
can either be a guard or a
conditional branch.
Defined at line 95 of file llvm/lib/Transforms/Scalar/GuardWidening.cpp
-
void setConstantInArgument (CallBase & CB, Value * Op, Constant * ConstValue)Defined at line 95 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
bool ByteArrayFromString (ByteArrayTy & ByteArray, StringRef & Str, SourceMgr & SM)Defined at line 95 of file llvm/tools/llvm-ml/Disassembler.cpp
-
Error readBinaryIdsInternal (const MemoryBuffer & DataBuffer, ArrayRef BinaryIdsBuffer, std::vector<llvm::object::BuildID> & BinaryIds, endianness Endian)Read a list of binary ids from a profile that consist of
a. uint64_t binary id length
b. uint8_t binary id data
c. uint8_t padding (if necessary)
This function is shared between raw and indexed profiles.
Raw profiles are in host-endian format, and indexed profiles are in
little-endian format. So, this function takes an argument indicating the
associated endian format to read the binary ids correctly.
Defined at line 95 of file llvm/lib/ProfileData/InstrProfReader.cpp
-
void RewriteUsesOfClonedInstructions (BasicBlock * OrigHeader, BasicBlock * OrigPreheader, ValueToValueMapTy & ValueMap, ScalarEvolution * SE, SmallVectorImpl<PHINode *> * InsertedPHIs)RewriteUsesOfClonedInstructions - We just cloned the instructions from the
old header into the preheader. If there were uses of the values produced by
these instruction that were outside of the loop, we have to insert PHI nodes
to merge the two values. Do this now.
Defined at line 95 of file llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
-
unsigned long long LLVMSizeOfTypeInBits (LLVMTargetDataRef TD, LLVMTypeRef Ty)Computes the size of a type in bits for a target.
See the method llvm::DataLayout::getTypeSizeInBits.
Defined at line 96 of file llvm/lib/Target/Target.cpp
-
void initializeX86FastPreTileConfigPassOnce (PassRegistry & Registry)Defined at line 96 of file llvm/lib/Target/X86/X86FastPreTileConfig.cpp
-
void addLoopIntoQueue (Loop * L, std::deque<Loop *> & LQ)Recurse through all subloops and all loops into LQ.
Defined at line 96 of file llvm/lib/Analysis/LoopPass.cpp
-
size_t getLongestEntryLength (ArrayRef Table)Defined at line 96 of file llvm/lib/MC/MCSubtargetInfo.cpp
-
const Function * findCalledFunction (const Module & M, const MachineInstr & MI)Assumes call instructions have a single reference to a function.
Defined at line 96 of file llvm/lib/CodeGen/RegUsageInfoPropagate.cpp
-
basic_string percentDecode (StringRef Content)Decodes a string according to percent-encoding.
Defined at line 96 of file llvm/lib/Support/LSP/Protocol.cpp
-
const char * getSectionPtr (const MachOObjectFile & O, LoadCommandInfo L, unsigned int Sec)Defined at line 96 of file llvm/lib/Object/MachOObjectFile.cpp
-
Constant * getConstantAt (Value * V, Instruction * At, LazyValueInfo * LVI)Defined at line 96 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void checkConcrete (Record & R)Defined at line 96 of file llvm/lib/TableGen/TGParser.cpp
-
Expected readData (DataExtractor & Extractor, uint64_t & Offset)Defined at line 96 of file llvm/lib/XRay/Profile.cpp
-
void addByteCountSuffix (raw_ostream & OS, const Function * F, const DataLayout & DL)Microsoft fastcall and stdcall functions require a suffix on their name
indicating the number of words of arguments they take.
Defined at line 96 of file llvm/lib/IR/Mangler.cpp
-
void output_root_bytes (const output_t * self, uint64_t seek, uint8_t * out, size_t out_len)Defined at line 96 of file llvm/lib/Support/BLAKE3/blake3.c
-
void multikeySort (MutableArrayRef Vec, int Pos)Three-way radix quicksort. This is much faster than std::sort with strcmp
because it does not compare characters that we already know the same.
Defined at line 96 of file llvm/lib/MC/StringTableBuilder.cpp
-
int main (int argc, char ** argv)Defined at line 96 of file llvm/tools/llvm-undname/llvm-undname.cpp
-
bool isValidWorkshareLoopScheduleType (OMPScheduleType SchedType)Defined at line 96 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
bool bitTrackingDCE (Function & F, DemandedBits & DB)Defined at line 96 of file llvm/lib/Transforms/Scalar/BDCE.cpp
-
void initializeX86ReturnThunksPassOnce (PassRegistry & Registry)Defined at line 97 of file llvm/lib/Target/X86/X86ReturnThunks.cpp
-
void LLVMDisposeGenericValue (LLVMGenericValueRef GenVal)Defined at line 97 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
bool isPrologueCFIInstruction (const MachineInstr & MI)Defined at line 97 of file llvm/lib/CodeGen/CFIFixup.cpp
-
void initializeCallBrPreparePassOnce (PassRegistry & Registry)Defined at line 97 of file llvm/lib/CodeGen/CallBrPrepare.cpp
-
unsigned int getRegisterSize (const TargetRegisterInfo & TRI, Register Reg)Utility function to get size of the register.
Defined at line 97 of file llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
-
void LLVMInitializeAllTargetMCs ()LLVMInitializeAllTargetMCs - The main program should call this function if
it wants access to all available target MC that LLVM is configured to
support.
Defined at line 97 of file llvm/include/llvm-c/Target.h
-
void LLVMInitializeAllTargetMCs ()LLVMInitializeAllTargetMCs - The main program should call this function if
it wants access to all available target MC that LLVM is configured to
support.
Defined at line 97 of file llvm/include/llvm-c/Target.h
-
LLVMRemarkDebugLocRef LLVMRemarkArgGetDebugLoc (LLVMRemarkArgRef Arg)Returns the debug location that is attached to the value of this argument.
If there is no debug location, the return value will be `NULL`.
Defined at line 97 of file llvm/lib/Remarks/Remark.cpp
-
Type * getPromotedType (Type * Ty)Return the specified type promoted as it would be to pass though a va_arg
area.
Defined at line 97 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
void exitWithError (Error E, StringRef Whence)Defined at line 97 of file llvm/tools/llvm-cgdata/llvm-cgdata.cpp
-
unsigned int getNumUsedSlots (const UnwindCode & UnwindCode)Calculates the number of array slots required for the unwind code.
Defined at line 97 of file llvm/tools/llvm-readobj/Win64EHDumper.cpp
-
bool IVUseShouldUsePostIncValue (Instruction * User, Value * Operand, const Loop * L, DominatorTree * DT)IVUseShouldUsePostIncValue - We have discovered a "User" of an IV expression
and now we need to decide whether the user should use the preinc or post-inc
value. If this user should use the post-inc version of the IV, return true.
Choosing wrong here can break dominance properties (if we choose to use the
post-inc value when we cannot) or it can end up adding extra live-ranges to
the loop, resulting in reg-reg copies (if we use the pre-inc value when we
should use the post-inc value).
Defined at line 97 of file llvm/lib/Analysis/IVUsers.cpp
-
bool getWindowsSDKDirViaCommandLine (llvm::vfs::FileSystem & VFS, optional WinSdkDir, optional WinSdkVersion, optional WinSysRoot, std::string & Path, int & Major, std::string & Version)Defined at line 97 of file llvm/lib/WindowsDriver/MSVCPaths.cpp
-
bool handleInstructionWithEGPR (MachineFunction & MF, const X86Subtarget & ST)Defined at line 97 of file llvm/lib/Target/X86/X86SuppressAPXForReloc.cpp
-
template <class ELFT>Error getRelocationValueString (const ELFObjectFile<ELFT> * Obj, const RelocationRef & RelRef, SmallVectorImpl<char> & Result)Defined at line 97 of file llvm/tools/llvm-objdump/ELFDump.cpp
-
OrderMap orderModule (const Module & M)Defined at line 97 of file llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
-
LoopExpansionInfo insertLoopExpansion (Instruction * InsertBefore, Value * Len, unsigned int MainLoopStep, unsigned int ResidualLoopStep, StringRef BBNamePrefix)Insert the control flow and loop counters for a memcpy/memset loop
expansion.
This function inserts IR corresponding to the following C code before
and
determine by how many "units" the
loop index is increased in each iteration of the main and residual loops,
respectively. In most cases, the "unit" will be bytes, but larger units are
useful for lowering memset.pattern.
The computation of
and
is performed at compile
time if
is a
The second (residual) loop is omitted if
is 0 or equal
to
The generated
and
are returned in a
object.
Code
LoopUnits = (Len / MainLoopStep) * MainLoopStep; ResidualUnits = Len - LoopUnits; MainLoopIndex = 0; if (LoopUnits > 0) { do { // MainLoopIP MainLoopIndex += MainLoopStep; } while (MainLoopIndex < LoopUnits); } for (size_t i = 0; i < ResidualUnits; i += ResidualLoopStep) { ResidualLoopIndex = LoopUnits + i; // ResidualLoopIP }Defined at line 97 of file llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
-
void initializeSjLjEHPreparePassOnce (PassRegistry & Registry)Defined at line 98 of file llvm/lib/CodeGen/SjLjEHPrepare.cpp
-
void consumeOneOperator (DIExpressionCursor & Cursor, uint64_t & Loc, const DIExpression::ExprOperand & Op)Consume one operator and its operand(s).
Defined at line 98 of file llvm/lib/IR/DIExpressionOptimizer.cpp
-
int writeUint32 (raw_ostream & OS, uint32_t Value)Defined at line 98 of file llvm/lib/ObjectYAML/WasmEmitter.cpp
-
void BM_LookupRuntimeLibcallByNameSampleData (benchmark::State & State)This isn't fully representative, it doesn't include any anonymous functions.
nm -n --no-demangle --format=just-symbols sample-binary > sample.txt
Defined at line 98 of file llvm/benchmarks/RuntimeLibcalls.cpp
-
bool isSameCompare (Value * V, CmpPredicate Pred, Value * LHS, Value * RHS)isSameCompare - Is V equivalent to the comparison "LHS Pred RHS"?
Defined at line 98 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void transferDecorations (Value & NewVal, VPIntrinsic & VPI)Transfer operation properties from
to
Defined at line 98 of file llvm/lib/CodeGen/ExpandVectorPredication.cpp
-
void declareOperandExpansion (CodeExpansions & CE, const OperandMatcher & OM, StringRef Name)Defined at line 98 of file llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
-
bool isArtifact (const MachineInstr & MI)Defined at line 98 of file llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
-
LLVMBool memFinalize (void * Opaque, char ** Err)Defined at line 98 of file llvm/examples/OrcV2Examples/OrcV2CBindingsMCJITLikeMemoryManager/OrcV2CBindingsMCJITLikeMemoryManager.c
-
bool hasAnyUnrollPragma (const Loop * L, StringRef Prefix)Returns true if the loop has any metadata starting with Prefix. For example a
Prefix of "llvm.loop.unroll." returns true if we have any unroll metadata.
Defined at line 98 of file llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
-
basic_string searchForExe (StringRef Path, StringRef Extension)Search for a matching executable image for the given PDB path.
Defined at line 98 of file llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
-
void emitDisassembler (const RecordKeeper & Records, raw_ostream & OS)X86 Disassembler Emitter
*** IF YOU'RE HERE TO RESOLVE A "Primary decode conflict", LOOK DOWN NEAR
THE END OF THIS COMMENT!
The X86 disassembler emitter is part of the X86 Disassembler, which is
documented in lib/Target/X86/X86Disassembler.h.
The emitter produces the tables that the disassembler uses to translate
instructions. The emitter generates the following tables:
- One table (CONTEXTS_SYM) that contains a mapping of attribute masks to
instruction contexts. Although for each attribute there are cases where
that attribute determines decoding, in the majority of cases decoding is
the same whether or not an attribute is present. For example, a 64-bit
instruction with an OPSIZE prefix and an XS prefix decodes the same way in
all cases as a 64-bit instruction with only OPSIZE set. (The XS prefix
may have effects on its execution, but does not change the instruction
returned.) This allows considerable space savings in other tables.
- Six tables (ONEBYTE_SYM, TWOBYTE_SYM, THREEBYTE38_SYM, THREEBYTE3A_SYM,
THREEBYTEA6_SYM, and THREEBYTEA7_SYM contain the hierarchy that the
decoder traverses while decoding an instruction. At the lowest level of
this hierarchy are instruction UIDs, 16-bit integers that can be used to
uniquely identify the instruction and correspond exactly to its position
in the list of CodeGenInstructions for the target.
- One table (INSTRUCTIONS_SYM) contains information about the operands of
each instruction and how to decode them.
During table generation, there may be conflicts between instructions that
occupy the same space in the decode tables. These conflicts are resolved as
follows in setTableFields() (X86DisassemblerTables.cpp)
- If the current context is the native context for one of the instructions
(that is, the attributes specified for it in the LLVM tables specify
precisely the current context), then it has priority.
- If the current context isn't native for either of the instructions, then
the higher-priority context wins (that is, the one that is more specific).
That hierarchy is determined by outranks() (X86DisassemblerTables.cpp)
- If the current context is native for both instructions, then the table
emitter reports a conflict and dies.
*** RESOLUTION FOR "Primary decode conflict"S
If two instructions collide, typically the solution is (in order of
likelihood):
(1) to filter out one of the instructions by editing filter()
(X86RecognizableInstr.cpp). This is the most common resolution, but
check the Intel manuals first to make sure that (2) and (3) are not the
problem.
(2) to fix the tables (X86.td and its subsidiaries) so the opcodes are
accurate. Sometimes they are not.
(3) to fix the tables to reflect the actual context (for example, required
prefixes), and possibly to add a new context by editing
include/llvm/Support/X86DisassemblerDecoderCommon.h. This is unlikely
to be the cause.
DisassemblerEmitter.cpp contains the implementation for the emitter,
which simply pulls out instructions from the CodeGenTarget and pushes them
into X86DisassemblerTables.
X86DisassemblerTables.h contains the interface for the instruction tables,
which manage and emit the structures discussed above.
X86DisassemblerTables.cpp contains the implementation for the instruction
tables.
X86ModRMFilters.h contains filters that can be used to determine which
ModR/M values are valid for a particular instruction. These are used to
populate ModRMDecisions.
X86RecognizableInstr.h contains the interface for a single instruction,
which knows how to translate itself from a CodeGenInstruction and provide
the information necessary for integration into the tables.
X86RecognizableInstr.cpp contains the implementation for a single
instruction.
Defined at line 98 of file llvm/utils/TableGen/DisassemblerEmitter.cpp
-
void identifyFunction (OptimizationRemark & R, const Function & F)Defined at line 99 of file llvm/lib/Analysis/KernelInfo.cpp
-
const char * LLVMGetTargetName (LLVMTargetRef T)Returns the name of a target. See llvm::Target::getName
Defined at line 99 of file llvm/lib/Target/TargetMachineC.cpp
-
template <typename T>T error (Expected<T> EC)Defined at line 99 of file llvm/tools/llvm-cvtres/llvm-cvtres.cpp
-
void reportError (Twine Message, int ExitCode)Handle error reporting in cases where `ExitOnError` is not used.
Defined at line 99 of file llvm/tools/llvm-readtapi/llvm-readtapi.cpp
-
unsigned int getBitWidth (Type * Ty, const DataLayout & DL)Returns the bitwidth of the given scalar or pointer type. For vector types,
returns the element type's bitwidth.
Defined at line 99 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool isValidRegDefOf (const MachineOperand & MO, Register Reg, const TargetRegisterInfo * TRI)Defined at line 99 of file llvm/lib/CodeGen/ReachingDefAnalysis.cpp
-
uint32_t sizeOfPublic (const BulkPublic & Pub)Calculate how much memory this public needs when serialized.
Defined at line 99 of file llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
-
void EmitAbsDifference (MCStreamer & Streamer, const MCSymbol * LHS, const MCSymbol * RHS)Defined at line 99 of file llvm/lib/MC/MCWin64EH.cpp
-
bool upgradeX86MaskedFPCompare (Function * F, Intrinsic::ID IID, Function *& NewFn)Upgrade the declaration of fp compare intrinsics that change return type
from scalar to vXi1 mask.
Defined at line 99 of file llvm/lib/IR/AutoUpgrade.cpp
-
bool allFuncUsersRewritable (const Function & F)Defined at line 99 of file llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
-
Error executeObjcopyOnRawBinary (ConfigManager & ConfigMgr, MemoryBuffer & In, raw_ostream & Out)The function executeObjcopyOnRawBinary does the dispatch based on the format
of the output specified by the command line options.
Defined at line 99 of file llvm/tools/llvm-objcopy/llvm-objcopy.cpp
-
unsigned int highest_one (uint64_t x)Find index of the highest set bit
x is assumed to be nonzero.
Defined at line 99 of file llvm/lib/Support/BLAKE3/blake3_impl.h
-
void printMArch (raw_ostream & OS, ArrayRef Features)We can generate march string from target features as what has been described
in RISC-V ISA specification (version 20191213) 'Chapter 27. ISA Extension
Naming Conventions'.
This is almost the same as RISCVFeatures::parseFeatureBits, except that we
get feature name from feature records instead of feature bits.
Defined at line 99 of file llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
-
Value * generateSignedDivisionCode (Value * Dividend, Value * Divisor, IRBuilder<> & Builder)Generate code to divide two signed integers. Returns the quotient, rounded
towards 0. Builder's insert point should be pointing where the caller wants
code generated, e.g. at the sdiv instruction. This will generate a udiv in
the process, and Builder's insert point will be pointing at the udiv (if
present, i.e. not folded), ready to be expanded if the user wishes.
Defined at line 99 of file llvm/lib/Transforms/Utils/IntegerDivision.cpp
-
pair computeRecurrenceType (Instruction * Exit, DemandedBits * DB, AssumptionCache * AC, DominatorTree * DT)Compute the minimal bit width needed to represent a reduction whose exit
instruction is given by Exit.
Defined at line 99 of file llvm/lib/Analysis/IVDescriptors.cpp
-
ProfileKind getProfileKind (ArchKind AK)Defined at line 99 of file llvm/lib/TargetParser/ARMTargetParser.cpp
-
void initializeLiveDebugValuesLegacyPassOnce (PassRegistry & Registry)Defined at line 100 of file llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
-
unsigned long long LLVMStoreSizeOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)Computes the storage size of a type in bytes for a target.
See the method llvm::DataLayout::getTypeStoreSize.
Defined at line 100 of file llvm/lib/Target/Target.cpp
-
void initializeLowerIntrinsicsPassOnce (PassRegistry & Registry)-----------------------------------------------------------------------------
Defined at line 100 of file llvm/lib/CodeGen/GCRootLowering.cpp
-
uint64_t timespec_to_ns (const struct timespec * TS)Defined at line 100 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
void finishAdjustingBasicBlocksAndLandingPads (MachineFunction & MF)Defined at line 100 of file llvm/lib/CodeGen/MachineFunctionSplitter.cpp
-
basic_string replaceIllegalFilenameChars (basic_string Filename, const char ReplacementChar)Defined at line 100 of file llvm/lib/Support/GraphWriter.cpp
-
bool canTRE (Function & F)Scan the specified function for alloca instructions.
If it contains any dynamic allocas, returns false.
Defined at line 100 of file llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
-
int GetOutputStream (StringRef Path)Defined at line 100 of file llvm/tools/llvm-ml/llvm-ml.cpp
-
void PrintCurStackTrace (raw_ostream & OS)Print the current stack trace to the specified stream.
Marked NOINLINE so it can be called from debuggers.
Defined at line 100 of file llvm/lib/Support/PrettyStackTrace.cpp
-
int openFile (const Twine & Path)Opens a file. Path has to be resolved already. (used for def file)
Defined at line 100 of file llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
-
bool needsPrologueENDBR (MachineFunction & MF, const Module * M)Checks if function should have an ENDBR in its prologue
Defined at line 100 of file llvm/lib/Target/X86/X86IndirectBranchTracking.cpp
-
bool partitionOuterLoopBlocks (Loop & Root, Loop & JamLoop, BasicBlockSet & JamLoopBlocks, DenseMap<Loop *, BasicBlockSet> & ForeBlocksMap, DenseMap<Loop *, BasicBlockSet> & AftBlocksMap, DominatorTree & DT)Partition blocks in a loop nest into blocks before and after each inner
loop.
Defined at line 100 of file llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
-
void llvm_blake3_compress_xof_portable (const uint32_t[8] cv, const uint8_t[64] block, uint8_t block_len, uint64_t counter, uint8_t flags, uint8_t[64] out)Defined at line 100 of file llvm/lib/Support/BLAKE3/blake3_portable.c
-
bool removeDeadBlocks_v2 (Function & F, DominatorTree & DT)Remove trivially dead blocks. This is the second version and preserves the
dominator tree.
Defined at line 100 of file llvm/examples/IRTransforms/SimplifyCFG.cpp
-
Value * foldMulSelectToNegate (BinaryOperator & I, InstCombiner::BuilderTy & Builder)TODO: This is a specific form of a much more general pattern.
We could detect a select with any binop identity constant, or we
could use SimplifyBinOp to see if either arm of the select reduces.
But that needs to be done carefully and/or while removing potential
reverse canonicalizations as in InstCombiner::foldSelectIntoOp().
Defined at line 100 of file llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
-
template <bool DbgAssignAndValuesOnly>void findDbgIntrinsics (Value * V, SmallVectorImpl<DbgVariableRecord *> & DbgVariableRecords)Defined at line 100 of file llvm/lib/IR/DebugInfo.cpp
-
bool replaceWithCallToVeclib (const TargetLibraryInfo & TLI, IntrinsicInst * II)Returns true when successfully replaced
which is a call to a
vectorized intrinsic, with a suitable function taking vector arguments,
based on available mappings in the
Defined at line 100 of file llvm/lib/CodeGen/ReplaceWithVeclib.cpp
-
int32_t return1 ()Defined at line 101 of file llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp
-
void initializeStripDebugMachineModulePassOnce (PassRegistry & Registry)Defined at line 101 of file llvm/lib/CodeGen/MachineStripDebug.cpp
-
bool setOnlyReadsMemory (Function & F)Defined at line 101 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void error (const Twine & Message, StringRef File)Defined at line 101 of file llvm/tools/llvm-size/llvm-size.cpp
-
raw_ostream & printPrintableName (raw_ostream & OS, StringRef Name)Return Name, and if Name is mangled, append "aka" and the demangled name.
Defined at line 101 of file llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp
-
Value * createByteGEP (IRBuilderBase & IRB, const DataLayout & DL, Value * Ptr, Type * ResElemTy, int64_t Offset)Defined at line 101 of file llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
-
bool isKnownLibFunction (Function & F, TargetLibraryInfo & TLI)Defined at line 101 of file llvm/lib/Transforms/IPO/ModuleInliner.cpp
-
void writeStringToFile (StringRef Content, StringRef Path)Defined at line 101 of file llvm/tools/llvm-split/llvm-split.cpp
-
bool dominates (MachineBasicBlock & MBB, int A, int B)Defined at line 101 of file llvm/lib/Target/X86/X86FastPreTileConfig.cpp
-
bool hasNoSimpleLoops (const LegalizeRule & Rule, const LegalityQuery & Q, const std::pair<unsigned int, LLT> & Mutation)Make sure the rule won't (trivially) loop forever.
Defined at line 101 of file llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
-
std::optional<TypeSize> getObjectSize (const Value * V, const DataLayout & DL, const TargetLibraryInfo & TLI, bool NullIsValidLoc, bool RoundToAlign)Returns the size of the object specified by V or UnknownSize if unknown.
Defined at line 101 of file llvm/lib/Analysis/BasicAliasAnalysis.cpp
-
void writePaxHeader (raw_fd_ostream & OS, StringRef Path)Create a tar header and write it to a given output stream.
Defined at line 101 of file llvm/lib/Support/TarWriter.cpp
-
void initializeFileAndStringTable (const llvm::object::COFFObjectFile & Obj, codeview::StringsAndChecksumsRef & SC)Defined at line 101 of file llvm/tools/obj2yaml/coff2yaml.cpp
-
int CheckChunk (Chunk ChunkToCheckForUninterestingness, int Clone, const TestRunner & Test, ReductionFunc ExtractChunksFromModule, const int & UninterestingChunks, const int & ChunksStillConsideredInteresting)Check if
is interesting. Returns the
modified module if the chunk resulted in a reduction.
Defined at line 101 of file llvm/tools/llvm-reduce/deltas/Delta.cpp
-
int32_t return2 ()Defined at line 102 of file llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp
-
void initializeUnreachableMachineBlockElimLegacyPassOnce (PassRegistry & Registry)Defined at line 102 of file llvm/lib/CodeGen/UnreachableBlockElim.cpp
-
bool isCodeMotionBarrier (MachineInstr & MI)Returns whether this instruction is considered a code motion barrier by this
pass. We can be less conservative than hasUnmodeledSideEffects() when
deciding whether an instruction is a barrier because it is known that pseudo
probes are safe to move in this pass specifically (see commit 1cb47a063e2b).
Defined at line 102 of file llvm/lib/CodeGen/LiveRangeShrink.cpp
-
void helpExit ()Defined at line 102 of file llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
-
bool containsEpilogue (const MachineBasicBlock & MBB)Defined at line 102 of file llvm/lib/CodeGen/CFIFixup.cpp
-
basic_string computeBPFDataLayout (const Triple & TT)DataLayout: little or big endian
Defined at line 102 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
unsigned int getReductionSize ()Defined at line 102 of file llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
-
void addCalleeSavedRegs (LiveRegUnits & LiveUnits, const MachineFunction & MF)Adds all callee saved registers to
Defined at line 102 of file llvm/lib/CodeGen/LiveRegUnits.cpp
-
void buildDebugInfoForNoopResumeDestroyFunc (Function * NoopFn)Defined at line 102 of file llvm/lib/Transforms/Coroutines/CoroEarly.cpp
-
Error ProcessFailure (StringRef ProgPath, ArrayRef Args, unsigned int Timeout, unsigned int MemoryLimit)Defined at line 102 of file llvm/tools/bugpoint/ToolRunner.cpp
-
bool runImpl (Function & F, const TargetLowering * TLI, DomTreeUpdater * DTU)Defined at line 102 of file llvm/lib/CodeGen/IndirectBrExpandPass.cpp
-
void initializeBreakFalseDepsPassOnce (PassRegistry & Registry)Defined at line 103 of file llvm/lib/CodeGen/BreakFalseDeps.cpp
-
const char * LLVMGetTargetDescription (LLVMTargetRef T)Returns the description of a target. See llvm::Target::getDescription
Defined at line 103 of file llvm/lib/Target/TargetMachineC.cpp
-
bool flagIsSet (DWARFVerify Flags, DWARFVerify SingleFlag)Defined at line 103 of file llvm/tools/dsymutil/dsymutil.cpp
-
const GlobalObject * getGVPartitioningRoot (const GlobalValue * GV)Defined at line 103 of file llvm/lib/Transforms/Utils/SplitModule.cpp
-
void emitInclude (StringRef FilenamePrefix, StringRef IncludeFile, StringRef GuardMacro, raw_ostream & OS)Defined at line 103 of file llvm/utils/TableGen/RegisterInfoEmitter.cpp
-
void initializeIRTranslatorPassOnce (PassRegistry & Registry)Defined at line 103 of file llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
-
int64_t readFloat64 (WasmObjectFile::ReadContext & Ctx)Defined at line 103 of file llvm/lib/Object/WasmObjectFile.cpp
-
void removeTailCallAttribute (AllocaInst * Frame, AAResults & AA)Look for any tail calls referencing the coroutine frame and remove tail
attribute from them, since now coroutine frame resides on the stack and tail
call implies that the function does not references anything on the stack.
However if it's a musttail call, we cannot remove the tailcall attribute.
It's safe to keep it there as the musttail call is for symmetric transfer,
and by that point the frame should have been destroyed and hence not
interfering with operands.
Defined at line 103 of file llvm/lib/Transforms/Coroutines/CoroElide.cpp
-
Instruction * splitBeforeCatchSwitch (CatchSwitchInst * CatchSwitch)We need to make room to insert a spill after initial PHIs, but before
catchswitch instruction. Placing it before violates the requirement that
catchswitch, like all other EHPads must be the first nonPHI in a block.
Split away catchswitch into a separate block and insert in its place:
cleanuppad
<InsertPt
> cleanupret.
cleanupret instruction will act as an insert point for the spill.
Defined at line 103 of file llvm/lib/Transforms/Coroutines/SpillUtils.cpp
-
AllocaInst * createAllocaInstAtEntry (int & Builder, BasicBlock * BB, Type * Ty)Defined at line 103 of file llvm/lib/Target/X86/X86LowerAMXType.cpp
-
LLVMBool LLVMCreateExecutionEngineForModule (LLVMExecutionEngineRef * OutEE, LLVMModuleRef M, char ** OutError)===-- Operations on execution engines -----------------------------------===
Defined at line 103 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
Expected loadPdbFile (StringRef PdbPath, std::unique_ptr<BumpPtrAllocator> & Allocator)Defined at line 103 of file llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp
-
pair getCustomCoders (ArrayRef Args)Get the name of custom encoder or decoder, if there is any.
Returns `{encoder name, decoder name}`.
Defined at line 103 of file llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
-
void remarkAlloca (OptimizationRemarkEmitter & ORE, const Function & Caller, const AllocaInst & Alloca, TypeSize::ScalarTy StaticSize)Defined at line 103 of file llvm/lib/Analysis/KernelInfo.cpp
-
bool runOnFunction (Function & F, bool PostInlining)Defined at line 103 of file llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
-
bool SinkInstruction (Instruction * Inst, SmallPtrSetImpl<Instruction *> & Stores, DominatorTree & DT, LoopInfo & LI, AAResults & AA)SinkInstruction - Determine whether it is safe to sink the specified machine
instruction out of its current block into a successor.
Defined at line 103 of file llvm/lib/Transforms/Scalar/Sink.cpp
-
void initializeInitUndefLegacyPassOnce (PassRegistry & Registry)Defined at line 104 of file llvm/lib/CodeGen/InitUndef.cpp
-
void initializeSingleLoopExtractorPassOnce (PassRegistry & Registry)Defined at line 104 of file llvm/lib/Transforms/IPO/LoopExtractor.cpp
-
CanMerge makeMergeable (GlobalVariable * Old, GlobalVariable * New)Defined at line 104 of file llvm/lib/Transforms/IPO/ConstantMerge.cpp
-
void * reenter (void * Ctx, void * TrampolineAddr)Defined at line 104 of file llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp
-
Cursor skipMachineOperandComment (Cursor C)Machine operands can have comments, enclosed between /* and */.
This eats up all tokens, including /* and */.
Defined at line 104 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
Error createResultCachePoisonedError (ArrayRef KeyHash, const CASContext & Context, CASID Output, ArrayRef ExistingOutput)Defined at line 104 of file llvm/lib/CAS/ActionCaches.cpp
-
ConstantAsMetadata * getValMD (MDTuple * MD, const char * Key)Get the value metadata for the input MD/Key.
Defined at line 104 of file llvm/lib/IR/ProfileSummary.cpp
-
Expected createObjectFileFromYamlDescription (const char * YamlCreationString, SmallVector<char> & Storage, function_ref IsValidFormat)Create ObjectFile from
and do validation using
checker.
is a storage for data.
Defined at line 104 of file llvm/unittests/ObjCopy/ObjCopyTest.cpp
-
template <typename T>std::vector<T> & GetOrCreateOffsetCache (void *& OffsetCache, MemoryBuffer * Buffer)Defined at line 104 of file llvm/lib/Support/SourceMgr.cpp
-
bool IsNullTerminatedString (const Constant * C)IsNullTerminatedString - Return true if the specified constant (which is
known to have a type that is an array of 1/2/4 byte elements) ends with a
nul value and contains no other nuls in it. Note that this is more general
than ConstantDataSequential::isString because we allow 2
&
4 byte strings.
Defined at line 104 of file llvm/lib/Target/TargetLoweringObjectFile.cpp
-
const GlobalValueSummary * getFirstDefinitionForLinker (int GVSummaryList)Defined at line 104 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
basic_string formatCallingConvention (CallingConvention Convention)Defined at line 104 of file llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
-
Error dumpDebugARanges (llvm::DWARFContext & DCtx, llvm::DWARFYAML::Data & Y)Defined at line 104 of file llvm/tools/obj2yaml/dwarf2yaml.cpp
-
void Help (ArrayRef CPUNames, ArrayRef FeatTable)Display help for feature and mcpu choices.
Defined at line 104 of file llvm/lib/MC/MCSubtargetInfo.cpp
-
bool runMoveAutoInit (Function & F, DominatorTree & DT, MemorySSA & MSSA)Defined at line 104 of file llvm/lib/Transforms/Utils/MoveAutoInit.cpp
-
void initializeDomViewerWrapperPassPassOnce (PassRegistry & Registry)Defined at line 105 of file llvm/lib/Analysis/DomPrinter.cpp
-
DWARFDie resolveReferencedType (DWARFDie D, DWARFFormValue F)Defined at line 105 of file llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
-
void startFromBeginning (uint64_t & Loc, DIExpressionCursor & Cursor, ArrayRef WorkingOps)Reset the Cursor to the beginning of the WorkingOps.
Defined at line 105 of file llvm/lib/IR/DIExpressionOptimizer.cpp
-
unsigned int getTMMIndex (Register Reg)Defined at line 105 of file llvm/lib/Target/X86/X86FastTileConfig.cpp
-
template <typename T>T error (StringRef Input, Expected<T> EC)Defined at line 105 of file llvm/tools/llvm-cvtres/llvm-cvtres.cpp
-
int writeUint8 (raw_ostream & OS, uint8_t Value)Defined at line 105 of file llvm/lib/ObjectYAML/WasmEmitter.cpp
-
void initializePromoteLegacyPassPassOnce (PassRegistry & Registry)Defined at line 105 of file llvm/lib/Transforms/Utils/Mem2Reg.cpp
-
basic_string print (std::function<void (raw_ostream &)> PrintFn)Helper to dump the printer output into a string.
Defined at line 105 of file llvm/unittests/MIR/MachineMetadata.cpp
-
uint64_t perf_get_timestamp ()Defined at line 105 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
void setSectionType (SectionBase & Sec, uint64_t Type)Defined at line 105 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
uint32_t handleEnumerator (ArrayRef Data, uint32_t Offset, SmallVectorImpl<TiReference> & Refs)Defined at line 105 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
Expected getMachoCPUFromTriple (Triple TT)Defined at line 105 of file llvm/lib/Object/MachOUniversalWriter.cpp
-
LLVMBool LLVMGetBitcodeModuleInContext2 (LLVMContextRef ContextRef, LLVMMemoryBufferRef MemBuf, LLVMModuleRef * OutM)Reads a module from the given memory buffer, returning via the OutMP
parameter a module provider which performs lazy deserialization.
Returns 0 on success.
Takes ownership of
if (and only if) the module was read
successfully.
Defined at line 105 of file llvm/lib/Bitcode/Reader/BitReader.cpp
-
void printInstructionStatus (unsigned int BlameLine, bool CFIProtected, const DILineInfo & LineInfo)Defined at line 105 of file llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp
-
BasicBlock * expandToSwitch (CallBase * CB, const JumpTableTy & JT, DomTreeUpdater & DTU, OptimizationRemarkEmitter & ORE, function_ref GetGuidForFunction)Defined at line 105 of file llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
-
void parseArgs (int argc, char ** argv)Defined at line 105 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
void reportWarning (Twine Message)Handle warnings.
Defined at line 106 of file llvm/tools/llvm-readtapi/llvm-readtapi.cpp
-
unsigned int bigEndianByteAt (const unsigned int ByteWidth, const unsigned int I)E.g. Given a 4-byte type x, x[0] -> byte 3
Defined at line 106 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
void LLVMInitializeAllAsmPrinters ()LLVMInitializeAllAsmPrinters - The main program should call this function if
it wants all asm printers that LLVM is configured to support, to make them
available via the TargetRegistry.
Defined at line 106 of file llvm/include/llvm-c/Target.h
-
void LLVMInitializeAllAsmPrinters ()LLVMInitializeAllAsmPrinters - The main program should call this function if
it wants all asm printers that LLVM is configured to support, to make them
available via the TargetRegistry.
Defined at line 106 of file llvm/include/llvm-c/Target.h
-
void eliminateGuard (Instruction * GuardInst, MemorySSAUpdater * MSSAU)Eliminates the guard instruction properly.
Defined at line 106 of file llvm/lib/Transforms/Scalar/GuardWidening.cpp
-
bool isFIDef (const MachineInstr & MI, int FrameIndex, const TargetInstrInfo * TII)Defined at line 106 of file llvm/lib/CodeGen/ReachingDefAnalysis.cpp
-
bool containsReg (SmallSetVector<Register, 32> LocalDefsV, const BitVector & LocalDefsP, Register Reg, const TargetRegisterInfo * TRI)Check if target reg is contained in given lists, which are:
LocalDefsV as given list for virtual regs
LocalDefsP as given list for physical regs, in BitVector[RegUnit] form
Defined at line 106 of file llvm/lib/CodeGen/MachineInstrBundle.cpp
-
void findUsedValues (GlobalVariable * LLVMUsed, SmallPtrSetImpl<const GlobalValue *> & UsedValues)Find values that are marked as llvm.used.
Defined at line 106 of file llvm/lib/Transforms/IPO/StripSymbols.cpp
-
bool namespaceOverrides (const unsigned char * HRef1, const unsigned char * HRef2)Check if namespace specified by HRef1 overrides that of HRef2.
Defined at line 106 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
ParsedModuleAndIndex parseAssemblyFileWithIndex (StringRef Filename, SMDiagnostic & Err, LLVMContext & Context, SlotMapping * Slots, bool UpgradeDebugInfo, function_ref DataLayoutCallback)Defined at line 106 of file llvm/lib/AsmParser/Parser.cpp
-
CVRecord serializePublic (uint8_t * Mem, const BulkPublic & Pub)Defined at line 106 of file llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
-
void collectRelocationOffsets (const ObjectFile * Obj, const SectionRef & Sec, uint64_t SecAddress, uint64_t SymAddress, uint64_t SymSize, StringRef SymName, std::map<std::pair<StringRef, uint64_t>, StringRef> & Collection)Defined at line 106 of file llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
-
void initializePrintModulePassWrapperPassOnce (PassRegistry & Registry)Defined at line 107 of file llvm/lib/IR/IRPrintingPasses.cpp
-
CParser * unwrap (LLVMRemarkParserRef P)Create wrappers for C Binding types (see CBindingWrapping.h).
Defined at line 107 of file llvm/lib/Remarks/RemarkParser.cpp
-
LLVMRemarkParserRef wrap (const CParser * P)Create wrappers for C Binding types (see CBindingWrapping.h).
Defined at line 107 of file llvm/lib/Remarks/RemarkParser.cpp
-
LLVMBool LLVMTargetHasJIT (LLVMTargetRef T)Returns if the target has a JIT
Defined at line 107 of file llvm/lib/Target/TargetMachineC.cpp
-
bool isEarlyClobberMI (MachineInstr & MI)Defined at line 107 of file llvm/lib/CodeGen/InitUndef.cpp
-
uint64_t computeTotalBlockSizes (LinkGraph & G)Defined at line 107 of file llvm/tools/llvm-jitlink/llvm-jitlink-statistics.cpp
-
void disableEnvironmentDebugFeatures ()Turn off crash debugging features
Crash is expected, so disable crash reports and symbolization to reduce
output clutter and avoid potentially slow symbolization.
Defined at line 107 of file llvm/tools/llvm-reduce/llvm-reduce.cpp
-
void testParseError (unsigned int Tag, unsigned int Value, const char * msg)Defined at line 107 of file llvm/unittests/Support/CSKYAttributeParserTest.cpp
-
Error readGSIHashRecords (FixedStreamArray<PSHashRecord> & HashRecords, const GSIHashHeader * HashHdr, BinaryStreamReader & Reader)Defined at line 107 of file llvm/lib/DebugInfo/PDB/Native/GlobalsStream.cpp
-
Expected<std::string> searchForFile (const Twine & FileName)Defined at line 107 of file llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
-
bool lowerLoadRelative (Function & F)Defined at line 107 of file llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
-
void removeUninterestingBBsFromSwitch (SwitchInst & SwInst, const BlockSet & BBsToDelete)Removes uninteresting BBs from switch, if the default case ends up being
uninteresting, the switch is replaced with a void return (since it has to be
replace with something)
Defined at line 107 of file llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
-
int LLVMFuzzerTestOneInput (const uint8_t * Data, size_t Size)Defined at line 107 of file llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
-
void Destroy (void * Ctx)Defined at line 108 of file llvm/examples/OrcV2Examples/OrcV2CBindingsVeryLazy/OrcV2CBindingsVeryLazy.c
-
void exitWithErrorCode (error_code EC, StringRef Whence)Defined at line 108 of file llvm/tools/llvm-cgdata/llvm-cgdata.cpp
-
unsigned int adjustForEndian (const DataLayout & DL, unsigned int VectorWidth, unsigned int Idx)Defined at line 108 of file llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
-
DISubprogram * getSubprogram (DIScope * Scope)Helper function to either return Scope, if it is a subprogram or the
attached subprogram for a local scope.
Defined at line 108 of file llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
-
void convertToLocalCopy (Module & M, GlobalVariable & GV)Similar to the function above, this is to convert an externally available
global variable to local.
Defined at line 108 of file llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
-
bool setOnlyWritesMemory (Function & F)Defined at line 108 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void handleLLVMFatalError (void * , const char * Message, bool )Defined at line 108 of file llvm/tools/llvm-isel-fuzzer/llvm-isel-fuzzer.cpp
-
bool hasUndefSource (AnyMemTransferInst * MI)Recognize a memcpy/memmove from a trivially otherwise unused alloca.
TODO: This should probably be integrated with visitAllocSites, but that
requires a deeper change to allow either unread or unwritten objects.
Defined at line 108 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
int advance ()Defined at line 108 of file llvm/examples/Kaleidoscope/Chapter9/toy.cpp
-
void BuildInstOrderMap (int Start, int & M)Builds Instruction to its dominating order number map
by traversing
from instruction
Defined at line 108 of file llvm/lib/CodeGen/LiveRangeShrink.cpp
-
void executeFAddInst (GenericValue & Dest, GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 108 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
const Instruction * safeCxtI (const Value * V, const Instruction * CxtI)Given the provided Value and, potentially, a context instruction, return
the preferred context instruction (if any).
Defined at line 108 of file llvm/lib/Analysis/ValueTracking.cpp
-
int WriteOutput (const TGParser & Parser, const char * argv0, StringRef Filename, StringRef Content)Defined at line 108 of file llvm/lib/TableGen/Main.cpp
-
bool isColdBlock (const MachineBasicBlock & MBB, const MachineBlockFrequencyInfo * MBFI, ProfileSummaryInfo * PSI)Defined at line 108 of file llvm/lib/CodeGen/MachineFunctionSplitter.cpp
-
ExFunc lookupFunction (const Function * F)Try to find address of external function given a Function object.
Please note, that interpreter doesn't know how to assemble a
real call in general case (this is JIT job), that's why it assumes,
that all external functions has the same (and pretty "general") signature.
The typical example of such functions are "lle_X_" ones.
Defined at line 108 of file llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
-
basic_string formatFrameProcedureOptions (uint32_t IndentLevel, FrameProcedureOptions FPO)Defined at line 108 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
bool lookup (const GsymReader & GR, DataExtractor & Data, uint64_t & Offset, uint64_t BaseAddr, uint64_t Addr, SourceLocations & SrcLocs, llvm::Error & Err)A Lookup helper functions.
Used during the InlineInfo::lookup() call to quickly only parse an
InlineInfo object if the address falls within this object. This avoids
allocations by not appending child InlineInfo objects to the
InlineInfo::Children array and also skips any InlineInfo objects that do
not contain the address we are looking up.
Parameters
Data The binary stream to read the data from.Offset The byte offset withinBaseAddr The address that the relative address range offsets are relative to.Defined at line 108 of file llvm/lib/DebugInfo/GSYM/InlineInfo.cpp
-
void EmitUnwindCode (MCStreamer & streamer, const MCSymbol * begin, WinEH::Instruction & inst)Defined at line 108 of file llvm/lib/MC/MCWin64EH.cpp
-
bool runIPSCCP (Module & M, const DataLayout & DL, FunctionAnalysisManager * FAM, std::function<const TargetLibraryInfo &(Function &)> GetTLI, std::function<TargetTransformInfo &(Function &)> GetTTI, std::function<AssumptionCache &(Function &)> GetAC, std::function<DominatorTree &(Function &)> GetDT, std::function<BlockFrequencyInfo &(Function &)> GetBFI, bool IsFuncSpecEnabled)Defined at line 108 of file llvm/lib/Transforms/IPO/SCCP.cpp
-
void initializeDomOnlyViewerWrapperPassPassOnce (PassRegistry & Registry)Defined at line 109 of file llvm/lib/Analysis/DomPrinter.cpp
-
int error (const Twine & Error, const Twine & Context)Defined at line 109 of file llvm/tools/llvm-dwp/llvm-dwp.cpp
-
TargetOptions getTargetOptionsForBogusMachine ()Defined at line 109 of file llvm/unittests/CodeGen/MFCommon.inc
-
void collectMDInDomain (const MDNode * List, const MDNode * Domain, SmallPtrSetImpl<const MDNode *> & Nodes)Defined at line 109 of file llvm/lib/Analysis/ScopedNoAliasAA.cpp
-
SmallVector FindCallBrs (Function & F)Defined at line 109 of file llvm/lib/CodeGen/CallBrPrepare.cpp
-
basic_string computeCSKYDataLayout (const Triple & TT)Defined at line 109 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
template <bool Is64>SmallVector encodeCrel (ArrayRef Relocations)Defined at line 109 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
bool isCondRelevantToAnyCallArgument (ICmpInst * Cmp, CallBase & CB)Defined at line 109 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
const SCEV * computeTripCount (const Loop & L, const SCEV & ElemSize, ScalarEvolution & SE)Compute the trip count for the given loop
or assume a default value if
it is not a compile time constant. Return the SCEV expression for the trip
count.
Defined at line 109 of file llvm/lib/Analysis/LoopCacheAnalysis.cpp
-
void initializeBase (TargetLibraryInfoImpl & TLI, const Triple & T)Defined at line 109 of file llvm/lib/Analysis/TargetLibraryInfo.cpp
-
MachineBasicBlock * findPrologueEnd (MachineFunction & MF, int & PrologueEnd)Defined at line 109 of file llvm/lib/CodeGen/CFIFixup.cpp
-
StringRef prettyLanguageVersionString (const DWARFAttribute & AttrValue, const DWARFDie & Die)Defined at line 109 of file llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
-
bool addEmuTlsVar (Module & M, const GlobalVariable * GV)Defined at line 109 of file llvm/lib/CodeGen/LowerEmuTLS.cpp
-
void initializePrintFunctionPassWrapperPassOnce (PassRegistry & Registry)Defined at line 110 of file llvm/lib/IR/IRPrintingPasses.cpp
-
unsigned int capLatency (int Cycles)The machine model may explicitly specify an invalid latency, which
effectively means infinite latency. Since users of the TargetSchedule API
don't know how to handle this, we convert it to a very large latency that is
easy to distinguish when debugging the DAG but won't induce overflow.
Defined at line 110 of file llvm/lib/CodeGen/TargetSchedule.cpp
-
unsigned int getSUBriOpcode (bool IsLP64)Defined at line 110 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
void declareTempRegExpansion (CodeExpansions & CE, unsigned int TempRegID, StringRef Name)Defined at line 110 of file llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
-
void initializeInstSimplifyLegacyPassPassOnce (PassRegistry & Registry)Defined at line 110 of file llvm/lib/Transforms/Scalar/InstSimplifyPass.cpp
-
LLVMErrorRef LLVMRunPassesOnFunction (LLVMValueRef F, const char * Passes, LLVMTargetMachineRef TM, LLVMPassBuilderOptionsRef Options)Construct and run a set of passes over a function.
This function behaves the same as LLVMRunPasses, but operates on a single
function instead of an entire module.
Defined at line 110 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
void dumpSUList (const int & L)Defined at line 110 of file llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
-
void reportNumberOfEntries (const TargetLibraryInfo & TLI, StringRef TargetTriple)Defined at line 110 of file llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp
-
void VerifyPHIs (MachineFunction & MF, bool CheckExtra)Defined at line 110 of file llvm/lib/CodeGen/TailDuplicator.cpp
-
void Materialize (void * Ctx, LLVMOrcMaterializationResponsibilityRef MR)Defined at line 110 of file llvm/examples/OrcV2Examples/OrcV2CBindingsVeryLazy/OrcV2CBindingsVeryLazy.c
-
void EmitInstructions (int & Insts, raw_ostream & O, bool PassSubtarget)EmitInstructions - Emit the last instruction in the vector and any other
instructions that are suitably similar to it.
Defined at line 110 of file llvm/utils/TableGen/AsmWriterEmitter.cpp
-
void opt_bool_anchor ()These anchor functions instantiate opt
<T
> and reference its virtual
destructor to ensure MSVC exports the corresponding vtable and typeinfo when
building a Windows DLL. Without an explicit reference, MSVC may omit the
instantiation at link time even if it is marked DLL-export.
Defined at line 111 of file llvm/lib/Support/CommandLine.cpp
-
LLVMBool LLVMTargetHasTargetMachine (LLVMTargetRef T)Returns if the target has a TargetMachine associated
Defined at line 111 of file llvm/lib/Target/TargetMachineC.cpp
-
template <typename T>T error (StringRef Input, ErrorOr<T> && EC)Defined at line 111 of file llvm/tools/llvm-cvtres/llvm-cvtres.cpp
-
void voidNoopAsync (unique_function SendResult)Defined at line 111 of file llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp
-
StringSet<> & getSupportedSchemes ()Return the set containing the supported URI schemes.
Defined at line 111 of file llvm/lib/Support/LSP/Protocol.cpp
-
size_t getMemUsage ()Defined at line 111 of file llvm/lib/Support/Timer.cpp
-
const char * getPtr (const MachOObjectFile & O, size_t Offset, size_t MachOFilesetEntryOffset)Defined at line 111 of file llvm/lib/Object/MachOObjectFile.cpp
-
SDValue emitRepstosB (const X86Subtarget & Subtarget, SelectionDAG & DAG, const SDLoc & dl, SDValue Chain, SDValue Dst, SDValue Val, uint64_t Size)Emit a single REP STOSB instruction for a particular constant size.
Defined at line 111 of file llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
-
unique_ptr parseIR (LLVMContext & C, const char * IR)Defined at line 111 of file llvm/unittests/Transforms/Utils/LocalTest.cpp
-
bool declaresCoroCleanupIntrinsics (const Module & M)Defined at line 111 of file llvm/lib/Transforms/Coroutines/CoroCleanup.cpp
-
CallInst * InsertTrap (BuilderTy & IRB, bool DebugTrapBB, optional GuardKind)Defined at line 111 of file llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
-
void RemoveInstInputs (Value * V, SmallVectorImpl<Instruction *> & InstInputs)Defined at line 111 of file llvm/lib/Analysis/PHITransAddr.cpp
-
int AsLexInput (SourceMgr & SrcMgr, MCAsmInfo & MAI, raw_ostream & OS)Defined at line 111 of file llvm/tools/llvm-ml/llvm-ml.cpp
-
void runDeltaPassName (TestRunner & Tester, StringRef PassName)Defined at line 111 of file llvm/tools/llvm-reduce/DeltaManager.cpp
-
void CheckForPhysRegDependency (SDNode * Def, SDNode * User, unsigned int Op, const TargetRegisterInfo * TRI, const TargetInstrInfo * TII, MCRegister & PhysReg, int & Cost)CheckForPhysRegDependency - Check if the dependency between def and use of
a specified operand is a physical register dependency. If so, returns the
register and the cost of copying the register.
Defined at line 111 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
-
cpu_feature get_cpu_features ()Defined at line 111 of file llvm/lib/Support/BLAKE3/blake3_dispatch.c
-
void opt_char_anchor ()Defined at line 112 of file llvm/lib/Support/CommandLine.cpp
-
void initializeDAHPassOnce (PassRegistry & Registry)Defined at line 112 of file llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
-
Error error (const Twine & Message)Defined at line 112 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
bool ignoreCallingConv (LibFunc Func)===----------------------------------------------------------------------===//
Helper Functions
===----------------------------------------------------------------------===//
Defined at line 112 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
int writeStringRef (const StringRef & Str, raw_ostream & OS)Defined at line 112 of file llvm/lib/ObjectYAML/WasmEmitter.cpp
-
void addCapturesStat (CaptureInfo CI)Defined at line 112 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
void replaceOperation (Value & NewOp, VPIntrinsic & OldOp)Transfer all properties from
to
and replace all uses.
OldVP gets erased.
Defined at line 112 of file llvm/lib/CodeGen/ExpandVectorPredication.cpp
-
uint64_t readULEB128 (WasmObjectFile::ReadContext & Ctx)Defined at line 112 of file llvm/lib/Object/WasmObjectFile.cpp
-
basic_string findInputFile (StringRef File, ArrayRef Paths)Defined at line 112 of file llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
-
int intersects (const MachineInstr * StartMI, const MachineInstr * EndMI, ArrayRef<InsnRange> Ranges, const InstructionOrdering & Ordering)Check if the instruction range [StartMI, EndMI] intersects any instruction
range in Ranges. EndMI can be nullptr to indicate that the range is
unbounded. Assumes Ranges is ordered and disjoint. Returns true and points
to the first intersecting scope range if one exists.
Defined at line 112 of file llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
-
int createTLOF (const Triple & TT)Defined at line 112 of file llvm/lib/Target/X86/X86TargetMachine.cpp
-
bool upgradeX86MultiplyAddBytes (Function * F, Intrinsic::ID IID, Function *& NewFn)Upgrade the declaration of multiply and add bytes intrinsics whose input
arguments' types have changed from vectors of i32 to vectors of i8
Defined at line 112 of file llvm/lib/IR/AutoUpgrade.cpp
-
Value * buildTargetLegalPtr (Module * M, Value * Ptr, InsertPosition IP, const Twine & Name, SmallVector<Instruction *> * NewInsts)Adapts the current pointer for a legal mem operation on the target arch.
Defined at line 112 of file llvm/lib/FuzzMutate/RandomIRBuilder.cpp
-
void read_link (const Twine & Path, SmallVectorImpl<char> & Output)Get what the symlink points to.
This is a no-op on windows as it references POSIX level apis.
Defined at line 112 of file llvm/tools/llvm-readtapi/llvm-readtapi.cpp
-
void setUnsafeStackSize (const Function & F, MachineFrameInfo & FrameInfo)Defined at line 112 of file llvm/lib/CodeGen/MachineFunction.cpp
-
void SplitStringDelims (StringRef Source, SmallVectorImpl<std::pair<StringRef, StringRef>> & OutFragments, function_ref IsLegalChar)Split 'Source' on any character that fails to pass 'IsLegalChar'. The
returned vector consists of pairs where 'first' is the delimited word, and
'second' are the delimiters following that word.
Defined at line 112 of file llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
-
int convert_main (int argc, const char *[] argv)Defined at line 112 of file llvm/tools/llvm-cgdata/llvm-cgdata.cpp
-
int llvm_debuginfod_find_main (int argc, char ** argv, const llvm::ToolContext & )Defined at line 112 of file llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
-
ModRefInfo GetLocation (const Instruction * Inst, MemoryLocation & Loc, const TargetLibraryInfo & TLI)If the given instruction references a specific memory location, fill in Loc
with the details, otherwise set Loc.Ptr to null.
Returns a ModRefInfo value describing the general behavior of the
instruction.
Defined at line 112 of file llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
-
void opt_int_anchor ()Defined at line 113 of file llvm/lib/Support/CommandLine.cpp
-
bool fcmpPredExcludesEqual (Predicate Pred)Return true for ULT/UGT/OLT/OGT
Defined at line 113 of file llvm/lib/IR/ConstantFPRange.cpp
-
void LLVMViewFunctionCFG (LLVMValueRef Fn)Open up a ghostview window that displays the CFG of the current function.
Useful for debugging.
Defined at line 113 of file llvm/lib/Analysis/Analysis.cpp
-
void initializeMachineOptimizationRemarkEmitterPassPassOnce (PassRegistry & Registry)Defined at line 113 of file llvm/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp
-
uint8_t unitIntervalTo8BitChar (double B)Takes a double precision number, clips it between 0 and 1 and then converts
that to an integer between 0x00 and 0xFF with proxpper rounding.
Defined at line 113 of file llvm/tools/llvm-xray/xray-color-helper.cpp
-
bool findImplictDefMIFromReg (Register Reg, MachineRegisterInfo * MRI)Defined at line 113 of file llvm/lib/CodeGen/InitUndef.cpp
-
void dumpExpression (raw_ostream & OS, DIDumpOptions DumpOpts, ArrayRef Data, bool IsLittleEndian, unsigned int AddressSize, DWARFUnit * U)Defined at line 113 of file llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
-
bool isSimpleEnoughValueToCommit (Constant * C, SmallPtrSetImpl<Constant *> & SimpleConstants, const DataLayout & DL)Defined at line 113 of file llvm/lib/Transforms/Utils/Evaluator.cpp
-
void createRetPHINode (Instruction * OrigInst, Instruction * NewInst, BasicBlock * MergeBlock, IRBuilder<> & Builder)Create a phi node for the returned value of a call or invoke instruction.
After versioning a call or invoke instruction that returns a value, we have
to merge the value of the original and new instructions. We do this by
creating a phi node and replacing uses of the original instruction with this
phi node.
For example, if
is defined in "else_bb" and
is
defined in "then_bb", we create the following phi node:
; Uses of the original instruction are replaced by uses of the phi node.
%t0 = phi i32 [ %orig_inst, %else_bb ], [ %new_inst, %then_bb ],
Defined at line 113 of file llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
-
void writeModuleToFile (const Module & M, StringRef Path, bool OutputAssembly)Defined at line 113 of file llvm/tools/llvm-split/llvm-split.cpp
-
void reportTranslationError (MachineFunction & MF, OptimizationRemarkEmitter & ORE, OptimizationRemarkMissed & R)Defined at line 113 of file llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
-
Error setSectionFlagsAndType (SectionBase & Sec, SectionFlag Flags, uint16_t EMachine)Defined at line 113 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
void writeDebugRecord (const PerfJITDebugInfoRecord & DebugRecord)Defined at line 113 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
void error (Error E, StringRef FileName, const Archive::Child & C, StringRef ArchitectureName)This version of error() prints the archive name and member name, for example:
"libx.a(foo.o)" after the ToolName before the error message. It sets
HadError but returns allowing the code to move on to other archive members.
Defined at line 113 of file llvm/tools/llvm-size/llvm-size.cpp
-
void initializePostDomViewerWrapperPassPassOnce (PassRegistry & Registry)Defined at line 114 of file llvm/lib/Analysis/DomPrinter.cpp
-
void opt_unsigned_anchor ()Defined at line 114 of file llvm/lib/Support/CommandLine.cpp
-
void initializeX86LoadValueInjectionRetHardeningPassPassOnce (PassRegistry & Registry)Defined at line 114 of file llvm/lib/Target/X86/X86LoadValueInjectionRetHardening.cpp
-
unsigned int getADDriOpcode (bool IsLP64)Defined at line 114 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
MachineInstrBuilder InsertNewDef (unsigned int Opcode, MachineBasicBlock * BB, int I, VRegAttrs RegAttrs, MachineRegisterInfo * MRI, const TargetInstrInfo * TII)InsertNewDef - Insert an empty PHI or IMPLICIT_DEF instruction which define
a value of the given register class at the start of the specified basic
block. It returns the virtual register defined by the instruction.
Defined at line 114 of file llvm/lib/CodeGen/MachineSSAUpdater.cpp
-
optional getFrameLayout (Function * Resume)Given a resume function
.resume(%f.frame* %frame), returns the size
and expected alignment of %f.frame type.
Defined at line 114 of file llvm/lib/Transforms/Coroutines/CoroElide.cpp
-
CPUType mapArchToCVCPUType (ArchType Type)Defined at line 114 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
SmallVector canonicalizeDwarfOperations (ArrayRef WorkingOps)This function will canonicalize:
1. DW_OP_plus_uconst to DW_OP_constu
<const
-val> DW_OP_plus
2. DW_OP_lit
<n
> to DW_OP_constu
<n
>
Defined at line 114 of file llvm/lib/IR/DIExpressionOptimizer.cpp
-
void findPartitions (Module & M, ClusterIDMapType & ClusterIDMap, unsigned int N)Find partitions for module in the way that no locals need to be
globalized.
Try to balance pack those partitions into N files since this roughly equals
thread balancing for the backend codegen step.
Defined at line 114 of file llvm/lib/Transforms/Utils/SplitModule.cpp
-
Function * doPromotion (Function * F, FunctionAnalysisManager & FAM, const int & ArgsToPromote)DoPromotion - This method actually performs the promotion of the specified
arguments, and returns the new function. At this point, we know that it's
safe to do so.
Defined at line 114 of file llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
-
LLVMBool LLVMTargetHasAsmBackend (LLVMTargetRef T)Returns if the target as an ASM backend (required for emitting output)
Defined at line 115 of file llvm/lib/Target/TargetMachineC.cpp
-
void LLVMInitializeAllAsmParsers ()LLVMInitializeAllAsmParsers - The main program should call this function if
it wants all asm parsers that LLVM is configured to support, to make them
available via the TargetRegistry.
Defined at line 115 of file llvm/include/llvm-c/Target.h
-
void LLVMInitializeAllAsmParsers ()LLVMInitializeAllAsmParsers - The main program should call this function if
it wants all asm parsers that LLVM is configured to support, to make them
available via the TargetRegistry.
Defined at line 115 of file llvm/include/llvm-c/Target.h
-
ValueAsMetadata * getAsMetadata (Value * V)Defined at line 115 of file llvm/lib/IR/IntrinsicInst.cpp
-
bool setOnlyAccessesArgMemory (Function & F)Defined at line 115 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
Expected<Triple> readTargetTriple (StringRef FileName)Defined at line 115 of file llvm/tools/llvm-dwp/llvm-dwp.cpp
-
const SCEV * getNarrowestLatchMaxTakenCountEstimate (ScalarEvolution & SE, const Loop & L)Returns estimate for max latch taken count of the loop of the narrowest
available type. If the latch block has such estimate, it is returned.
Otherwise, we use max exit count of whole loop (that is potentially of wider
type than latch check itself), which is still better than no estimate.
Defined at line 115 of file llvm/lib/Transforms/Utils/LoopConstrainer.cpp
-
void dumpResult (const MachineInstr & MI, const KnownBits & Known, unsigned int Depth)Defined at line 115 of file llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
-
bool extendsConvergenceOutsideLoop (const Instruction & I, const Loop * L)Defined at line 115 of file llvm/lib/Analysis/CodeMetrics.cpp
-
uint32_t handleDataMember (ArrayRef Data, uint32_t Offset, SmallVectorImpl<TiReference> & Refs)Defined at line 115 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
WrapperFunctionBuffer voidNoopAsyncWrapper (const char * ArgData, size_t ArgSize)Defined at line 115 of file llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp
-
Value * simplifyCmpSelCase (CmpPredicate Pred, Value * LHS, Value * RHS, Value * Cond, const SimplifyQuery & Q, unsigned int MaxRecurse, Constant * TrueOrFalse)Simplify comparison with true or false branch of select:
%sel = select i1 %cond, i32 %tv, i32 %fv
%cmp = icmp sle i32 %sel, %rhs
Compose new comparison by substituting %sel with either %tv or %fv
and see if it simplifies.
Defined at line 115 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void insertSignalHandler (sys::SignalHandlerCallback FnPtr, void * Cookie)Signal-safe.
Defined at line 115 of file llvm/lib/Support/Signals.cpp
-
basic_string getTypeName (IFSSymbolType Type)Defined at line 115 of file llvm/tools/llvm-ifs/llvm-ifs.cpp
-
void replace (Module & M, GlobalVariable * Old, GlobalVariable * New)Defined at line 115 of file llvm/lib/Transforms/IPO/ConstantMerge.cpp
-
TargetPassConfig * addPassesToGenerateCode (CodeGenTargetMachineImpl & TM, PassManagerBase & PM, bool DisableVerify, MachineModuleInfoWrapperPass & MMIWP)addPassesToX helper drives creation and initialization of TargetPassConfig.
Defined at line 115 of file llvm/lib/CodeGen/CodeGenTargetMachineImpl.cpp
-
bool processSelect (SelectInst * S, LazyValueInfo * LVI)Defined at line 115 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void handle_line (char ** tokens, int ntokens)Defined at line 115 of file llvm/tools/llvm-c-test/calc.c
-
bool eliminateAvailableExternally (Module & M, bool Convert)Defined at line 115 of file llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
-
bool CanProveNotTakenFirstIteration (const BasicBlock * ExitBlock, const DominatorTree * DT, const Loop * CurLoop)Return true if we can prove that the given ExitBlock is not reached on the
first iteration of the given loop. That is, the backedge of the loop must
be executed before the ExitBlock is executed in any dynamic execution trace.
Defined at line 115 of file llvm/lib/Analysis/MustExecute.cpp
-
Register performCopyPropagation (Register Reg, int & RI, bool & IsKill, const TargetInstrInfo & TII, const TargetRegisterInfo & TRI)Try to eliminate redundant copy to register which we're going to
spill, i.e. try to change:
X = COPY Y
SPILL X
to
SPILL Y
If there are no uses of X between copy and STATEPOINT, that COPY
may be eliminated.
Reg - register we're about to spill
RI - On entry points to statepoint.
On successful copy propagation set to new spill point.
IsKill - set to true if COPY is Kill (there are no uses of Y)
Returns either found source copy register or original one.
Defined at line 115 of file llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
-
SmallPtrSet findBBsToSinkInto (const Loop & L, const SmallPtrSetImpl<BasicBlock *> & UseBBs, const SmallVectorImpl<BasicBlock *> & ColdLoopBBs, DominatorTree & DT, BlockFrequencyInfo & BFI)Return a set of basic blocks to insert sinked instructions.
The returned set of basic blocks (BBsToSinkInto) should satisfy:
* Inside the loop
* For each UseBB in
there is at least one BB in BBsToSinkInto
that domintates the UseBB
* Has minimum total frequency that is no greater than preheader frequency
The purpose of the function is to find the optimal sinking points to
minimize execution cost, which is defined as "sum of frequency of
BBsToSinkInto".
As a result, the returned BBsToSinkInto needs to have minimum total
frequency.
Additionally, if the total frequency of BBsToSinkInto exceeds preheader
frequency, the optimal solution is not sinking (return empty set).
is used to help find the optimal sinking locations.
It stores a list of BBs that is:
* Inside the loop
* Has a frequency no larger than the loop's preheader
* Sorted by BB frequency
The complexity of the function is O(UseBBs.size() * ColdLoopBBs.size()).
To avoid expensive computation, we cap the maximum UseBBs.size() in its
caller.
Defined at line 115 of file llvm/lib/Transforms/Scalar/LoopSink.cpp
-
Value * simplifyX86immShift (const IntrinsicInst & II, InstCombiner::BuilderTy & Builder)Defined at line 115 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
void NewSDValueDbgMsg (SDValue V, StringRef Msg, SelectionDAG * G)Defined at line 116 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
Expected getMachoCPUFromTriple (StringRef TT)Defined at line 116 of file llvm/lib/Object/MachOUniversalWriter.cpp
-
void reportErrorAndExit ()Defined at line 116 of file llvm/examples/OrcV2Examples/LLJITWithExecutorProcessControl/LLJITWithExecutorProcessControl.cpp
-
bool isSplat (Value * V)Return true if V is a splat of a value (which is used when multiplying a
matrix with a scalar).
Defined at line 116 of file llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
-
Value * CreateVScaleMultiple (IRBuilderBase & B, Type * Ty, uint64_t Scale)Defined at line 116 of file llvm/lib/IR/IRBuilder.cpp
-
LLVMDisasmContextRef LLVMCreateDisasmCPU (const char * Triple, const char * CPU, void * DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)Create a disassembler for the TripleName and a specific CPU. Symbolic
disassembly is supported by passing a block of information in the DisInfo
parameter and specifying the TagType and callback functions as described
above. These can all be passed * as NULL. If successful, this returns a
disassembler context. If not, it returns NULL. This function is equivalent
to calling LLVMCreateDisasmCPUFeatures() with an empty feature set.
Defined at line 116 of file llvm/lib/MC/MCDisassembler/Disassembler.cpp
-
basic_string getParamName2 (const testing::TestParamInfo<ParseValid::ParamType> & Info)Defined at line 116 of file llvm/unittests/Frontend/OpenMPDirectiveNameParserTest.cpp
-
unsigned int CombineSymbolTypes (unsigned int T1, unsigned int T2)When GNU as encounters more than one .type declaration for an object it seems
to use a mechanism similar to the one below to decide which type is actually
used in the object file. The greater of T1 and T2 is selected based on the
following ordering:
STT_NOTYPE
<
STT_OBJECT
<
STT_FUNC
<
STT_GNU_IFUNC
<
STT_TLS
<
anything else
If neither T1
<
T2 nor T2
<
T1 according to this ordering, use T2 (the user
provided type).
Defined at line 116 of file llvm/lib/MC/MCELFStreamer.cpp
-
void printRegisterLocations (const RegisterLocations & RL, raw_ostream & OS, DIDumpOptions DumpOpts)Print all registers + locations that are currently defined in a register
locations.
Parameters
RL the register locations to print.OS the stream to use for output.MRI register information that helps emit register names insteead of raw register numbers.IsEH true if the DWARF Call Frame Information is from .eh_frame instead of from .debug_frame. This is needed for register number conversion because some register numbers differ between the two sections for certain architectures like x86.Defined at line 116 of file llvm/lib/DebugInfo/DWARF/DWARFUnwindTablePrinter.cpp
-
void handlePhiDef (CallInst * Expect)Handler for PHINodes that define the value argument to an
.expect call.
If the operand of the phi has a constant value and it 'contradicts'
with the expected value of phi def, then the corresponding incoming
edge of the phi is unlikely to be taken. Using that information,
the branch probability info for the originating branch can be inferred.
Defined at line 116 of file llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
-
unsigned int getMaxWidth (const APInt & A, const APInt & B)Defined at line 117 of file llvm/lib/Support/SlowDynamicAPInt.cpp
-
template <typename Container>auto keys (Container && C)===- Misc. Helpers -----------------------------------------------------===//
Defined at line 117 of file llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
-
LocationDescriptor layout (BlobAllocator & File, BinaryRef Data)Defined at line 117 of file llvm/lib/ObjectYAML/MinidumpEmitter.cpp
-
bool EventNumberLess (const ValidationCounterInfo & LHS, const ValidationCounterInfo & RHS)Defined at line 117 of file llvm/utils/TableGen/ExegesisEmitter.cpp
-
Constant * foldMaybeUndesirableCast (unsigned int opc, Constant * V, Type * DestTy)Defined at line 117 of file llvm/lib/IR/ConstantFold.cpp
-
Instruction * getFirstNonAllocaInTheEntryBlock (Function & F)Defined at line 117 of file llvm/lib/Target/X86/X86LowerAMXType.cpp
-
bool checkSymbolEquality (iterator_range LHS, iterator_range RHS)Defined at line 117 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
Expected createInMemoryBuffer (StringRef Path, size_t Size, unsigned int Mode)Defined at line 117 of file llvm/lib/Support/FileOutputBuffer.cpp
-
uint64_t getCurInstructionsExecuted ()Defined at line 117 of file llvm/lib/Support/Timer.cpp
-
bool isEligibleInstructionForConstantSharing (const Instruction * I)Defined at line 117 of file llvm/lib/CodeGen/GlobalMergeFunctions.cpp
-
Value * tryReplaceCallWithLoadStore (Oracle & O, Module & M, CallBase * CB)TODO: Replace 2 pointer argument calls with memcpy
Defined at line 117 of file llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
-
Expected<ResultOperand> matchComplexOperand (const Init * Arg, const StringInit * ArgName, const Record * Op)Defined at line 117 of file llvm/utils/TableGen/Common/CodeGenInstAlias.cpp
-
error_code getSymbol (const COFFObjectFile & COFF, uint64_t VA, object::SymbolRef & Sym)Defined at line 117 of file llvm/tools/llvm-readobj/Win64EHDumper.cpp
-
Error hasInvalidBitcodeHeader (BitstreamCursor & Stream)Defined at line 117 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
LLVMBool LLVMParseIRInContext (LLVMContextRef ContextRef, LLVMMemoryBufferRef MemBuf, LLVMModuleRef * OutM, char ** OutMessage)Read LLVM IR from a memory buffer and convert it into an in-memory Module
object. Returns 0 on success.
Optionally returns a human-readable description of any errors that
occurred during parsing IR. OutMessage must be disposed with
LLVMDisposeMessage.
Defined at line 117 of file llvm/lib/IRReader/IRReader.cpp
-
void initializePostDomOnlyViewerWrapperPassPassOnce (PassRegistry & Registry)Defined at line 118 of file llvm/lib/Analysis/DomPrinter.cpp
-
void initializeX86FlagsCopyLoweringPassPassOnce (PassRegistry & Registry)Defined at line 118 of file llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
-
unsigned int getSUBrrOpcode (bool IsLP64)Defined at line 118 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
void LLVMViewFunctionCFGOnly (LLVMValueRef Fn)Defined at line 118 of file llvm/lib/Analysis/Analysis.cpp
-
bool isIdentifierChar (char C)Return true if the given character satisfies the following regular
expression: [-a-zA-Z$._0-9]
Defined at line 118 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
nlist_base getSymbolTableEntryBase (const MachOObjectFile & O, DataRefImpl DRI)Defined at line 118 of file llvm/lib/Object/MachOObjectFile.cpp
-
basic_string computeLoongArchDataLayout (const Triple & TT)Defined at line 118 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
int writeLimits (const WasmYAML::Limits & Lim, raw_ostream & OS)Defined at line 118 of file llvm/lib/ObjectYAML/WasmEmitter.cpp
-
Instruction * findCommonDominator (ArrayRef Instructions, DominatorTree & DT)Find a point in code which dominates all given instructions. We can safely
assume that, whatever fact we can prove at the found point, this fact is
also true for each of the given instructions.
Defined at line 118 of file llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
-
ConstantFPRange makeLessThan (APFloat V, Predicate Pred)Return [-inf, V) or [-inf, V]
Defined at line 118 of file llvm/lib/IR/ConstantFPRange.cpp
-
void clearModule (Module & M)Defined at line 118 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
bool isOnlyUsedInEqualityComparison (Value * V, Value * With)Return true if it is only used in equality comparisons with With.
Defined at line 118 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
template <typename EndianT>Error readArray (ArrayRef Data, uint64_t Count, uint64_t & Offset, SmallVectorImpl<int32_t> & Vec)Defined at line 118 of file llvm/lib/Object/SFrameParser.cpp
-
bool SplitCriticalEdges (ArrayRef CBRs, DominatorTree & DT)Defined at line 118 of file llvm/lib/CodeGen/CallBrPrepare.cpp
-
LLVMPassBuilderOptionsRef LLVMCreatePassBuilderOptions ()Create a new set of options for a PassBuilder
Ownership of the returned instance is given to the client, and they are
responsible for it. The client should call LLVMDisposePassBuilderOptions
to free the pass builder options.
Defined at line 119 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
LLVMBool LLVMCreateInterpreterForModule (LLVMExecutionEngineRef * OutInterp, LLVMModuleRef M, char ** OutError)Defined at line 118 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
template <typename CallbackType>void parseCondition (Value * Condition, CallbackType RecordCheckOrWidenableCond)Defined at line 118 of file llvm/lib/Analysis/GuardUtils.cpp
-
bool runPartiallyInlineLibCalls (Function & F, TargetLibraryInfo * TLI, const TargetTransformInfo * TTI, DominatorTree * DT, OptimizationRemarkEmitter * ORE)Defined at line 118 of file llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp
-
bool performCustomAdjustments (MachineInstr & MI, unsigned int NewOpc)Do any custom cleanup needed to finalize the conversion.
Defined at line 118 of file llvm/lib/Target/X86/X86CompressEVEX.cpp
-
bool mutationIsSane (const LegalizeRule & Rule, const LegalityQuery & Q, std::pair<unsigned int, LLT> Mutation)Make sure the returned mutation makes sense for the match type.
Defined at line 118 of file llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
-
LLVMTargetMachineOptionsRef LLVMCreateTargetMachineOptions ()===-- Target Machine ----------------------------------------------------===
Create a new set of options for an llvm::TargetMachine.
The returned option structure must be released with
LLVMDisposeTargetMachineOptions() after the call to
LLVMCreateTargetMachineWithOptions().
Defined at line 119 of file llvm/lib/Target/TargetMachineC.cpp
-
void addCallsiteMetadata (Instruction & I, ArrayRef InlinedCallStack, LLVMContext & Ctx)Defined at line 119 of file llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
-
bool getVal (MDTuple * MD, const char * Key, uint64_t & Val)Parse an MDTuple representing (Key, Val) pair.
Defined at line 119 of file llvm/lib/IR/ProfileSummary.cpp
-
bool partitionOuterLoopBlocks (Loop * L, Loop * SubLoop, BasicBlockSet & ForeBlocks, BasicBlockSet & SubLoopBlocks, BasicBlockSet & AftBlocks, DominatorTree * DT)TODO Remove when UnrollAndJamLoop changed to support unroll and jamming more
than 2 levels loop.
Defined at line 119 of file llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
-
bool isStructurallyValidScheme (StringRef Scheme)Returns true if the given scheme is structurally valid, i.e. it does not
contain any invalid scheme characters. This does not check that the scheme
is actually supported.
Defined at line 119 of file llvm/lib/Support/LSP/Protocol.cpp
-
void executeFSubInst (GenericValue & Dest, GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 119 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
const MCExpr * makeEndMinusStartExpr (MCContext & Ctx, const MCSymbol & Start, const MCSymbol & End, int IntVal)This helper routine returns an expression of End - Start - IntVal .
Defined at line 119 of file llvm/lib/MC/MCDwarf.cpp
-
template <IR IRTy>void BBWalk (benchmark::State & State)Defined at line 119 of file llvm/benchmarks/SandboxIRBench.cpp
-
bool RedirectIO_PS (const std::string * Path, int FD, std::string * ErrMsg, posix_spawn_file_actions_t * FileActions)Defined at line 119 of file llvm/lib/Support/Unix/Program.inc
-
void lto_initialize ()Initialize the configured targets if they have not been initialized.
Defined at line 119 of file llvm/tools/lto/lto.cpp
-
void initializeBranchFolderLegacyPassOnce (PassRegistry & Registry)Defined at line 120 of file llvm/lib/CodeGen/BranchFolding.cpp
-
pair getMachoCPUFromObjectFile (const MachOObjectFile & O)Defined at line 120 of file llvm/lib/Object/MachOUniversalWriter.cpp
-
bool testTagString (unsigned int Tag, const char * name)Defined at line 120 of file llvm/unittests/Support/CSKYAttributeParserTest.cpp
-
bool isDebugSSection (SectionRef Section, DebugSubsectionArray & Subsections)Defined at line 120 of file llvm/lib/DebugInfo/PDB/Native/InputFile.cpp
-
VisibilityTypes getMinVisibility (VisibilityTypes A, VisibilityTypes B)Defined at line 120 of file llvm/lib/Linker/LinkModules.cpp
-
const Init * QualifyName (const Record & CurRec, const Init * Name)Return an Init with a qualifier prefix referring
to CurRec's name.
Defined at line 120 of file llvm/lib/TableGen/TGParser.cpp
-
void dumpStream (yaml::Stream & stream)Defined at line 120 of file llvm/utils/yaml-bench/YAMLBench.cpp
-
Instruction * getEffectiveTerminator (BasicBlock & BB)Defined at line 120 of file llvm/lib/FuzzMutate/IRMutator.cpp
-
void memDestroy (void * Opaque)Defined at line 120 of file llvm/examples/OrcV2Examples/OrcV2CBindingsMCJITLikeMemoryManager/OrcV2CBindingsMCJITLikeMemoryManager.c
-
pair determineOutputType (bool IsMIR, bool InputIsBitcode)Defined at line 120 of file llvm/tools/llvm-reduce/llvm-reduce.cpp
-
int llvm_module_list_globals ()Defined at line 120 of file llvm/tools/llvm-c-test/module.c
-
bool StripSymbolNames (Module & M, bool PreserveDbgInfo)StripSymbolNames - Strip symbol names.
Defined at line 120 of file llvm/lib/Transforms/IPO/StripSymbols.cpp
-
tuple convertToRGB (const std::tuple<double, double, double> & Color)Takes a typle of doubles representing a color in HSV and converts them to
RGB represented as a tuple of uint8_ts
Defined at line 120 of file llvm/tools/llvm-xray/xray-color-helper.cpp
-
bool byteArrayFromString (ByteArrayTy & ByteArray, StringRef & Str, SourceMgr & SM, bool HexBytes)Defined at line 120 of file llvm/tools/llvm-mc/Disassembler.cpp
-
bool findRefEdges (ModuleSummaryIndex & Index, const User * CurUser, SetVector<ValueInfo, SmallVector<ValueInfo, 0>> & RefEdges, SmallPtrSet<const User *, 8> & Visited, bool & RefLocalLinkageIFunc)Walk through the operands of a given User via worklist iteration and populate
the set of GlobalValue references encountered. Invoked either on an
Instruction or a GlobalVariable (which walks its initializer).
Return true if any of the operands contains blockaddress. This is important
to know when computing summary for global var, because if global variable
references basic block address we can't import it separately from function
containing that basic block. For simplicity we currently don't import such
global vars at all. When importing function we aren't interested if any
instruction in it takes an address of any basic block, because instruction
can only take an address of basic block located in the same function.
Set `RefLocalLinkageIFunc` to true if the analyzed value references a
local-linkage ifunc.
Defined at line 120 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
void initializeCheckDebugMachineModulePassOnce (PassRegistry & Registry)Defined at line 121 of file llvm/lib/CodeGen/MachineCheckDebugify.cpp
-
bool hasUnrollAndJamEnablePragma (const Loop * L)Returns true if the loop has an unroll_and_jam(enable) pragma.
Defined at line 121 of file llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
-
template <typename Container>auto values (Container && C)Defined at line 121 of file llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
-
void initializeRenameIndependentSubregsLegacyPassOnce (PassRegistry & Registry)Defined at line 121 of file llvm/lib/CodeGen/RenameIndependentSubregs.cpp
-
template <class T, class U>void setMinMax (std::pair<T, T> & MM, U && V)Defined at line 121 of file llvm/tools/llvm-xray/xray-account.cpp
-
void * replaceAllocation (void * NewElts, size_t TSize, size_t NewCapacity, size_t VSize)If vector was first created with capacity 0, getFirstEl() points to the
memory right after, an area unallocated. If a subsequent allocation,
that grows the vector, happens to return the same pointer as getFirstEl(),
get a new allocation, otherwise isSmall() will falsely return that no
allocation was done (true) and the memory will not be freed in the
destructor. If a VSize is given (vector size), also copy that many
elements to the new allocation - used if realloca fails to increase
space, and happens to allocate precisely at BeginX.
This is unlikely to be called often, but resolves a memory leak when the
situation does occur.
Defined at line 121 of file llvm/lib/Support/SmallVector.cpp
-
void enableDebuginfod (LLVMSymbolizer & Symbolizer, const opt::ArgList & Args)Defined at line 121 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
void generateEnumBitmask (ArrayRef Records, raw_ostream & OS, StringRef Enum, StringRef Prefix, bool ExportEnums)Generate enum class with values corresponding to different bit positions.
Entries are emitted in the order in which they appear in the `Records`
vector.
Defined at line 121 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
bool isObjectSmallerThan (const Value * V, TypeSize Size, const DataLayout & DL, const TargetLibraryInfo & TLI, bool NullIsValidLoc)Returns true if we can prove that the object specified by V is smaller than
Size. Bails out early unless the root object is passed as the first
parameter.
Defined at line 121 of file llvm/lib/Analysis/BasicAliasAnalysis.cpp
-
StringRef getElementTypeNameForTemplate (ElementType ET)Defined at line 121 of file llvm/lib/Analysis/DXILResource.cpp
-
unsigned int getADDrrOpcode (bool IsLP64)Defined at line 122 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
unsigned int nextAPIntBitWidth (unsigned int BitWidth)Defined at line 122 of file llvm/lib/FileCheck/FileCheck.cpp
-
void initializeX86AvoidSFBPassPassOnce (PassRegistry & Registry)Defined at line 122 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
bool setOnlyAccessesInaccessibleMemOrArgMem (Function & F)Defined at line 122 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void fatalOpenError (Error E, Twine File)Defined at line 122 of file llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
-
optional findInsertionPointForWideCondition (Instruction * WCOrGuard)Find a point at which the widened condition of
should be inserted.
When it is represented as intrinsic call, we can do it right before the call
instruction. However, when we are dealing with widenable branch, we must
account for the following situation: widening should not turn a
loop-invariant condition into a loop-variant. It means that if
widenable.condition() call is invariant (w.r.t. any loop), the new wide
condition should stay invariant. Otherwise there can be a miscompile, like
the one described at https://github.com/llvm/llvm-project/issues/60234. The
safest way to do it is to expand the new condition at WC's block.
Defined at line 122 of file llvm/lib/Transforms/Scalar/GuardWidening.cpp
-
StringRef readString (WasmObjectFile::ReadContext & Ctx)Defined at line 122 of file llvm/lib/Object/WasmObjectFile.cpp
-
xmlNsPtr search (const unsigned char * HRef, xmlNodePtr Node)Search for prefix-defined namespace specified by HRef, starting on Node and
continuing recursively upwards. Returns the namespace or nullptr if not
found.
Defined at line 122 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
bool maySpeculateLanes (VPIntrinsic & VPI)Defined at line 122 of file llvm/lib/CodeGen/ExpandVectorPredication.cpp
-
ParseRet tryParseLinearTokenWithRuntimeStep (StringRef & ParseString, VFParamKind & PKind, int & Pos, StringRef Token)The function looks for the following strings at the beginning of
the input string `ParseString`:
<token
>
<number
>
On success, it removes the parsed parameter from `ParseString`,
sets `PKind` to the correspondent enum value, sets `Pos` to
<number
>, and return success. On a syntax error, it return a
parsing error. If nothing is parsed, it returns std::nullopt.
The function expects
<token
> to be one of "ls", "Rs", "Us" or
"Ls".
Defined at line 122 of file llvm/lib/IR/VFABIDemangler.cpp
-
bool getShuffleDemandedElts (const ShuffleVectorInst * Shuf, const APInt & DemandedElts, APInt & DemandedLHS, APInt & DemandedRHS)Defined at line 122 of file llvm/lib/Analysis/ValueTracking.cpp
-
const char * regatoi (const llvm_regex_t * , char * , int )- regatoi - internal routine to implement REG_ATOI
Defined at line 122 of file llvm/lib/Support/regerror.c
-
size_t layout (BlobAllocator & File, MinidumpYAML::ExceptionStream & S)Defined at line 122 of file llvm/lib/ObjectYAML/MinidumpEmitter.cpp
-
bool isPushPop (const MachineInstr & MI)Defined at line 122 of file llvm/lib/Target/X86/X86DynAllocaExpander.cpp
-
Expected callObjCopy (ConfigManager & Config, object::Binary & In, SmallVector<char> & DataVector, function_ref IsValidFormat)Call objcopy::executeObjcopyOnBinary for
and
is a holder for data.
Defined at line 122 of file llvm/unittests/ObjCopy/ObjCopyTest.cpp
-
SmallVector getWorklist (Function & F)Find matching pairs of integer div/rem ops (they have the same numerator,
denominator, and signedness). Place those pairs into a worklist for further
processing. This indirection is needed because we have to use TrackingVH
<
>
because we will be doing RAUW, and if one of the rem instructions we change
happens to be an input to another div/rem in the maps, we'd have problems.
Defined at line 122 of file llvm/lib/Transforms/Scalar/DivRemPairs.cpp
-
SDValue emitConstantSizeRepstos (SelectionDAG & DAG, const X86Subtarget & Subtarget, const SDLoc & dl, SDValue Chain, SDValue Dst, SDValue Val, uint64_t Size, EVT SizeVT, Align Alignment, bool isVolatile, bool AlwaysInline, MachinePointerInfo DstPtrInfo)Returns a REP STOS instruction, possibly with a few load/stores to implement
a constant size memory set. In some cases where we know REP MOVS is
inefficient we return an empty SDValue so the calling code can either
generate a store sequence or call the runtime memset function.
Defined at line 122 of file llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
-
void LLVMPassBuilderOptionsSetVerifyEach (LLVMPassBuilderOptionsRef Options, LLVMBool VerifyEach)Toggle adding the VerifierPass for the PassBuilder, ensuring all functions
inside the module is valid.
Defined at line 123 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
void LLVMDisposeTargetMachineOptions (LLVMTargetMachineOptionsRef Options)Dispose of an LLVMTargetMachineOptionsRef instance.
Defined at line 123 of file llvm/lib/Target/TargetMachineC.cpp
-
bool shouldPrintBeforeOrAfterPass (StringRef PassID, ArrayRef PassesToPrint)Defined at line 123 of file llvm/lib/IR/PrintPasses.cpp
-
unsigned int getBitWidth (Type * Ty, const DataLayout & DL)Returns the bitwidth of the given scalar or pointer type. For vector types,
returns the element type's bitwidth.
Defined at line 123 of file llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
-
bool isLeakCheckerRoot (GlobalVariable * GV)Is this global variable possibly used by a leak checker as a root? If so,
we might not really want to eliminate the stores to it.
Defined at line 123 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
int llvm_dwp_main (int argc, char ** argv, const llvm::ToolContext & )Defined at line 123 of file llvm/tools/llvm-dwp/llvm-dwp.cpp
-
void initializeWinEHPreparePassOnce (PassRegistry & Registry)Defined at line 124 of file llvm/lib/CodeGen/WinEHPrepare.cpp
-
void initializeWinEHStatePassPassOnce (PassRegistry & Registry)Defined at line 124 of file llvm/lib/Target/X86/X86WinEHState.cpp
-
basic_string gtest_DirectiveNameParserTestParseValid_EvalGenerateName_ (const ::testing::TestParamInfo<ParseValid::ParamType> & info)Defined at line 124 of file llvm/unittests/Frontend/OpenMPDirectiveNameParserTest.cpp
-
ParamGenerator gtest_DirectiveNameParserTestParseValid_EvalGenerator_ ()Defined at line 124 of file llvm/unittests/Frontend/OpenMPDirectiveNameParserTest.cpp
-
template <typename LTy, typename RTy>auto m_AnyMul (const LTy & L, const RTy & R)Match any mul operation (fp or integer).
Defined at line 124 of file llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
-
LLVMBool LLVMGetBitcodeModule (LLVMMemoryBufferRef MemBuf, LLVMModuleRef * OutM, char ** OutMessage)This is deprecated. Use LLVMGetBitcodeModule2.
Defined at line 124 of file llvm/lib/Bitcode/Reader/BitReader.cpp
-
void LLVMInitializeAllDisassemblers ()LLVMInitializeAllDisassemblers - The main program should call this function
if it wants all disassemblers that LLVM is configured to support, to make
them available via the TargetRegistry.
Defined at line 124 of file llvm/include/llvm-c/Target.h
-
void LLVMInitializeAllDisassemblers ()LLVMInitializeAllDisassemblers - The main program should call this function
if it wants all disassemblers that LLVM is configured to support, to make
them available via the TargetRegistry.
Defined at line 124 of file llvm/include/llvm-c/Target.h
-
LLVMDisasmContextRef LLVMCreateDisasm (const char * TripleName, void * DisInfo, int TagType, LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp)Create a disassembler for the TripleName. Symbolic disassembly is supported
by passing a block of information in the DisInfo parameter and specifying the
TagType and callback functions as described above. These can all be passed
as NULL. If successful, this returns a disassembler context. If not, it
returns NULL. This function is equivalent to calling
LLVMCreateDisasmCPUFeatures() with an empty CPU name and feature set.
Defined at line 124 of file llvm/lib/MC/MCDisassembler/Disassembler.cpp
-
size_t argPlusPrefixesSize (StringRef ArgName, size_t Pad)Defined at line 124 of file llvm/lib/Support/CommandLine.cpp
-
Instruction * getFirstNonAllocaInTheEntryBlock (Function * F)Finds first non alloca instruction in the entry block of a function.
Defined at line 124 of file llvm/lib/Transforms/Coroutines/CoroElide.cpp
-
void * findLastDebugDescriptorEntryPtr ()Defined at line 124 of file llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
-
StringRef parseSegmentOrSectionName (const char * P)Defined at line 124 of file llvm/lib/Object/MachOObjectFile.cpp
-
bool noDuplicateRulesAndIgnore (ArrayRef Rules)Defined at line 124 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
CallInst * InsertCall (BuilderTy & IRB, bool MayReturn, StringRef Name)Defined at line 124 of file llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
-
void printKnownBits (raw_ostream & OS, const KnownBits & Bits, char Unknown)Similar to KnownBits::print(), but allows you to specify a character to use
to print unknown bits.
Defined at line 124 of file llvm/utils/TableGen/DecoderEmitter.cpp
-
basic_string searchForObj (StringRef Path, StringRef Extension)Search for a matching object image for the given PDB path.
Defined at line 124 of file llvm/lib/DebugInfo/LogicalView/LVReaderHandler.cpp
-
bool needToInsertPhisForLCSSA (Loop * L, const std::vector<BasicBlock *> & Blocks, LoopInfo * LI)Check if unrolling created a situation where we need to insert phi nodes to
preserve LCSSA form.
Parameters
Blocks is a vector of basic blocks representing unrolled loop.L is the outer loop. It's possible that some of the blocks are in L, and some are not. In this case, if there is a use is outside L, and definition is inside L, we need to insert a phi-node, otherwise LCSSA will be broken. The function is just a helper function for llvm::UnrollLoop that returns true if this situation occurs, indicating that LCSSA needs to be fixed.Defined at line 124 of file llvm/lib/Transforms/Utils/LoopUnroll.cpp
-
Value * getRowFromCol (Instruction * II, Value * V, unsigned int Granularity)Defined at line 124 of file llvm/lib/Target/X86/X86LowerAMXType.cpp
-
bool hasProcessableCondition (const Loop & L, ScalarEvolution & SE, ICmpInst * ICmp, ConditionInfo & Cond, bool IsExitCond)Defined at line 124 of file llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
-
int llvm_debuginfod_main (int argc, char ** argv, const llvm::ToolContext & )Defined at line 124 of file llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
-
InstrUID decode (OpcodeType type, InstructionContext insnContext, uint8_t opcode, uint8_t modRM)Defined at line 124 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
Error executeObjcopy (ConfigManager & ConfigMgr)The function executeObjcopy does the higher level dispatch based on the type
of input (raw binary, archive or single object file) and takes care of the
format-agnostic modifications, i.e. preserving dates.
Defined at line 124 of file llvm/tools/llvm-objcopy/llvm-objcopy.cpp
-
bool rescheduleCanonically (unsigned int & PseudoIdempotentInstCount, MachineBasicBlock * MBB)Defined at line 124 of file llvm/lib/CodeGen/MIRCanonicalizerPass.cpp
-
template <endianness Endian>HalfWords makeHalfWords (array Mem)Big-endian for v7 and v8 (and v6 unless in legacy backwards compatible mode
be32) have little-endian instructions and big-endian data. In ELF relocatable
objects big-endian instructions may still be encountered. A be8 supporting
linker is expected to endian-reverse instructions for the executable.
Defined at line 125 of file llvm/unittests/ExecutionEngine/JITLink/AArch32Tests.cpp
-
uint64_t hash (StringRef Str)StringMap uses xxh3_64bits, truncated to uint32_t.
Defined at line 125 of file llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
-
basic_string getIsEnabledPredicateEnumName (unsigned int CombinerRuleID)Defined at line 125 of file llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
-
void printRegMIR (Register Reg, yaml::StringValue & Dest, const TargetRegisterInfo * TRI)Defined at line 125 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
bool runImpl (const TargetLibraryInfo & TLI, Function & F)Defined at line 125 of file llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
-
Function * createRetFunction (Module * M, StringRef Name, uint32_t ReturnCode)Defined at line 125 of file llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
-
void hash_one_portable (const uint8_t * input, size_t blocks, const uint32_t[8] key, uint64_t counter, uint8_t flags, uint8_t flags_start, uint8_t flags_end, uint8_t[32] out)Defined at line 125 of file llvm/lib/Support/BLAKE3/blake3_portable.c
-
void addLocAccess (MemoryEffects & ME, const MemoryLocation & Loc, ModRefInfo MR, AAResults & AAR)Defined at line 125 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
void chunk_state_update (llvm_blake3_chunk_state * self, const uint8_t * input, size_t input_len)Defined at line 125 of file llvm/lib/Support/BLAKE3/blake3.c
-
basic_string computeM68kDataLayout (const Triple & TT)Defined at line 125 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
unsigned int getANDriOpcode (bool IsLP64, int64_t Imm)Defined at line 126 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
void initializeConstantHoistingLegacyPassPassOnce (PassRegistry & Registry)Defined at line 126 of file llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
-
void collectUsedGlobals (GlobalVariable * GV, SmallSetVector<Constant *, 16> & Init)Defined at line 126 of file llvm/lib/Transforms/Utils/ModuleUtils.cpp
-
uint64_t computeStackId (GlobalValue::GUID Function, uint32_t LineOffset, uint32_t Column)Defined at line 126 of file llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
-
void dumpTLIEntries (const TargetLibraryInfo & TLI)Defined at line 126 of file llvm/tools/llvm-tli-checker/llvm-tli-checker.cpp
-
void UnEscapeLexed (std::string & Str)UnEscapeLexed - Run through the specified buffer and change
codes to the
appropriate character.
Defined at line 126 of file llvm/lib/AsmParser/LLLexer.cpp
-
basic_string unescapeQuotedString (StringRef Value)Unescapes the given string value.
Expects the string value to be quoted.
Defined at line 126 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
unsigned int getMaskedICmpType (Value * A, Value * B, Value * C, Predicate Pred)Return the set of patterns (from MaskedICmpType) that (icmp SCC (A
&
B), C)
satisfies.
Defined at line 126 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
int findSurvivorBackwards (const MachineRegisterInfo & MRI, int From, int To, const LiveRegUnits & LiveOut, ArrayRef<MCPhysReg> AllocationOrder, bool RestoreAfter)Given the bitvector
of free register units at position
Search backwards to find a register that is part of
and not used/clobbered until the point
If there is
multiple candidates continue searching and pick the one that is not used/
clobbered for the longest time.
Returns the register and the earliest position we know it to be free or
the position MBB.end() if no register is available.
Defined at line 126 of file llvm/lib/CodeGen/RegisterScavenging.cpp
-
void dumpCXXData (const ObjectFile * Obj)Defined at line 126 of file llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
-
void LLVMTargetMachineOptionsSetCPU (LLVMTargetMachineOptionsRef Options, const char * CPU)Defined at line 127 of file llvm/lib/Target/TargetMachineC.cpp
-
DIScope * getNonCompileUnitScope (DIScope * N)If N is compile unit return NULL otherwise return N.
Defined at line 127 of file llvm/lib/IR/DIBuilder.cpp
-
template <typename HasherT, llvm::endianness Endianness>void addHash (llvm::HashBuilder<HasherT, Endianness> & HBuilder, const SimpleStruct & Value)Defined at line 127 of file llvm/unittests/Support/HashBuilderTest.cpp
-
bool getVal (MDTuple * MD, const char * Key, double & Val)Defined at line 127 of file llvm/lib/IR/ProfileSummary.cpp
-
APInt toSigned (APInt AbsVal, bool Negative)Defined at line 127 of file llvm/lib/FileCheck/FileCheck.cpp
-
uint32_t handleOverloadedMethod (ArrayRef Data, uint32_t Offset, SmallVectorImpl<TiReference> & Refs)Defined at line 127 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
unsigned int unrollAndJamCountPragmaValue (const Loop * L)If loop has an unroll_and_jam_count pragma return the (necessarily
positive) value from the pragma. Otherwise return 0.
Defined at line 127 of file llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
-
template <typename TargetVecT, typename ValTypeT, typename V>void addDiffForTargSlice (V Val, Target Targ, DiffOutput & Diff, InterfaceInputOrder Order)Defined at line 127 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
unique_ptr loadFile (const char * argv0, unique_ptr Buffer, LLVMContext & Context, bool MaterializeMetadata)Read the specified bitcode file in and return it. This routine searches the
link path for the specified file to try to find it...
Defined at line 127 of file llvm/tools/llvm-link/llvm-link.cpp
-
bool splitUstar (StringRef Path, StringRef & Prefix, StringRef & Name)Path fits in a Ustar header if
- Path is less than 100 characters long, or
- Path is in the form of "<prefix>/<name>" where
<prefix
> is less
than or equal to 155 characters long and
<name
> is less than 100
characters long. Both
<prefix
> and
<name
> can contain extra '/'.
If Path fits in a Ustar header, updates Prefix and Name and returns true.
Otherwise, returns false.
Defined at line 127 of file llvm/lib/Support/TarWriter.cpp
-
Expected createOnDiskBuffer (StringRef Path, size_t Size, unsigned int Mode)Defined at line 127 of file llvm/lib/Support/FileOutputBuffer.cpp
-
Model getEffectiveRelocModel (const Triple & TT, bool JIT, std::optional<Reloc::Model> RM)Defined at line 127 of file llvm/lib/Target/X86/X86TargetMachine.cpp
-
Error readGSIHashBuckets (FixedStreamArray<support::ulittle32_t> & HashBuckets, FixedStreamArray<support::ulittle32_t> & HashBitmap, const GSIHashHeader * HashHdr, MutableArrayRef BucketMap, BinaryStreamReader & Reader)Defined at line 127 of file llvm/lib/DebugInfo/PDB/Native/GlobalsStream.cpp
-
void substituteOperandWithArgument (Function * OldF, ArrayRef OpsToReplace)Add a new function argument to
for each use in
, and
replace those operand values with the new function argument.
Defined at line 127 of file llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
-
void initializeLocalStackSlotPassPassOnce (PassRegistry & Registry)Defined at line 128 of file llvm/lib/CodeGen/LocalStackSlotAllocation.cpp
-
template <class T>T diff (T L, T R)Defined at line 128 of file llvm/tools/llvm-xray/xray-account.cpp
-
void LLVMPassBuilderOptionsSetDebugLogging (LLVMPassBuilderOptionsRef Options, LLVMBool DebugLogging)Toggle debug logging when running the PassBuilder
Defined at line 128 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
const Value * skipMetadataWrapper (const Value * V)Look for a value that might be wrapped as metadata, e.g. a value in a
metadata operand. Returns the input value as-is if it is not wrapped.
Defined at line 128 of file llvm/lib/IR/AsmWriter.cpp
-
WrapperFunctionBuffer addAsyncWrapper (const char * ArgData, size_t ArgSize)Defined at line 128 of file llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp
-
void inlineVolatileOrAtomicWithExtraArgs (bool * Inline, bool Volatile, bool Atomic, DiagnosticInfoIROptimization & R)Defined at line 128 of file llvm/lib/Transforms/Utils/MemoryOpRemark.cpp
-
void printProfileTable (raw_ostream & OS, ArrayRef Profiles, bool Experimental)Defined at line 128 of file llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
-
optional isBigEndian (const int & MemOffset2Idx, int64_t LowestIdx)Given a map from byte offsets in memory to indices in a load/store,
determine if that map corresponds to a little or big endian byte pattern.
E.g. given a 32-bit type x, and x[AddrOffset], the in-memory byte patterns
are as follows:
AddrOffset Little endian Big endian
0 0 3
1 1 2
2 2 1
3 3 0
Parameters
MemOffset2Idx maps memory offsets to address offsets.LowestIdx is the lowest index inDefined at line 128 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
bool CC_X86_64_VectorCall (unsigned int & ValNo, MVT & ValVT, MVT & LocVT, CCValAssign::LocInfo & LocInfo, ISD::ArgFlagsTy & ArgFlags, CCState & State)Vectorcall calling convention has special handling for vector types or
HVA for 64 bit arch.
For HVAs shadow registers might be allocated on the first pass
and actual XMM registers are allocated on the second pass.
For vector types, actual XMM registers are allocated on the first pass.
Returns
true if registers were allocated and false otherwise.
Defined at line 128 of file llvm/lib/Target/X86/X86CallingConv.cpp
-
void initializeRegAllocScoringPassOnce (PassRegistry & Registry)Defined at line 129 of file llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
-
void initializeX86CallFrameOptimizationPassOnce (PassRegistry & Registry)Defined at line 129 of file llvm/lib/Target/X86/X86CallFrameOptimization.cpp
-
const Loop * getOutermostLoop (const LoopInfo * LI, const BasicBlock * BB)LoopInfo contains a mapping from basic block to the innermost loop. Find
the outermost loop in the loop nest that contains BB.
Defined at line 129 of file llvm/lib/Analysis/CFG.cpp
-
bool callHasFloatingPointArgument (const CallInst * CI)Defined at line 129 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
void emitHashFunction (raw_ostream & OS)Defined at line 129 of file llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
-
bool setOnlyWritesErrnoMemory (Function & F)Defined at line 129 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
unsigned int popcnt (uint64_t x)Count the number of 1 bits.
Defined at line 129 of file llvm/lib/Support/BLAKE3/blake3_impl.h
-
SmallVector collectIndirectableUses (GlobalVariable * G)Defined at line 129 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
void recordCondition (CallBase & CB, BasicBlock * From, BasicBlock * To, ConditionsTy & Conditions)If From has a conditional jump to To, add the condition to Conditions,
if it is relevant to any argument at CB.
Defined at line 129 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
bool callLooksLikeOperator (CallBase * CB, SmallVectorImpl<Value *> & OperatorArgs)Defined at line 129 of file llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
-
Expected uriFromAbsolutePath (StringRef AbsolutePath, StringRef Scheme)Defined at line 129 of file llvm/lib/Support/LSP/Protocol.cpp
-
const Target * GetTarget (const MachOObjectFile * MachOObj, const char ** McpuDefault, const Target ** ThumbTarget, Triple & ThumbTriple)Defined at line 129 of file llvm/tools/llvm-objdump/MachODump.cpp
-
int getInputs (opt::InputArgList & Args, bool DsymAsInput)Return a list of input files. This function has logic for dealing with the
special case where we might have dSYM bundles as input. The function
returns an error when the directory structure doesn't match that of a dSYM
bundle.
Defined at line 129 of file llvm/tools/dsymutil/dsymutil.cpp
-
void initializeLibCalls (TargetLibraryInfoImpl & TLI, const Triple & T, const llvm::StringTable & StandardNames, VectorLibrary VecLib)Initialize the set of available library functions based on the specified
target triple. This should be carefully written so that a missing target
triple gets a sane set of defaults.
Defined at line 129 of file llvm/lib/Analysis/TargetLibraryInfo.cpp
-
unsigned int getLEArOpcode (bool IsLP64)Defined at line 130 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
template <typename LTy, typename RTy>auto m_AnyAdd (const LTy & L, const RTy & R)Match any add operation (fp or integer).
Defined at line 130 of file llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
-
LLVMBool LLVMGetBitcodeModule2 (LLVMMemoryBufferRef MemBuf, LLVMModuleRef * OutM)Defined at line 130 of file llvm/lib/Bitcode/Reader/BitReader.cpp
-
void initializeMachineCombinerPassOnce (PassRegistry & Registry)Defined at line 130 of file llvm/lib/CodeGen/MachineCombiner.cpp
-
bool isDebugTSection (SectionRef Section, CVTypeArray & Types)Defined at line 130 of file llvm/lib/DebugInfo/PDB/Native/InputFile.cpp
-
void executeFMulInst (GenericValue & Dest, GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 130 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
ConstantFPRange makeGreaterThan (APFloat V, Predicate Pred)Return (V, +inf] or [V, +inf]
Defined at line 130 of file llvm/lib/IR/ConstantFPRange.cpp
-
bool upgradeX86MultiplyAddWords (Function * F, Intrinsic::ID IID, Function *& NewFn)Upgrade the declaration of multipy and add words intrinsics whose input
arguments' types have changed to vectors of i32 to vectors of i16
Defined at line 130 of file llvm/lib/IR/AutoUpgrade.cpp
-
bool doesSuffixLookLikeMangledType (StringRef Suffix)Return true if the given Suffix looks like a mangled type. Note that this
check is conservative, but allows all existing LLVM intrinsic suffixes to be
considered as not looking like a mangling suffix.
Defined at line 130 of file llvm/utils/TableGen/Basic/CodeGenIntrinsics.cpp
-
int AssembleInput (StringRef ProgName, const Target * TheTarget, SourceMgr & SrcMgr, MCContext & Ctx, MCStreamer & Str, MCAsmInfo & MAI, MCSubtargetInfo & STI, MCInstrInfo & MCII, MCTargetOptions & MCOptions, const opt::ArgList & InputArgs)Defined at line 130 of file llvm/tools/llvm-ml/llvm-ml.cpp
-
void printIndirectCFInstructions (FileAnalysis & Analysis, const SpecialCaseList * SpecialCaseList)Defined at line 130 of file llvm/tools/llvm-cfi-verify/llvm-cfi-verify.cpp
-
LLTCodeGen getLLTCodeGen (const PatternType & PT)===- MatchTable Helpers ------------------------------------------------===//
Defined at line 131 of file llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
-
Value * simplifyCmpSelTrueCase (CmpPredicate Pred, Value * LHS, Value * RHS, Value * Cond, const SimplifyQuery & Q, unsigned int MaxRecurse)Simplify comparison with true branch of select
Defined at line 131 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
DILexicalBlockBase * cloneAndReplaceParentScope (DILexicalBlockBase * LBB, DIScope * NewParent)Defined at line 131 of file llvm/lib/IR/DebugInfoMetadata.cpp
-
SmallString argPrefix (StringRef ArgName, size_t Pad)Defined at line 131 of file llvm/lib/Support/CommandLine.cpp
-
int initRegisterMaskIds (const MachineFunction & MF)Defined at line 131 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
ElfType getOutputElfType (const Binary & Bin)Defined at line 131 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
void computePrevailingCopies (const ModuleSummaryIndex & Index, int & PrevailingCopy)Populate map of GUID to the prevailing copy for any multiply defined
symbols. Currently assume first copy is prevailing, or any strong
definition. Can be refined with Linker information in the future.
Defined at line 131 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
Expected getApplePropertyName (const DWARFDie & PropDIE)Defined at line 131 of file llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
-
template <typename T, endianness E>Error readFRE (ArrayRef Data, uint64_t & Offset, typename SFrameParser<E>::FrameRowEntry & FRE)Defined at line 131 of file llvm/lib/Object/SFrameParser.cpp
-
int getInterfaceFile (StringRef Filename, bool ResetBanner)Defined at line 131 of file llvm/tools/llvm-readtapi/llvm-readtapi.cpp
-
SymbolRef getPreferredSymbol (const COFFObjectFile & COFF, SymbolRef Sym, uint32_t & SymbolOffset, bool IsRangeEnd)Defined at line 131 of file llvm/tools/llvm-readobj/Win64EHDumper.cpp
-
void doList (opt::InputArgList & Args)Defined at line 131 of file llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
-
bool emitFeaturesAux (StringRef TargetName, const Init & Val, bool ParenIfBinOp, raw_ostream & OS)If ParenIfBinOp is true, print a surrounding () if Val uses
&
&
or ||.
Defined at line 131 of file llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
-
int readInputFile (std::optional<FileFormat> & InputFormat, StringRef FilePath)Defined at line 131 of file llvm/tools/llvm-ifs/llvm-ifs.cpp
-
optional getQualifiedNameIndex (DWARFDie & Die, uint64_t Language, GsymCreator & Gsym)Get the GsymCreator string table offset for the qualified name for the
DIE passed in. This function will avoid making copies of any strings in
the GsymCreator when possible. We don't need to copy a string when the
string comes from our .debug_str section or is an inlined string in the
.debug_info. If we create a qualified name string in this function by
combining multiple strings in the DWARF string table or info, we will make
a copy of the string when we add it to the string table.
Defined at line 131 of file llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
-
void calcPredicateUsingBooleans (ArrayRef Branches, ArrayRef Outgoing, SmallVectorImpl<BasicBlock *> & GuardBlocks, BBPredicates & GuardPredicates, SmallVectorImpl<WeakVH> & DeletionCandidates)Determine the branch condition to be used at each guard block from the
original boolean values.
Defined at line 131 of file llvm/lib/Transforms/Utils/ControlFlowUtils.cpp
-
Value * foldSelectICmpAnd (SelectInst & Sel, Value * CondVal, Value * TrueVal, Value * FalseVal, Value * V, const APInt & AndMask, bool CreateAnd, InstCombiner::BuilderTy & Builder)This folds:
select (icmp eq (and X, C1)), TC, FC
iff C1 is a power 2 and the difference between TC and FC is a power-of-2.
To something like:
(shr (and (X, C1)), (log2(C1) - log2(TC-FC))) + FC
Or:
(shl (and (X, C1)), (log2(TC-FC) - log2(C1))) + FC
With some variations depending if FC is larger than TC, or the shift
isn't needed, or the bit widths don't match.
Defined at line 131 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
unsigned int getCPUType (const MachOObjectFile & O)Defined at line 132 of file llvm/lib/Object/MachOObjectFile.cpp
-
const Init * QualifyName (MultiClass * MC, const Init * Name)Defined at line 132 of file llvm/lib/TableGen/TGParser.cpp
-
int llvm_cxxfilt_main (int argc, char ** , const llvm::ToolContext & )Defined at line 160 of file llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
-
bool Execute (ProcessInfo & PI, StringRef Program, ArrayRef Args, optional Env, ArrayRef Redirects, unsigned int MemoryLimit, std::string * ErrMsg, BitVector * AffinityMask, bool DetachProcess)===----------------------------------------------------------------------===//
=== WARNING: Implementation here must contain only TRULY operating system
=== independent code.
===----------------------------------------------------------------------===//
Defined at line 164 of file llvm/lib/Support/Unix/Program.inc
-
int llvm_calc ()calc.c
Defined at line 148 of file llvm/tools/llvm-c-test/calc.c
-
llvm_orc_registerEHFrameSectionAllocAction (const char * ArgData, size_t ArgSize)Defined at line 166 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.cpp
-
Error dxcontainer2yaml (llvm::raw_ostream & Out, MemoryBufferRef Source)Defined at line 172 of file llvm/tools/obj2yaml/dxcontainer2yaml.cpp
-
bool runImpl (Module & M)Defined at line 153 of file llvm/lib/CodeGen/JMCInstrumenter.cpp
-
Error dumpDebugRanges (llvm::DWARFContext & DCtx, llvm::DWARFYAML::Data & Y)Defined at line 139 of file llvm/tools/obj2yaml/dwarf2yaml.cpp
-
bool InsertIntrinsicCalls (ArrayRef CBRs, DominatorTree & DT)Defined at line 140 of file llvm/lib/CodeGen/CallBrPrepare.cpp
-
void LLVMDisasmDispose (LLVMDisasmContextRef DC)Dispose of a disassembler context.
Defined at line 134 of file llvm/lib/MC/MCDisassembler/Disassembler.cpp
-
int lmatcher (struct re_guts * , const char * , size_t , llvm_regmatch_t[] , int )- matcher - the actual matching engine
Defined at line 133 of file llvm/lib/Support/regengine.inc
-
int smatcher (struct re_guts * , const char * , size_t , llvm_regmatch_t[] , int )- matcher - the actual matching engine
Defined at line 133 of file llvm/lib/Support/regengine.inc
-
LLVMBool LLVMCreateJITCompilerForModule (LLVMExecutionEngineRef * OutJIT, LLVMModuleRef M, unsigned int OptLevel, char ** OutError)Defined at line 133 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
void LLVMPassBuilderOptionsSetAAPipeline (LLVMPassBuilderOptionsRef Options, const char * AAPipeline)Specify a custom alias analysis pipeline for the PassBuilder to be used
instead of the default one. The string argument is not copied; the caller
is responsible for ensuring it outlives the PassBuilderOptions instance.
Defined at line 133 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
void LLVMInitializeMCJITCompilerOptions (struct LLVMMCJITCompilerOptions * Options, size_t SizeOfOptions)Defined at line 150 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
void LLVMPassBuilderOptionsSetLoopInterleaving (LLVMPassBuilderOptionsRef Options, LLVMBool LoopInterleaving)Defined at line 138 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
int llvm_regexec (const llvm_regex_t * , const char * , size_t , llvm_regmatch_t[] , int )Defined at line 140 of file llvm/lib/Support/regexec.c
-
void LLVMPassBuilderOptionsSetLoopVectorization (LLVMPassBuilderOptionsRef Options, LLVMBool LoopVectorization)Defined at line 143 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
void LLVMPassBuilderOptionsSetSLPVectorization (LLVMPassBuilderOptionsRef Options, LLVMBool SLPVectorization)Defined at line 148 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
void LLVMPassBuilderOptionsSetLoopUnrolling (LLVMPassBuilderOptionsRef Options, LLVMBool LoopUnrolling)Defined at line 153 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
basic_string fetchDebugInfo (ArrayRef BuildID)Find a debug file in local build ID directories and via debuginfod.
Defined at line 154 of file llvm/tools/llvm-debuginfod-find/llvm-debuginfod-find.cpp
-
void LLVMPassBuilderOptionsSetForgetAllSCEVInLoopUnroll (LLVMPassBuilderOptionsRef Options, LLVMBool ForgetAllSCEVInLoopUnroll)Defined at line 158 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
void LLVMPassBuilderOptionsSetLicmMssaOptCap (LLVMPassBuilderOptionsRef Options, unsigned int LicmMssaOptCap)Defined at line 163 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
LLVMBool LLVMCreateMCJITCompilerForModule (LLVMExecutionEngineRef * OutJIT, LLVMModuleRef M, struct LLVMMCJITCompilerOptions * Options, size_t SizeOfOptions, char ** OutError)Create an MCJIT execution engine for a module, with the given options. It is
the responsibility of the caller to ensure that all fields in Options up to
the given SizeOfOptions are initialized. It is correct to pass a smaller
value of SizeOfOptions that omits some fields. The canonical way of using
this is:
LLVMMCJITCompilerOptions options;
LLVMInitializeMCJITCompilerOptions(
&options
, sizeof(options));
... fill in those options you care about
LLVMCreateMCJITCompilerForModule(
&jit
, mod,
&options
, sizeof(options),
&error
);
Note that this is also correct, though possibly suboptimal:
LLVMCreateMCJITCompilerForModule(
&jit
, mod, 0, 0,
&error
);
Defined at line 160 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
LLVMBinaryRef LLVMMachOUniversalBinaryCopyObjectForArch (LLVMBinaryRef BR, const char * Arch, size_t ArchLen, char ** ErrorMessage)For a Mach-O universal binary file, retrieves the object file corresponding
to the given architecture if it is present as a slice.
If NULL is returned, the
parameter is populated with the
error's description. It is then the caller's responsibility to free this
message by calling
It is the responsiblity of the caller to free the returned object file by
calling
Defined at line 140 of file llvm/lib/Object/Object.cpp
-
void LLVMPassBuilderOptionsSetLicmMssaNoAccForPromotionCap (LLVMPassBuilderOptionsRef Options, unsigned int LicmMssaNoAccForPromotionCap)Defined at line 168 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
LLVMSectionIteratorRef LLVMObjectFileCopySectionIterator (LLVMBinaryRef BR)Retrieve a copy of the section iterator for this object file.
If there are no sections, the result is NULL.
The returned iterator is merely a shallow copy. Nevertheless, it is
the responsibility of the caller to free it with
Defined at line 154 of file llvm/lib/Object/Object.cpp
-
void LLVMTargetMachineOptionsSetFeatures (LLVMTargetMachineOptionsRef Options, const char * Features)Set the list of features for the target machine.
Parameters
Features a comma-separated list of features.Defined at line 132 of file llvm/lib/Target/TargetMachineC.cpp
-
void LLVMRemarkEntryDispose (LLVMRemarkEntryRef Remark)Free the resources used by the remark entry.
Defined at line 104 of file llvm/lib/Remarks/Remark.cpp
-
LLVMRemarkType LLVMRemarkEntryGetType (LLVMRemarkEntryRef Remark)The type of the remark. For example, it can allow users to only keep the
missed optimizations from the compiler.
Defined at line 108 of file llvm/lib/Remarks/Remark.cpp
-
LLVMRemarkStringRef LLVMRemarkEntryGetPassName (LLVMRemarkEntryRef Remark)Get the name of the pass that emitted this remark.
Defined at line 113 of file llvm/lib/Remarks/Remark.cpp
-
LLVMRemarkStringRef LLVMRemarkEntryGetRemarkName (LLVMRemarkEntryRef Remark)Get an identifier of the remark.
Defined at line 118 of file llvm/lib/Remarks/Remark.cpp
-
LLVMRemarkStringRef LLVMRemarkEntryGetFunctionName (LLVMRemarkEntryRef Remark)Get the name of the function being processed when the remark was emitted.
Defined at line 123 of file llvm/lib/Remarks/Remark.cpp
-
LLVMRemarkDebugLocRef LLVMRemarkEntryGetDebugLoc (LLVMRemarkEntryRef Remark)Returns the debug location that is attached to this remark.
If there is no debug location, the return value will be `NULL`.
Defined at line 128 of file llvm/lib/Remarks/Remark.cpp
-
LLVMRemarkParserRef LLVMRemarkParserCreateYAML (const void * Buf, uint64_t Size)Create wrappers for C Binding types (see CBindingWrapping.h).
Defined at line 109 of file llvm/lib/Remarks/RemarkParser.cpp
-
LLVMRemarkParserRef LLVMRemarkParserCreateBitstream (const void * Buf, uint64_t Size)Creates a remark parser that can be used to parse the buffer located in
of size
bytes.
cannot be `NULL`.
This function should be paired with LLVMRemarkParserDispose() to avoid
leaking resources.
Defined at line 115 of file llvm/lib/Remarks/RemarkParser.cpp
-
unsigned long long LLVMABISizeOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)Computes the ABI size of a type in bytes for a target.
See the method llvm::DataLayout::getTypeAllocSize.
Defined at line 104 of file llvm/lib/Target/Target.cpp
-
unsigned int LLVMABIAlignmentOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)Computes the ABI alignment of a type in bytes for a target.
See the method llvm::DataLayout::getTypeABISize.
Defined at line 108 of file llvm/lib/Target/Target.cpp
-
unsigned int LLVMCallFrameAlignmentOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)Computes the call frame alignment of a type in bytes for a target.
See the method llvm::DataLayout::getTypeABISize.
Defined at line 112 of file llvm/lib/Target/Target.cpp
-
unsigned int LLVMPreferredAlignmentOfType (LLVMTargetDataRef TD, LLVMTypeRef Ty)Computes the preferred alignment of a type in bytes for a target.
See the method llvm::DataLayout::getTypeABISize.
Defined at line 116 of file llvm/lib/Target/Target.cpp
-
unsigned int LLVMPreferredAlignmentOfGlobal (LLVMTargetDataRef TD, LLVMValueRef GlobalVar)Computes the preferred alignment of a global variable in bytes for a target.
See the method llvm::DataLayout::getPreferredAlignment.
Defined at line 120 of file llvm/lib/Target/Target.cpp
-
unsigned int LLVMElementAtOffset (LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned long long Offset)Computes the structure element that contains the byte offset for a target.
See the method llvm::StructLayout::getElementContainingOffset.
Defined at line 127 of file llvm/lib/Target/Target.cpp
-
LLVMRemarkEntryRef LLVMRemarkParserGetNext (LLVMRemarkParserRef Parser)Returns the next remark in the file.
The value pointed to by the return value needs to be disposed using a call to
LLVMRemarkEntryDispose().
All the entries in the returned value that are of LLVMRemarkStringRef type
will become invalidated once a call to LLVMRemarkParserDispose is made.
If the parser reaches the end of the buffer, the return value will be `NULL`.
In the case of an error, the return value will be `NULL`, and:
1) LLVMRemarkParserHasError() will return `1`.
2) LLVMRemarkParserGetErrorMessage() will return a descriptive error
message.
An error may occur if:
1) An argument is invalid.
2) There is a parsing error. This can occur on things like malformed YAML.
3) There is a Remark semantic error. This can occur on well-formed files with
missing or extra fields.
Here is a quick example of the usage:
```
LLVMRemarkParserRef Parser = LLVMRemarkParserCreateYAML(Buf, Size);
LLVMRemarkEntryRef Remark = NULL;
while ((Remark = LLVMRemarkParserGetNext(Parser))) {
// use Remark
LLVMRemarkEntryDispose(Remark); // Release memory.
}
bool HasError = LLVMRemarkParserHasError(Parser);
LLVMRemarkParserDispose(Parser);
```
Defined at line 121 of file llvm/lib/Remarks/RemarkParser.cpp
-
LLVMContextRef LLVMContextCreate ()Create a new context.
Every call to this function should be paired with a call to
LLVMContextDispose() or the context will leak memory.
Defined at line 104 of file llvm/lib/IR/Core.cpp
-
LLVMContextRef LLVMGetGlobalContext ()Obtain the global context instance.
Defined at line 108 of file llvm/lib/IR/Core.cpp
-
void LLVMContextSetDiagnosticHandler (LLVMContextRef C, LLVMDiagnosticHandler Handler, void * DiagnosticContext)Set the diagnostic handler for this context.
Defined at line 110 of file llvm/lib/IR/Core.cpp
-
LLVMDiagnosticHandler LLVMContextGetDiagnosticHandler (LLVMContextRef C)Get the diagnostic handler of this context.
Defined at line 119 of file llvm/lib/IR/Core.cpp
-
void * LLVMContextGetDiagnosticContext (LLVMContextRef C)Get the diagnostic context of this context.
Defined at line 124 of file llvm/lib/IR/Core.cpp
-
void LLVMContextSetYieldCallback (LLVMContextRef C, LLVMYieldCallback Callback, void * OpaqueHandle)Set the yield callback function for this context.
Defined at line 128 of file llvm/lib/IR/Core.cpp
-
bool isYmmOrZmmReg (MCRegister Reg)VZEROUPPER cleans state that is related to Y/ZMM0-15 only.
Thus, there is no need to check for Y/ZMM16 and above.
Defined at line 132 of file llvm/lib/Target/X86/X86VZeroUpper.cpp
-
void initializeSpeculativeExecutionLegacyPassPassOnce (PassRegistry & Registry)Defined at line 132 of file llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
-
void initializeTestCustomAAWrapperPassPassOnce (PassRegistry & Registry)Defined at line 132 of file llvm/unittests/Analysis/AliasAnalysisTest.cpp
-
Instruction * buildTargetLegalStore (Value * Val, Value * Ptr, InsertPosition IP, Module * M)Stores a value to memory, considering the target triple's restrictions.
Defined at line 132 of file llvm/lib/FuzzMutate/RandomIRBuilder.cpp
-
basic_string generateGetTypeIR (unsigned int Size)Defined at line 132 of file llvm/benchmarks/SandboxIRBench.cpp
-
int64_t readLEB128 (WasmObjectFile::ReadContext & Ctx)Defined at line 132 of file llvm/lib/Object/WasmObjectFile.cpp
-
bool isXMMLoadOpcode (unsigned int Opcode)Defined at line 132 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
unique_ptr getOrCreateLogFile ()Defined at line 132 of file llvm/lib/Transforms/Coroutines/CoroElide.cpp
-
optional absoluteSymbolDiff (const MCSymbol * Hi, const MCSymbol * Lo)As a compile-time optimization, avoid allocating and evaluating an MCExpr
tree for (Hi - Lo) when Hi and Lo are offsets into the same fragment's fixed
part.
Defined at line 132 of file llvm/lib/MC/MCObjectStreamer.cpp
-
void writeCodeRecord (const PerfJITCodeLoadRecord & CodeRecord)Defined at line 132 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
void printFunctionDiff (const FunctionDiff & FD, llvm::raw_ostream & OS)Defined at line 132 of file llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
-
GlobalVariable * createRelLookupTable (LookupTableInfo & Info, Function & Func, GlobalVariable & LookupTable)Defined at line 132 of file llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
-
BogusTargetMachine * createTargetMachine ()Defined at line 133 of file llvm/unittests/CodeGen/MFCommon.inc
-
unsigned long long LLVMOffsetOfElement (LLVMTargetDataRef TD, LLVMTypeRef StructTy, unsigned int Element)Computes the byte offset of the indexed struct element for a target.
See the method llvm::StructLayout::getElementContainingOffset.
Defined at line 133 of file llvm/lib/Target/Target.cpp
-
void initializeMachineRegionInfoPassPassOnce (PassRegistry & Registry)Defined at line 133 of file llvm/lib/CodeGen/MachineRegionInfo.cpp
-
Error processCommandLineLibraries ()Defined at line 133 of file llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
-
bool ignoreOp (const Instruction * I, unsigned int OpIdx)This function takes an instruction,
and an operand index,
It returns true if the operand should be ignored in the hash computation.
If
is out of range based on the other instruction context, it cannot
be ignored.
Defined at line 133 of file llvm/lib/CodeGen/GlobalMergeFunctions.cpp
-
bool isArithmeticOp (unsigned int Opc)Defined at line 134 of file llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
-
const MCExpr * makeStartPlusIntExpr (MCContext & Ctx, const MCSymbol & Start, int IntVal)This helper routine returns an expression of Start + IntVal .
Defined at line 134 of file llvm/lib/MC/MCDwarf.cpp
-
unsigned int getMOVriOpcode (bool Use64BitReg, int64_t Imm)Defined at line 134 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
LLVMBool LLVMInitializeNativeTarget ()LLVMInitializeNativeTarget - The main program should call this function to
initialize the native target corresponding to the host. This is useful
for JIT applications to ensure that the target gets linked in correctly.
Defined at line 134 of file llvm/include/llvm-c/Target.h
-
LLVMBool LLVMInitializeNativeTarget ()LLVMInitializeNativeTarget - The main program should call this function to
initialize the native target corresponding to the host. This is useful
for JIT applications to ensure that the target gets linked in correctly.
Defined at line 134 of file llvm/include/llvm-c/Target.h
-
StringRef getSpaceDelimitedWord (StringRef & Source)Defined at line 134 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
void benchmark (llvm::TimerGroup & Group, StringRef Name, StringRef Description, StringRef JSONText)Defined at line 134 of file llvm/utils/yaml-bench/YAMLBench.cpp
-
SpecialIntrinsicKind consumeSpecialIntrinsicKind (std::string_view & MangledName)Defined at line 134 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
bool mergeConstants (Module & M)Defined at line 134 of file llvm/lib/Transforms/IPO/ConstantMerge.cpp
-
uint64_t LLVMRemarkEntryGetHotness (LLVMRemarkEntryRef Remark)Return the hotness of the remark.
A hotness of `0` means this value is not set.
Defined at line 135 of file llvm/lib/Remarks/Remark.cpp
-
LLVMBool LLVMContextShouldDiscardValueNames (LLVMContextRef C)Retrieve whether the given context is set to discard all value names.
Defined at line 135 of file llvm/lib/IR/Core.cpp
-
void initializeShadowStackGCLoweringPassOnce (PassRegistry & Registry)Defined at line 135 of file llvm/lib/CodeGen/ShadowStackGCLowering.cpp
-
bool callHasFP128Argument (const CallInst * CI)Defined at line 135 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
void initializeBasicBlockSectionsPassOnce (PassRegistry & Registry)Defined at line 135 of file llvm/lib/CodeGen/BasicBlockSections.cpp
-
void printDepMatrix (CharMatrix & DepMatrix)Defined at line 135 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
basic_string formatPointerMode (PointerMode Mode)Defined at line 135 of file llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
-
bool ExecGraphViewer (StringRef ExecPath, std::vector<StringRef> & args, StringRef Filename, bool wait, std::string & ErrMsg)Execute the graph viewer. Return true if there were errors.
Defined at line 135 of file llvm/lib/Support/GraphWriter.cpp
-
void orderValue (const Value * V, OrderMap & OM)Defined at line 135 of file llvm/lib/IR/AsmWriter.cpp
-
StringRef maxPlainSubstring (StringRef S)Defined at line 135 of file llvm/lib/Support/GlobPattern.cpp
-
template <class StopSetT>bool isReachableImpl (SmallVectorImpl<BasicBlock *> & Worklist, const StopSetT & StopSet, const SmallPtrSetImpl<BasicBlock *> * ExclusionSet, const DominatorTree * DT, const LoopInfo * LI)Defined at line 135 of file llvm/lib/Analysis/CFG.cpp
-
unsigned int getCPUSubType (const MachOObjectFile & O)Defined at line 136 of file llvm/lib/Object/MachOObjectFile.cpp
-
StringRef checkStr (StringRef Str, unsigned int ExpectedLen)Defined at line 136 of file llvm/unittests/Remarks/BitstreamRemarksParsingTest.cpp
-
bool setOnlyWritesArgMemOrErrnoMem (Function & F)Defined at line 136 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
TailCallKind getOverridingTailCallKind (const Function & F)ObjCARC has knowledge about whether an obj-c runtime function needs to be
always tail-called or never tail-called.
Defined at line 136 of file llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
-
const unsigned char * getPrefixForHref (const unsigned char * HRef)Return the prefix that corresponds to the HRef. If HRef is not a recognized
URI, then just return the HRef itself to use as the prefix.
Defined at line 136 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
bool hasCountTypeMD (const Instruction & I)Defined at line 136 of file llvm/lib/IR/ProfDataUtils.cpp
-
bool isKeyValuePair (MDTuple * MD, const char * Key, const char * Val)Check if an MDTuple represents a (Key, Val) pair.
Defined at line 136 of file llvm/lib/IR/ProfileSummary.cpp
-
ilist_iterator_w_bits getEndIterator (BasicBlock & BB)Defined at line 136 of file llvm/lib/FuzzMutate/IRMutator.cpp
-
void appendToUsedList (Module & M, StringRef Name, ArrayRef Values)Defined at line 136 of file llvm/lib/Transforms/Utils/ModuleUtils.cpp
-
pair computePerfectHashParameters (ArrayRef Hashes)Return the table size, maximum number of collisions for the set of hashes
Defined at line 136 of file llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
-
void TimeOutHandler (int Sig)Defined at line 137 of file llvm/lib/Support/Unix/Program.inc
-
const Init * QualifiedNameOfImplicitName (const Record & Rec)Return the qualified version of the implicit 'NAME' template argument.
Defined at line 137 of file llvm/lib/TableGen/TGParser.cpp
-
uint64_t computeStackId (const memprof::Frame & Frame)Defined at line 137 of file llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
-
void appendDigit (std::string & Str, unsigned int D)Defined at line 137 of file llvm/lib/Support/ScaledNumber.cpp
-
void LLVMTargetMachineOptionsSetABI (LLVMTargetMachineOptionsRef Options, const char * ABI)Defined at line 137 of file llvm/lib/Target/TargetMachineC.cpp
-
FormattedNumber format_ptr (void * PC)Format a pointer value as hexadecimal. Zero pad it out so its always the
same width.
Defined at line 137 of file llvm/lib/Support/Signals.cpp
-
bool IsLegalItaniumChar (char C)This returns true if 'C' is a character that can show up in an
Itanium-mangled string.
Defined at line 137 of file llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
-
LLVMOrcObjectLayerRef objectLinkingLayerCreator (void * Opaque, LLVMOrcExecutionSessionRef ES, const char * Triple)Defined at line 137 of file llvm/examples/OrcV2Examples/OrcV2CBindingsMCJITLikeMemoryManager/OrcV2CBindingsMCJITLikeMemoryManager.c
-
bool checkFnHasLiveInYmmOrZmm (MachineRegisterInfo & MRI)Defined at line 137 of file llvm/lib/Target/X86/X86VZeroUpper.cpp
-
CallBase * getInlinableCS (Instruction & I)Defined at line 137 of file llvm/lib/Analysis/MLInlineAdvisor.cpp
-
unsigned int encodeCounter (ArrayRef Expressions, Counter C)Encode the counter.
The encoding uses the following format:
Low 2 bits - Tag:
Counter::Zero(0) - A Counter with kind Counter::Zero
Counter::CounterValueReference(1) - A counter with kind
Counter::CounterValueReference
Counter::Expression(2) + CounterExpression::Subtract(0) -
A counter with kind Counter::Expression and an expression
with kind CounterExpression::Subtract
Counter::Expression(2) + CounterExpression::Add(1) -
A counter with kind Counter::Expression and an expression
with kind CounterExpression::Add
Remaining bits - Counter/Expression ID.
Defined at line 137 of file llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
-
uint32_t handleOneMethod (ArrayRef Data, uint32_t Offset, SmallVectorImpl<TiReference> & Refs)Defined at line 137 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
bool CouldBecomeSafePoint (Instruction * I)CouldBecomeSafePoint - Predicate to conservatively determine whether the
instruction could introduce a safe point.
Defined at line 137 of file llvm/lib/CodeGen/GCRootLowering.cpp
-
template <typename T>bool processHeaderPhiOperands (BasicBlock * Header, BasicBlock * Latch, BasicBlockSet & AftBlocks, T Visit)Looks at the phi nodes in Header for values coming from Latch. For these
instructions and all their operands calls Visit on them, keeping going for
all the operands in AftBlocks. Returns false if Visit returns false,
otherwise returns true. This is used to process the instructions in the
Aft blocks that need to be moved before the subloop. It is used in two
places. One to check that the required set of instructions can be moved
before the loop. Then to collect the instructions to actually move in
moveHeaderPhiOperandsToForeBlocks.
Defined at line 137 of file llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
-
bool eliminateCondBranches_v1 (Function & F)Eliminate branches with constant conditionals. This is the first version,
which *does not* preserve the dominator tree.
Defined at line 137 of file llvm/examples/IRTransforms/SimplifyCFG.cpp
-
void computeConstraintToUse (const TargetLowering * TLI, TargetLowering::AsmOperandInfo & OpInfo)Defined at line 137 of file llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
-
void printHelpMessage ()Defined at line 138 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
int createMachineFunction (LLVMContext & Ctx, Module & M, const Twine & Name)Defined at line 138 of file llvm/unittests/CodeGen/MFCommon.inc
-
Expected initStream (MemoryBufferRef Buffer)Defined at line 138 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
Expected getMainModulePath (StringRef FunctionName, ModuleSummaryIndex & Index)Lookup the a function in the ModuleSummaryIndex and return the path of the
module that defines it. Paths in the ModuleSummaryIndex are relative to the
build directory of the covered modules.
Defined at line 138 of file llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/LLJITWithThinLTOSummaries.cpp
-
Error unbundleImages ()Defined at line 138 of file llvm/tools/llvm-offload-binary/llvm-offload-binary.cpp
-
void LLVMContextSetDiscardValueNames (LLVMContextRef C, LLVMBool Discard)Set whether the given context discards all value names.
If true, only the names of GlobalValue objects will be available in the IR.
This can be used to save memory and runtime, especially in release mode.
Defined at line 139 of file llvm/lib/IR/Core.cpp
-
void initializeRegToMemWrapperPassPassOnce (PassRegistry & Registry)Defined at line 139 of file llvm/lib/Transforms/Scalar/Reg2Mem.cpp
-
Value * simplifyCmpSelFalseCase (CmpPredicate Pred, Value * LHS, Value * RHS, Value * Cond, const SimplifyQuery & Q, unsigned int MaxRecurse)Simplify comparison with false branch of select
Defined at line 139 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
CallInst::BundleOpInfo * getBundleFromUse (const Use * U)Defined at line 139 of file llvm/lib/Analysis/AssumeBundleQueries.cpp
-
basic_string formatChecksumKind (FileChecksumKind Kind)Defined at line 139 of file llvm/lib/DebugInfo/PDB/Native/InputFile.cpp
-
void dumpSpills (StringRef Title, const coro::SpillInfo & Spills)Defined at line 139 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
void SetMemoryLimits (unsigned int size)Defined at line 139 of file llvm/lib/Support/Unix/Program.inc
-
size_t layout (BlobAllocator & File, MinidumpYAML::Memory64ListStream & S)Defined at line 139 of file llvm/lib/ObjectYAML/MinidumpEmitter.cpp
-
bool getUnderlyingObjectsForInstr (const MachineInstr * MI, const MachineFrameInfo & MFI, UnderlyingObjectsVector & Objects, const DataLayout & DL)If this machine instr has memory reference information and it can be
tracked to a normal reference to a known object, return the Value
for that object. This function returns false the memory location is
unknown or may alias anything.
Defined at line 139 of file llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
-
MachineBasicBlock & splitBlock (MachineBasicBlock & MBB, MachineInstr & SplitI, const X86InstrInfo & TII)Defined at line 139 of file llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
-
IntegerType * getSizeTType (LLVMContext & Ctx, const DataLayout & DL)TODO: There is really no guarantee that sizeof(size_t) is equal to the index
size of the default address space. This matches TargetLibraryInfo and should
be kept in sync.
Defined at line 140 of file llvm/lib/IR/RuntimeLibcalls.cpp
-
uint32_t getPlainRelocationAddress (const MachO::any_relocation_info & RE)Defined at line 140 of file llvm/lib/Object/MachOObjectFile.cpp
-
void initializePseudoProbeInserterPassOnce (PassRegistry & Registry)Defined at line 140 of file llvm/lib/CodeGen/PseudoProbeInserter.cpp
-
void initializeLoopDataPrefetchLegacyPassPassOnce (PassRegistry & Registry)Defined at line 140 of file llvm/lib/Transforms/Scalar/LoopDataPrefetch.cpp
-
bool isSymbolLinkerVisible (const MCSymbol & Symbol)Defined at line 140 of file llvm/lib/MC/MachObjectWriter.cpp
-
void validateArchitectureName (StringRef ArchitectureName)Defined at line 140 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
pair buildTargetLegalLoad (Type * AccessTy, Value * Ptr, InsertPosition IP, Module * M, const Twine & LoadName)Loads a value from memory, considering the target triple's restrictions.
Defined at line 140 of file llvm/lib/FuzzMutate/RandomIRBuilder.cpp
-
const SDep * CriticalPathStep (const SUnit * SU)CriticalPathStep - Return the next SUnit after SU on the bottom-up
critical path.
Defined at line 140 of file llvm/lib/CodeGen/CriticalAntiDepBreaker.cpp
-
void CloneNodeWithValues (SDNode * N, SelectionDAG * DAG, ArrayRef<EVT> VTs, SDValue ExtraOper)Helper for AddGlue to clone node operands.
Defined at line 140 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
-
Error dumpDebugSection (StringRef SecName, DWARFContext & DCtx, DWARFYAML::Data & DWARF)Defined at line 140 of file llvm/tools/obj2yaml/macho2yaml.cpp
-
void fixupIndexV5 (DWARFContext & C, DWARFUnitIndex & Index)Defined at line 140 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
BCEAtom visitICmpLoadOperand (Value *const Val, BaseIdentifier & BaseId)If this value is a load from a constant offset w.r.t. a base address, and
there are no other users of the load or address, returns the base address and
the offset.
Defined at line 140 of file llvm/lib/Transforms/Scalar/MergeICmps.cpp
-
bool addDiscriminators (Function & F)Assign DWARF discriminators.
To assign discriminators, we examine the boundaries of every
basic block and its successors. Suppose there is a basic block B1
with successor B2. The last instruction I1 in B1 and the first
instruction I2 in B2 are located at the same file and line number.
This situation is illustrated in the following code snippet:
if (i
<
10) x = i;
entry:
br i1 %cmp, label %if.then, label %if.end, !dbg !10
if.then:
%1 = load i32* %i.addr, align 4, !dbg !10
store i32 %1, i32* %x, align 4, !dbg !10
br label %if.end, !dbg !10
if.end:
ret void, !dbg !12
Notice how the branch instruction in block 'entry' and all the
instructions in block 'if.then' have the exact same debug location
information (!dbg !10).
To distinguish instructions in block 'entry' from instructions in
block 'if.then', we generate a new lexical block for all the
instruction in block 'if.then' that share the same file and line
location with the last instruction of block 'entry'.
This new lexical block will have the same location information as
the previous one, but with a new DWARF discriminator value.
One of the main uses of this discriminator value is in runtime
sample profilers. It allows the profiler to distinguish instructions
at location !dbg !10 that execute on different basic blocks. This is
important because while the predicate 'if (x
<
10)' may have been
executed millions of times, the assignment 'x = i' may have only
executed a handful of times (meaning that the entry->if.then edge is
seldom taken).
If we did not have discriminator information, the profiler would
assign the same weight to both blocks 'entry' and 'if.then', which
in turn will make it conclude that the entry->if.then edge is very
hot.
To decide where to create new discriminator values, this function
traverses the CFG and examines instruction at basic block boundaries.
If the last instruction I1 of a block B1 is at the same file and line
location as instruction I2 of successor B2, then it creates a new
lexical block for I2 and all the instruction in B2 that share the same
file and line location as I2. This new lexical block will have a
different discriminator number than I1.
Defined at line 140 of file llvm/lib/Transforms/Utils/AddDiscriminators.cpp
-
uint32_t LLVMRemarkEntryGetNumArgs (LLVMRemarkEntryRef Remark)The number of arguments the remark holds.
Defined at line 141 of file llvm/lib/Remarks/Remark.cpp
-
bool isGrouping (const Option * O)Option predicates...
Defined at line 141 of file llvm/lib/Support/CommandLine.cpp
-
const Init * QualifiedNameOfImplicitName (MultiClass * MC)Defined at line 141 of file llvm/lib/TableGen/TGParser.cpp
-
template <typename HasherT, llvm::endianness Endianness>void addHash (llvm::HashBuilder<HasherT, Endianness> & HBuilder, const StructWithoutCopyOrMove & Value)Defined at line 141 of file llvm/unittests/Support/HashBuilderTest.cpp
-
AllocationType getAllocType (const AllocationInfo * AllocInfo)Defined at line 141 of file llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
-
uint64_t getUnrollAndJammedLoopSize (unsigned int LoopSize, TargetTransformInfo::UnrollingPreferences & UP)Returns loop size estimation for unrolled loop.
Defined at line 141 of file llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
-
template <IR IRTy>void GetType (benchmark::State & State)Defined at line 141 of file llvm/benchmarks/SandboxIRBench.cpp
-
unsigned int findDefIdx (const MachineInstr * MI, unsigned int DefOperIdx)Find the def index of this operand. This index maps to the machine model and
is independent of use operands. Def operands may be reordered with uses or
merged with uses without affecting the def index (e.g. before/after
regalloc). However, an instruction's def operands must never be reordered
with respect to each other.
Defined at line 141 of file llvm/lib/CodeGen/TargetSchedule.cpp
-
void executeFDivInst (GenericValue & Dest, GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 141 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
void verifyTables ()Defined at line 141 of file llvm/lib/Target/X86/X86InstrFMA3Info.cpp
-
ErrorOr getMemBufferCopyImpl (StringRef InputData, const Twine & BufferName)Defined at line 141 of file llvm/lib/Support/MemoryBuffer.cpp
-
void remarkCall (OptimizationRemarkEmitter & ORE, const Function & Caller, const CallBase & Call, StringRef CallKind, StringRef RemarkKind)Defined at line 141 of file llvm/lib/Analysis/KernelInfo.cpp
-
basic_string formatPublicSymFlags (uint32_t IndentLevel, PublicSymFlags Flags)Defined at line 141 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
void error (Error E, StringRef FileName, StringRef ArchitectureName)This version of error() prints the file name and which architecture slice it // is from, for example: "foo.o (for architecture i386)" after the ToolName
before the error message. It sets HadError but returns allowing the code to
move on to other architecture slices.
Defined at line 141 of file llvm/tools/llvm-size/llvm-size.cpp
-
Expected getPdbPathFromExe (StringRef ExePath)Defined at line 141 of file llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp
-
template <typename T>T * getPlanEntry (T * Start)Get the top-most entry block of
This is the entry block of the
containing VPlan. This function is templated to support both const and non-const blocks
Defined at line 141 of file llvm/lib/Transforms/Vectorize/VPlan.cpp
-
void emitComments (LLVMDisasmContext * DC, formatted_raw_ostream & FormattedOS)Emits the comments that are stored in
comment stream.
Each comment in the comment stream must end with a newline.
Defined at line 141 of file llvm/lib/MC/MCDisassembler/Disassembler.cpp
-
Expected connectTCPSocketImpl (basic_string Host, basic_string PortStr)Defined at line 141 of file llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
-
void EmitInlineAsmStr (const char * AsmStr, const MachineInstr * MI, MachineModuleInfo * MMI, const MCAsmInfo * MAI, AsmPrinter * AP, uint64_t LocCookie, raw_ostream & OS)Defined at line 141 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
-
Value * generateUnsignedDivisionCode (Value * Dividend, Value * Divisor, IRBuilder<> & Builder)Generates code to divide two unsigned scalar 32-bit or 64-bit integers.
Returns the quotient, rounded towards 0. Builder's insert point should
point where the caller wants code generated, e.g. at the udiv instruction.
Defined at line 141 of file llvm/lib/Transforms/Utils/IntegerDivision.cpp
-
void initializeBranchRelaxationLegacyPassOnce (PassRegistry & Registry)Defined at line 142 of file llvm/lib/CodeGen/BranchRelaxation.cpp
-
uint8_t readVaruint1 (WasmObjectFile::ReadContext & Ctx)Defined at line 142 of file llvm/lib/Object/WasmObjectFile.cpp
-
void appendNumber (std::string & Str, uint64_t N)Defined at line 142 of file llvm/lib/Support/ScaledNumber.cpp
-
bool isYMMLoadOpcode (unsigned int Opcode)Defined at line 142 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
pair getLocalScopeLocationOr (DIScope * S, pair Default)Returns the location of DILocalScope, if present, or a default value.
Defined at line 142 of file llvm/lib/IR/DebugInfoMetadata.cpp
-
ConstantFPRange extendZeroIfEqual (const ConstantFPRange & CR, Predicate Pred)Make sure that +0/-0 are both included in the range.
Defined at line 142 of file llvm/lib/IR/ConstantFPRange.cpp
-
void LLVMTargetMachineOptionsSetCodeGenOptLevel (LLVMTargetMachineOptionsRef Options, Level)Defined at line 142 of file llvm/lib/Target/TargetMachineC.cpp
-
vector computeBlockRuns (uint32_t BlockSize, const msf::MSFStreamLayout & Layout)Defined at line 142 of file llvm/lib/DebugInfo/PDB/Native/LinePrinter.cpp
-
Value * foldMulShl1 (BinaryOperator & Mul, bool CommuteOperands, InstCombiner::BuilderTy & Builder)Reduce integer multiplication patterns that contain a (+/-1
<
<
Z) factor.
Callers are expected to call this twice to handle commuted patterns.
Defined at line 142 of file llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
-
Expected<CommandOptions> parseOptions (int Argc, char ** Argv)Defined at line 142 of file llvm/tools/llvm-cas/llvm-cas.cpp
-
void initializeDCELegacyPassPassOnce (PassRegistry & Registry)Defined at line 143 of file llvm/lib/Transforms/Scalar/DCE.cpp
-
LLVMBool LLVMRemarkParserHasError (LLVMRemarkParserRef Parser)Returns `1` if the parser encountered an error while parsing the buffer.
Defined at line 143 of file llvm/lib/Remarks/RemarkParser.cpp
-
void LLVMContextDispose (LLVMContextRef C)Destroy a context instance.
This should be called for every call to LLVMContextCreate() or memory
will be leaked.
Defined at line 143 of file llvm/lib/IR/Core.cpp
-
template <typename T>bool isTypeExcluded (LinePrinter & Printer, const T & Symbol)Defined at line 143 of file llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp
-
template <typename IRUnitT>const IRUnitT * unwrapIR (Any IR)Defined at line 143 of file llvm/lib/Passes/StandardInstrumentations.cpp
-
void cpuHelp (ArrayRef CPUNames)Display help for mcpu choices only
Defined at line 143 of file llvm/lib/MC/MCSubtargetInfo.cpp
-
uint64_t round_down_to_power_of_2 (uint64_t x)Largest power of two less than or equal to x. As a special case, returns 1
when x is 0.
Defined at line 144 of file llvm/lib/Support/BLAKE3/blake3_impl.h
-
bool isPrefixedOrGrouping (const Option * O)Defined at line 144 of file llvm/lib/Support/CommandLine.cpp
-
ElfType getOutputElfType (const MachineInfo & MI)Defined at line 144 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
bool setDoesNotThrow (Function & F)Defined at line 144 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
unsigned int numberCtrlDepsInSU (SUnit * SU)Defined at line 144 of file llvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp
-
void warn (Error Err, Twine FileName, Twine Context, Twine Archive)Defined at line 144 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
template <typename GetTrapBBT>void insertBoundsCheck (Value * Or, BuilderTy & IRB, GetTrapBBT GetTrapBB)Adds run-time bounds checks to memory accessing instructions.
is the condition that should guard the trap.
is a callable that returns the trap BB to use on failure.
Defined at line 144 of file llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
-
std::optional<llvm::InlineCost> getDefaultInlineAdvice (CallBase & CB, FunctionAnalysisManager & FAM, const InlineParams & Params)Defined at line 144 of file llvm/lib/Analysis/InlineAdvisor.cpp
-
BlockFlagsVector computeBlockInfo (const MachineFunction & MF, const MachineBasicBlock * PrologueBlock)Computes the frame information for each block in the function. Frame info
for a block is inferred from its predecessors.
Defined at line 144 of file llvm/lib/CodeGen/CFIFixup.cpp
-
Expected getAllDBDirs (StringRef Path, bool IncludeCorrupt)Defined at line 144 of file llvm/lib/CAS/UnifiedOnDiskCache.cpp
-
Error readMachOHeader (MachOObjectFile * Obj, RecordsSlice & Slice)Defined at line 144 of file llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
-
unsigned int getScatteredRelocationAddress (const MachO::any_relocation_info & RE)Defined at line 145 of file llvm/lib/Object/MachOObjectFile.cpp
-
void setCrashLogMessage (const char * msg)Defined at line 145 of file llvm/lib/Support/PrettyStackTrace.cpp
-
LLVMRemarkArgRef LLVMRemarkEntryGetFirstArg (LLVMRemarkEntryRef Remark)Get a new iterator to iterate over a remark's argument.
If there are no arguments in
the return value will be `NULL`.
The lifetime of the returned value is bound to the lifetime of
Defined at line 145 of file llvm/lib/Remarks/Remark.cpp
-
bool clobbersAllYmmAndZmmRegs (const MachineOperand & MO)Defined at line 145 of file llvm/lib/Target/X86/X86VZeroUpper.cpp
-
void llvm_blake3_hash_many_portable (const uint8_t *const * inputs, size_t num_inputs, size_t blocks, const uint32_t[8] key, uint64_t counter, _Bool increment_counter, uint8_t flags, uint8_t flags_start, uint8_t flags_end, uint8_t * out)Defined at line 145 of file llvm/lib/Support/BLAKE3/blake3_portable.c
-
Error processFileList ()Defined at line 145 of file llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
-
void collectCastInstrs (Loop * TheLoop, Instruction * Exit, Type * RecurrenceType, SmallPtrSetImpl<Instruction *> & Casts, unsigned int & MinWidthCastToRecurTy)Collect cast instructions that can be ignored in the vectorizer's cost
model, given a reduction exit value and the minimal type in which the
reduction can be represented. Also search casts to the recurrence type
to find the minimum width used by the recurrence.
Defined at line 145 of file llvm/lib/Analysis/IVDescriptors.cpp
-
bool lowerObjCCall (Function & F, LibcallImpl NewFn, bool setNonLazyBind)Defined at line 145 of file llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
-
void scalarizeMaskedLoad (const DataLayout & DL, bool HasBranchDivergence, CallInst * CI, DomTreeUpdater * DTU, bool & ModifiedDT)Translate a masked load intrinsic like
<
16 x i32 >
.masked.load(
<
16 x i32>* %addr,
<
16 x i1> %mask,
<
16 x i32> %passthru)
to a chain of basic blocks, with loading element one-by-one if
the appropriate mask bit is set
%1 = bitcast i8* %addr to i32*
%2 = extractelement
<
16 x i1> %mask, i32 0
br i1 %2, label %cond.load, label %else
cond.load: ; preds = %0
%3 = getelementptr i32* %1, i32 0
%4 = load i32* %3
%5 = insertelement
<
16 x i32> %passthru, i32 %4, i32 0
br label %else
else: ; preds = %0, %cond.load
%res.phi.else = phi
<
16 x i32> [ %5, %cond.load ], [ poison, %0 ]
%6 = extractelement
<
16 x i1> %mask, i32 1
br i1 %6, label %cond.load1, label %else2
cond.load1: ; preds = %else
%7 = getelementptr i32* %1, i32 1
%8 = load i32* %7
%9 = insertelement
<
16 x i32> %res.phi.else, i32 %8, i32 1
br label %else2
else2: ; preds = %else, %cond.load1
%res.phi.else3 = phi
<
16 x i32> [ %9, %cond.load1 ], [ %res.phi.else, %else ]
%10 = extractelement
<
16 x i1> %mask, i32 2
br i1 %10, label %cond.load4, label %else5
Defined at line 145 of file llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
-
int addUnwindMapEntry (WinEHFuncInfo & FuncInfo, int ToState, const BasicBlock * BB)Defined at line 146 of file llvm/lib/CodeGen/WinEHPrepare.cpp
-
bool isKnownLibFunction (Function & F, TargetLibraryInfo & TLI)Defined at line 146 of file llvm/lib/Analysis/LazyCallGraph.cpp
-
bool upgradeX86BF16Intrinsic (Function * F, Intrinsic::ID IID, Function *& NewFn)Defined at line 146 of file llvm/lib/IR/AutoUpgrade.cpp
-
void printBinaryIdsInternal (raw_ostream & OS, ArrayRef BinaryIds)Defined at line 146 of file llvm/lib/ProfileData/InstrProfReader.cpp
-
basic_string memberAccess (MemberAccess Access)Defined at line 146 of file llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
-
void collectPassNames (const TestRunner & Tester, SmallStringSet & NameSet)Built a set of available delta passes.
Defined at line 146 of file llvm/tools/llvm-reduce/DeltaManager.cpp
-
int generateModuleMap (int & Modules)Defined at line 146 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
DiffOutput getSingleAttrDiff (const std::vector<InterfaceFileRef> & IRefVec, basic_string Name, InterfaceInputOrder Order)Defined at line 146 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
void demangleLine (llvm::raw_ostream & OS, StringRef Mangled, bool Split)If 'Split' is true, then 'Mangled' is broken into individual words and each
word is demangled. Otherwise, the entire string is treated as a single
mangled item. The result is output to 'OS'.
Defined at line 146 of file llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp
-
void reportTestFailure (const TestData & TD, StringRef ActualStr, bool IsXFail)Defined at line 146 of file llvm/utils/llvm-test-mustache-spec/llvm-test-mustache-spec.cpp
-
ParseRet tryParseLinearWithRuntimeStep (StringRef & ParseString, VFParamKind & PKind, int & StepOrPos)The function looks for the following string at the beginning of
the input string `ParseString`:
<token
>
<number
>
<token
> is one of "ls", "Rs", "Us" or "Ls".
On success, it removes the parsed parameter from `ParseString`,
sets `PKind` to the correspondent enum value, sets `StepOrPos` to
<number
>, and return success. On a syntax error, it return a
parsing error. If nothing is parsed, it returns std::nullopt.
Defined at line 146 of file llvm/lib/IR/VFABIDemangler.cpp
-
bool stripDebugDeclareImpl (Module & M)Defined at line 146 of file llvm/lib/Transforms/IPO/StripSymbols.cpp
-
const char * LLVMRemarkParserGetErrorMessage (LLVMRemarkParserRef Parser)Returns a null-terminated string containing an error message.
In case of no error, the result is `NULL`.
The memory of the string is bound to the lifetime of
If
LLVMRemarkParserDispose() is called, the memory of the string will be
released.
Defined at line 147 of file llvm/lib/Remarks/RemarkParser.cpp
-
unsigned int LLVMGetMDKindIDInContext (LLVMContextRef C, const char * Name, unsigned int SLen)Defined at line 147 of file llvm/lib/IR/Core.cpp
-
FoldingSetBase::Node * GetNextPtr (void * NextInBucketPtr)GetNextPtr - In order to save space, each bucket is a
singly-linked-list. In order to make deletion more efficient, we make
the list circular, so we can delete a node without computing its hash.
The problem with this is that the start of the hash buckets are not
Nodes. If NextInBucketPtr is a bucket pointer, this method returns null:
use GetBucketPtr when this happens.
Defined at line 147 of file llvm/lib/Support/FoldingSet.cpp
-
bool isTypeExcluded (LinePrinter & Printer, const PDBSymbolTypeEnum & Enum)Defined at line 147 of file llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp
-
void addArgLocs (MemoryEffects & ME, const CallBase * Call, ModRefInfo ArgMR, AAResults & AAR)Defined at line 147 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
bool inlineHistoryIncludes (Function * F, int InlineHistoryID, const SmallVectorImpl<std::pair<Function *, int>> & InlineHistory)Return true if the specified inline history ID
indicates an inline history that includes the specified function.
Defined at line 147 of file llvm/lib/Transforms/IPO/Inliner.cpp
-
GlobalVariable * getGlobalForName (GlobalVariable * G)Defined at line 147 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
AllocationType addCallStack (CallStackTrie & AllocTrie, const AllocationInfo * AllocInfo, uint64_t FullStackId)Defined at line 147 of file llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
-
bool isLoopNeverExecuted (Loop * L)This function returns true if there is no viable path from the
entry block to the header of
Right now, it only does
a local search to save compile time.
Defined at line 147 of file llvm/lib/Transforms/Scalar/LoopDeletion.cpp
-
uint32_t counter_low (uint64_t counter)Defined at line 148 of file llvm/lib/Support/BLAKE3/blake3_impl.h
-
void writeCounter (ArrayRef Expressions, Counter C, raw_ostream & OS)Defined at line 148 of file llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
-
void initializePEILegacyPassOnce (PassRegistry & Registry)Defined at line 148 of file llvm/lib/CodeGen/PrologEpilogInserter.cpp
-
std::optional<APInt> extractConstantBits (const Constant * C, unsigned int NumBits)Defined at line 148 of file llvm/lib/Target/X86/X86FixupVectorConstants.cpp
-
void MarkBlocksLiveIn (BasicBlock * BB, SmallPtrSetImpl<BasicBlock *> & LiveBBs)MarkBlocksLiveIn - Insert BB and all of its predecessors into LiveBBs until
we reach blocks we've already seen.
Defined at line 148 of file llvm/lib/CodeGen/SjLjEHPrepare.cpp
-
bool isInput (const ArrayRef<StringRef> & Prefixes, StringRef Arg)Defined at line 148 of file llvm/lib/Option/OptTable.cpp
-
KnownBits extractBits (unsigned int BitWidth, const KnownBits & SrcOpKnown, const KnownBits & OffsetKnown, const KnownBits & WidthKnown)Bitfield extract is computed as (Src >> Offset)
&
Mask, where Mask is
created using Width. Use this function when the inputs are KnownBits
objects. TODO: Move this KnownBits.h if this is usable in more cases.
Defined at line 148 of file llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
-
bool inThisOrder (const Instruction * Src, const Instruction * Dst)Return true if
appears before
in the same basic block.
Precondition:
and
are distinct instructions within the same
basic block.
Defined at line 148 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
Value * handleOtherCmpSelSimplifications (Value * TCmp, Value * FCmp, Value * Cond, const SimplifyQuery & Q, unsigned int MaxRecurse)We know comparison with both branches of select can be simplified, but they
are not equal. This routine handles some logical simplifications.
Defined at line 148 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void updateBranches (MachineFunction & MF, const int & PreLayoutFallThroughs)This function updates and optimizes the branching instructions of every basic
block in a given function to account for changes in the layout.
Defined at line 148 of file llvm/lib/CodeGen/BasicBlockSections.cpp
-
Value * LowerCTPOP (LLVMContext & Context, Value * V, Instruction * IP)Emit the code to lower ctpop of V before the specified instruction IP.
Defined at line 148 of file llvm/lib/CodeGen/IntrinsicLowering.cpp
-
Value * tryReplaceCallWithOperator (Oracle & O, Module & M, CallBase * CB)Defined at line 148 of file llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
-
void updatePredecessorProfileMetadata (PHINode * PN, BasicBlock * BB)Update branch probability information according to conditional
branch probability. This is usually made possible for cloned branches
in inline instances by the context specific profile in the caller.
For instance,
[Block PredBB]
[Branch PredBr]
if (t) {
Block A;
} else {
Block B;
}
[Block BB]
cond = PN([true, %A], [..., %B]); // PHI node
[Branch CondBr]
if (cond) {
... // P(cond == true) = 1%
}
Here we know that when block A is taken, cond must be true, which means
P(cond == true | A) = 1
Given that P(cond == true) = P(cond == true | A) * P(A) +
P(cond == true | B) * P(B)
we get:
P(cond == true ) = P(A) + P(cond == true | B) * P(B)
which gives us:
P(A) is less than P(cond == true), i.e.
P(t == true)
<
= P(cond == true)
In other words, if we know P(cond == true) is unlikely, we know
that P(t == true) is also unlikely.
Defined at line 148 of file llvm/lib/Transforms/Scalar/JumpThreading.cpp
-
bool unifyLoopExits (DominatorTree & DT, LoopInfo & LI, Loop * L)Defined at line 148 of file llvm/lib/Transforms/Utils/UnifyLoopExits.cpp
-
Value * convertStrToInt (CallInst * CI, StringRef & Str, Value * EndPtr, uint64_t Base, bool AsSigned, IRBuilderBase & B)Convert the entire string Str representing an integer in Base, up to
the terminating nul if present, to a constant according to the rules
of strtoul[l] or, when AsSigned is set, of strtol[l]. On success
return the result, otherwise null.
The function assumes the string is encoded in ASCII and carefully
avoids converting sequences (including "") that the corresponding
library call might fail and set errno for.
Defined at line 148 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
void initializeFixupBWInstPassPassOnce (PassRegistry & Registry)Defined at line 149 of file llvm/lib/Target/X86/X86FixupBWInsts.cpp
-
void badUsage (Twine Error)Show the error plus the usage message, and exit.
Defined at line 149 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
int32_t readVarint32 (WasmObjectFile::ReadContext & Ctx)Defined at line 149 of file llvm/lib/Object/WasmObjectFile.cpp
-
void dumpAllocas (const SmallVectorImpl<coro::AllocaInfo> & Allocas)Defined at line 149 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
optional getSizeInBytes (optional SizeInBits)Defined at line 149 of file llvm/lib/Transforms/Utils/MemoryOpRemark.cpp
-
LLVMBool LLVMInitializeNativeAsmParser ()LLVMInitializeNativeTargetAsmParser - The main program should call this
function to initialize the parser for the native target corresponding to the
host.
Defined at line 149 of file llvm/include/llvm-c/Target.h
-
LLVMBool LLVMInitializeNativeAsmParser ()LLVMInitializeNativeTargetAsmParser - The main program should call this
function to initialize the parser for the native target corresponding to the
host.
Defined at line 149 of file llvm/include/llvm-c/Target.h
-
Expected searchOrDefine (const unsigned char * HRef, xmlNodePtr Node)Search for prefix-defined namespace specified by HRef, starting on Node and
continuing recursively upwards. If it is found, then return it. If it is
not found, then prefix-define that namespace on the node and return a
reference to it.
Defined at line 149 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
bool doesRoundUp (char Digit)Defined at line 149 of file llvm/lib/Support/ScaledNumber.cpp
-
bool getSummaryFromMD (MDTuple * MD, SummaryEntryVector & Summary)Parse an MDTuple representing detailed summary.
Defined at line 149 of file llvm/lib/IR/ProfileSummary.cpp
-
bool canReplaceFuncUsers (const Function & F, Type * NewRetTy)Check if all the callsites of the void function are void, or happen to
incorrectly use the new return type.
TODO: We could make better effort to handle call type mismatches.
Defined at line 149 of file llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
-
SmallVector optimizeDwarfOperations (ArrayRef WorkingOps)This function will convert:
1. DW_OP_constu
<const
-val> DW_OP_plus to DW_OP_plus_uconst
2. DW_OP_constu, 0 to DW_OP_lit0
Defined at line 149 of file llvm/lib/IR/DIExpressionOptimizer.cpp
-
void initializeCFIInstrInserterPassOnce (PassRegistry & Registry)Defined at line 150 of file llvm/lib/CodeGen/CFIInstrInserter.cpp
-
uint32_t counter_high (uint64_t counter)Defined at line 150 of file llvm/lib/Support/BLAKE3/blake3_impl.h
-
template <typename... Args>void formatInternal (LinePrinter & Printer, bool Append, Args &&... args)Defined at line 150 of file llvm/lib/DebugInfo/PDB/Native/InputFile.cpp
-
bool getPlainRelocationPCRel (const MachOObjectFile & O, const MachO::any_relocation_info & RE)Defined at line 150 of file llvm/lib/Object/MachOObjectFile.cpp
-
bool hasSection (ObjectFile & File, StringRef SectionName)Defined at line 150 of file llvm/unittests/ObjCopy/ObjCopyTest.cpp
-
Object encodeError (Error Error)Encode the given error as a JSON object.
Defined at line 150 of file llvm/lib/Support/LSP/Transport.cpp
-
void emitRISCVProfiles (const RecordKeeper & Records, raw_ostream & OS)Defined at line 150 of file llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
-
template <typename T>bool isSubset (ArrayRef<T> C0, ArrayRef<T> C1)Return true if
is a subset of
Note that both arrays are
expected to be sorted.
Defined at line 150 of file llvm/lib/Frontend/OpenMP/OMPContext.cpp
-
bool computeUnrollAndJamCount (Loop * L, Loop * SubLoop, const TargetTransformInfo & TTI, DominatorTree & DT, LoopInfo * LI, AssumptionCache * AC, ScalarEvolution & SE, const SmallPtrSetImpl<const Value *> & EphValues, OptimizationRemarkEmitter * ORE, unsigned int OuterTripCount, unsigned int OuterTripMultiple, const UnrollCostEstimator & OuterUCE, unsigned int InnerTripCount, unsigned int InnerLoopSize, TargetTransformInfo::UnrollingPreferences & UP, TargetTransformInfo::PeelingPreferences & PP)Calculates unroll and jam count and writes it to UP.Count. Returns true if
unroll count was set explicitly.
Defined at line 150 of file llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
-
void dumpAttribute (raw_ostream & OS, const DWARFDie & Die, const DWARFAttribute & AttrValue, unsigned int Indent, DIDumpOptions DumpOpts)Defined at line 150 of file llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
-
void initializeOptimizationRemarkEmitterWrapperPassPassOnce (PassRegistry & Registry)Defined at line 151 of file llvm/lib/Analysis/OptimizationRemarkEmitter.cpp
-
bool layoutOptionalHeader (COFFParser & CP)Take a CP and assign addresses and sizes to everything. Returns false if the
layout is not valid to do.
Defined at line 151 of file llvm/lib/ObjectYAML/COFFEmitter.cpp
-
basic_string generateRAUWIR (unsigned int Size)Defined at line 151 of file llvm/benchmarks/SandboxIRBench.cpp
-
StringRef getLeafTypeName (TypeLeafKind LT)Defined at line 151 of file llvm/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp
-
bool parseSummaryIndexAssemblyInto (MemoryBufferRef F, ModuleSummaryIndex & Index, SMDiagnostic & Err)Defined at line 151 of file llvm/lib/AsmParser/Parser.cpp
-
void dropIntrinsicWithUnknownMetadataArgument (IntrinsicInst * II)Defined at line 151 of file llvm/lib/AsmParser/LLParser.cpp
-
void generateClauseEnumVal (ArrayRef Records, raw_ostream & OS, const DirectiveLanguage & DirLang, std::string & EnumHelperFuncs)Generate enums for values that clauses can take.
Also generate function declarations for get
<Enum
>Name(StringRef Str).
Defined at line 151 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
bool isAsciiString (StringRef S)Defined at line 152 of file llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
-
void LLVMRemarkParserDispose (LLVMRemarkParserRef Parser)Releases all the resources used by
Defined at line 152 of file llvm/lib/Remarks/RemarkParser.cpp
-
unsigned int LLVMGetMDKindID (const char * Name, unsigned int SLen)Defined at line 152 of file llvm/lib/IR/Core.cpp
-
bool isPotentialBlockedMemCpyLd (unsigned int Opcode)Defined at line 152 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
iterator_range<BasicBlock::iterator> getInsertionRange (BasicBlock & BB)Defined at line 152 of file llvm/lib/FuzzMutate/IRMutator.cpp
-
void lowerAwaitSuspends (Function & F, coro::Shape & Shape)Defined at line 152 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
basic_string getEncodedEmitStr (StringRef NamedValue, unsigned int NumBytes)Defined at line 152 of file llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
-
bool setDoesNotCallback (Function & F)Defined at line 152 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void recordConditions (CallBase & CB, BasicBlock * Pred, ConditionsTy & Conditions, BasicBlock * StopAt)Record ICmp conditions relevant to any argument in CB following Pred's
single predecessors. If there are conflicting conditions along a path, like
x == 1 and x == 0, the first condition will be used. We stop once we reach
an edge to StopAt.
Defined at line 152 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
void executeFRemInst (GenericValue & Dest, GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 152 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
double interpolateHue (double H0, double H1, double T)The Hue component of the HSV interpolation Routine
Defined at line 152 of file llvm/tools/llvm-xray/xray-color-helper.cpp
-
unique_ptr createELFWriter (const CommonConfig & Config, Object & Obj, raw_ostream & Out, ElfType OutputElfType)Defined at line 152 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
bool handleArchive (StringRef Filename, Archive & Arch, OutlinedHashTreeRecord & GlobalOutlineRecord, StableFunctionMapRecord & GlobalFunctionMapRecord)Defined at line 152 of file llvm/tools/llvm-cgdata/llvm-cgdata.cpp
-
Config parseLipoOptions (ArrayRef<const char *> ArgsArr)Defined at line 152 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
bool isSupportedSectionKind (DWARFSectionKind Kind)Defined at line 153 of file llvm/lib/DWP/DWP.cpp
-
bool isLabelChar (char C)isLabelChar - Return true for [-a-zA-Z$._0-9].
Defined at line 153 of file llvm/lib/AsmParser/LLLexer.cpp
-
WrapperFunctionBuffer failingWrapper (const char * ArgData, size_t ArgSize)Defined at line 153 of file llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp
-
void eraseNewInstructions (SmallVector<Instruction *> & NewInsts)Defined at line 153 of file llvm/lib/FuzzMutate/RandomIRBuilder.cpp
-
chunk_state_output (const llvm_blake3_chunk_state * self)Defined at line 153 of file llvm/lib/Support/BLAKE3/blake3.c
-
bool isInteresting (const Record * Rec)Defined at line 153 of file llvm/utils/TableGen/X86InstrMappingEmitter.cpp
-
bool stripNegationPrefix (StringRef & Name)Defined at line 153 of file llvm/lib/TargetParser/CSKYTargetParser.cpp
-
unsigned int numberCtrlPredInSU (SUnit * SU)Defined at line 153 of file llvm/lib/CodeGen/SelectionDAG/ResourcePriorityQueue.cpp
-
bool doesStoreDominatesAllLatches (BasicBlock * StoreBlock, Loop * L, DominatorTree * DT)Check if the store dominates all latches, so as long as there is no
intervening store this value will be loaded in the next iteration.
Defined at line 153 of file llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
-
uint32_t load32 (const void * src)Defined at line 154 of file llvm/lib/Support/BLAKE3/blake3_impl.h
-
Value * callAppendStringN (IRBuilder<> & Builder, Value * Desc, Value * Str, Value * Length, bool isLast)Defined at line 154 of file llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
-
Cursor lexStringConstant (Cursor C, function_ref ErrorCallback)Lex a string constant using the following regular expression:
"
[^
"
]*
"
Defined at line 154 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void printUnwindRow (const UnwindRow & Row, raw_ostream & OS, DIDumpOptions DumpOpts, unsigned int IndentLevel)Print an UnwindRow to the stream.
Parameters
Row the UnwindRow to print.OS the stream to use for output.MRI register information that helps emit register names insteead of raw register numbers.IsEH true if the DWARF Call Frame Information is from .eh_frame instead of from .debug_frame. This is needed for register number conversion because some register numbers differ between the two sections for certain architectures like x86.IndentLevel specify the indent level as an integer. The UnwindRow will be output to the stream preceded by 2 * IndentLevel number of spaces.Defined at line 154 of file llvm/lib/DebugInfo/DWARF/DWARFUnwindTablePrinter.cpp
-
void BM_Mustache_StringRendering (benchmark::State & state, const std::string & TplStr)Tests the performance of rendering a large string with various escaping
syntaxes.
Defined at line 154 of file llvm/benchmarks/Mustache.cpp
-
basic_string formatProcSymFlags (uint32_t IndentLevel, ProcSymFlags Flags)Defined at line 154 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
void remarkFlatAddrspaceAccess (OptimizationRemarkEmitter & ORE, const Function & Caller, const Instruction & Inst)Defined at line 154 of file llvm/lib/Analysis/KernelInfo.cpp
-
size_t byteSize (BTF::CommonType * Type)Compute record size for each BTF::CommonType sub-type
(including entries in the tail position).
Defined at line 154 of file llvm/lib/DebugInfo/BTF/BTFParser.cpp
-
unique_ptr loadArFile (const char * Argv0, unique_ptr Buffer, LLVMContext & Context)Defined at line 154 of file llvm/tools/llvm-link/llvm-link.cpp
-
void rewriteMaterializableInstructions (const SmallMapVector<Instruction *, std::unique_ptr<RematGraph>, 8> & AllRemats)For each instruction identified as materializable across the suspend point,
and its associated DAG of other rematerializable instructions,
recreate the DAG of instructions after the suspend point.
Defined at line 154 of file llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp
-
optional collectAddressSymbols (void ** AddressList, unsigned int AddressCount, const char * MainExecutableName, const std::string & LLVMSymbolizerPath)Reads a file
written by llvm-symbolizer containing function
names and source locations for the addresses in
and returns
the strings in a vector of pairs, where the first pair element is the index
of the corresponding entry in AddressList and the second is the symbolized
frame, in a format based on the sanitizer stack trace printer, with the
exception that it does not write out frame numbers (i.e. "#2 " for the
third address), as it is not assumed that
corresponds to a
single stack trace.
There may be multiple returned entries for a single
entry if
that frame address corresponds to one or more inlined frames; in this case,
all frames for an address will appear contiguously and in-order.
Defined at line 154 of file llvm/lib/Support/Signals.cpp
-
void initializeFixupLEAPassPassOnce (PassRegistry & Registry)Defined at line 155 of file llvm/lib/Target/X86/X86FixupLEAs.cpp
-
bool stripExperimentalPrefix (StringRef & Ext)Defined at line 155 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
bool isCopyLike (const MachineInstr & MI)Check whether or not
should be treated like a copy
for the mappings.
Copy like instruction are special for mapping because
they don't have actual register constraints. Moreover,
they sometimes have register classes assigned and we can
just use that instead of failing to provide a generic mapping.
Defined at line 155 of file llvm/lib/CodeGen/RegisterBankInfo.cpp
-
void initializeUniformityInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 155 of file llvm/lib/Analysis/UniformityAnalysis.cpp
-
vector toNullTerminatedCStringArray (ArrayRef Strings, StringSaver & Saver)Defined at line 155 of file llvm/lib/Support/Unix/Program.inc
-
void initializeNaryReassociateLegacyPassPassOnce (PassRegistry & Registry)Defined at line 155 of file llvm/lib/Transforms/Scalar/NaryReassociate.cpp
-
uint32_t handleNestedType (ArrayRef Data, uint32_t Offset, SmallVectorImpl<TiReference> & Refs)Defined at line 155 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
const char * getZeroCostOpName (unsigned short Op)Defined at line 155 of file llvm/utils/PerfectShuffle/PerfectShuffle.cpp
-
void addBlockAndPredsToSet (BasicBlock * InputBB, BasicBlock * StopBlock, SmallPtrSetImpl<BasicBlock *> & Blocks)Add the specified block, and all of its predecessors, to the specified set,
if it's not already in there. Stop predecessor traversal when we reach
StopBlock.
Defined at line 155 of file llvm/lib/Transforms/Utils/LoopSimplify.cpp
-
LLVMRemarkArgRef LLVMRemarkEntryGetNextArg (LLVMRemarkArgRef It, LLVMRemarkEntryRef Remark)Get the next argument in
from the position of
Returns `NULL` if there are no more arguments available.
The lifetime of the returned value is bound to the lifetime of
Defined at line 155 of file llvm/lib/Remarks/Remark.cpp
-
DIImportedEntity * createImportedModule (LLVMContext & C, Tag Tag, DIScope * Context, Metadata * NS, DIFile * File, unsigned int Line, StringRef Name, MDTupleTypedArrayWrapper Elements, SmallVectorImpl<TrackingMDNodeRef> & ImportedModules)Defined at line 155 of file llvm/lib/IR/DIBuilder.cpp
-
SmallString<0> ProcessChunkFromSerializedBitcode (Chunk ChunkToCheckForUninterestingness, const TestRunner & Test, ReductionFunc ExtractChunksFromModule, const int & UninterestingChunks, ArrayRef ChunksStillConsideredInteresting, StringRef OriginalBC, std::atomic<bool> & AnyReduced)Defined at line 155 of file llvm/tools/llvm-reduce/deltas/Delta.cpp
-
void addTryBlockMapEntry (WinEHFuncInfo & FuncInfo, int TryLow, int TryHigh, int CatchHigh, ArrayRef<const CatchPadInst *> Handlers)Defined at line 155 of file llvm/lib/CodeGen/WinEHPrepare.cpp
-
basic_string getIntrinsicNameImpl (Intrinsic::ID Id, ArrayRef Tys, Module * M, FunctionType * FT, bool EarlyModuleCheck)Defined at line 155 of file llvm/lib/IR/Intrinsics.cpp
-
void writeUnwindRecord (const PerfJITCodeUnwindingInfoRecord & UnwindRecord)Defined at line 155 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
bool simplifyCommonValuePhi (PHINode * P, LazyValueInfo * LVI, DominatorTree * DT)Try to simplify a phi with constant incoming values that match the edge
values of a non-constant value on all other edges:
bb0:
%isnull = icmp eq i8* %x, null
br i1 %isnull, label %bb2, label %bb1
bb1:
br label %bb2
bb2:
%r = phi i8* [ %x, %bb1 ], [ null, %bb0 ]
-->
%r = %x
Defined at line 155 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
MarshallingInfo createMarshallingInfo (const Record & R)Defined at line 155 of file llvm/utils/TableGen/OptionParserEmitter.cpp
-
MapVector orderModule (const Module * M)Defined at line 155 of file llvm/lib/IR/AsmWriter.cpp
-
bool readLocationInfo (LocationInfoTy & LocationInfo)Defined at line 155 of file llvm/tools/llvm-opt-report/OptReport.cpp
-
unsigned int LLVMGetSyncScopeID (LLVMContextRef C, const char * Name, size_t SLen)Maps a synchronization scope name to a ID unique within this context.
Defined at line 156 of file llvm/lib/IR/Core.cpp
-
Error makeStringError (StringRef Msg)Defined at line 156 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
template <class T>T diff (T L, T R)Defined at line 156 of file llvm/tools/llvm-xray/xray-graph.cpp
-
Error registerEHFrameWrapper (ExecutorAddrRange EHFrame)Defined at line 156 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.cpp
-
bool hasFPAssociativeFlags (Instruction * I)Return true if I is an instruction with the FastMathFlags that are needed
for general reassociation set. This is not the same as testing
Instruction::isAssociative() because it includes operations like fsub.
(This routine is only intended to be called for floating-point operations.)
Defined at line 156 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
uint32_t readVaruint32 (WasmObjectFile::ReadContext & Ctx)Defined at line 156 of file llvm/lib/Object/WasmObjectFile.cpp
-
void initializeAlwaysInlinerLegacyPassPassOnce (PassRegistry & Registry)Defined at line 156 of file llvm/lib/Transforms/IPO/AlwaysInliner.cpp
-
bool upgradeX86BF16DPIntrinsic (Function * F, Intrinsic::ID IID, Function *& NewFn)Defined at line 156 of file llvm/lib/IR/AutoUpgrade.cpp
-
void fail (Twine Error)Show the error message and exit.
Defined at line 156 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
template <typename LCType>void updateLoadCommandPayloadString (LoadCommand & LC, StringRef S)Defined at line 156 of file llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
-
pair nthSymbolAddress (PublicsStream * Publics, SymbolStream * Symbols, size_t N)Defined at line 156 of file llvm/unittests/DebugInfo/PDB/PublicsStreamTest.cpp
-
template <typename HasherT, llvm::endianness Endianness>void addHash (llvm::HashBuilder<HasherT, Endianness> & HBuilder, const StructWithFastHash & Value)If possible, we want to hash both `I` and `C` in a single `update`
call for performance concerns.
Defined at line 156 of file llvm/unittests/Support/HashBuilderTest.cpp
-
basic_string methodKind (MethodKind Kind)Defined at line 156 of file llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
-
uint32_t get_max_thread_name_length_impl ()Defined at line 156 of file llvm/lib/Support/Unix/Threading.inc
-
std::optional<FixedVectorType *> getKnownTypeFromMaskedOp (Value * Mask, VectorType * Ty)If the mask for a memory op is a get active lane mask intrinsic
we can possibly infer the size of memory written or read
Defined at line 156 of file llvm/lib/Analysis/MemoryLocation.cpp
-
bool isPotentialBlockedMemCpyPair (unsigned int LdOpcode, unsigned int StOpcode)Defined at line 156 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
void TestFunc (std::atomic_int & checked_in, int i)Defined at line 157 of file llvm/unittests/Support/ThreadPool.cpp
-
void initializeWasmEHPreparePassOnce (PassRegistry & Registry)Defined at line 157 of file llvm/lib/CodeGen/WasmEHPrepare.cpp
-
void moveBBContents (BasicBlock & SourceBB, BasicBlock & TargetBB)Move the contents of
to before the last instruction of
Parameters
SourceBB - the BasicBlock to pull Instructions from.TargetBB - the BasicBlock to put Instruction into.Defined at line 157 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
bool getScatteredRelocationPCRel (const MachO::any_relocation_info & RE)Defined at line 157 of file llvm/lib/Object/MachOObjectFile.cpp
-
bool isTypeExcluded (LinePrinter & Printer, const PDBSymbolTypeTypedef & Typedef)Defined at line 157 of file llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp
-
void initializeStackProtectorPassOnce (PassRegistry & Registry)Defined at line 157 of file llvm/lib/CodeGen/StackProtector.cpp
-
void ** GetBucketPtr (void * NextInBucketPtr)testing.
Defined at line 157 of file llvm/lib/Support/FoldingSet.cpp
-
Align getFnStackAlignment (const TargetSubtargetInfo & STI, const Function & F)Defined at line 157 of file llvm/lib/CodeGen/MachineFunction.cpp
-
ConstantFPRange setNaNField (const ConstantFPRange & CR, Predicate Pred)Defined at line 157 of file llvm/lib/IR/ConstantFPRange.cpp
-
void emitMagic (raw_ostream & OS)Defined at line 157 of file llvm/lib/Remarks/YAMLRemarkSerializer.cpp
-
unsigned int findUseIdx (const MachineInstr * MI, unsigned int UseOperIdx)Find the use index of this operand. This is independent of the instruction's
def operands.
Note that uses are not determined by the operand's isUse property, which
is simply the inverse of isDef. Here we consider any readsReg operand to be
a "use". The machine model allows an operand to be both a Def and Use.
Defined at line 157 of file llvm/lib/CodeGen/TargetSchedule.cpp
-
void writeUstarHeader (raw_fd_ostream & OS, StringRef Prefix, StringRef Name, size_t Size)The PAX header is an extended format, so a PAX header needs
to be followed by a "real" header.
Defined at line 157 of file llvm/lib/Support/TarWriter.cpp
-
bool ParseHead (const StringRef & Input, StringRef & FName, uint64_t & NumSamples, uint64_t & NumHeadSamples)Parse
as function head.
Parse one line of
and update function name in
function's total sample count in
function's entry
count in
Defined at line 157 of file llvm/lib/ProfileData/SampleProfReader.cpp
-
bool hasYmmOrZmmReg (MachineInstr & MI)Defined at line 157 of file llvm/lib/Target/X86/X86VZeroUpper.cpp
-
int gsiRecordCmp (StringRef S1, StringRef S2)See `caseInsensitiveComparePchPchCchCch` in gsi.cpp
Defined at line 157 of file llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
-
template <typename MatcherT>pair getNearestMatchingScope (const DILocation * L1, const DILocation * L2)Returns the nearest matching scope inside a subprogram.
Defined at line 157 of file llvm/lib/IR/DebugInfoMetadata.cpp
-
std::optional<APInt> getSplatableConstant (const Constant * C, unsigned int SplatBitWidth)Attempt to compute the splat width of bits data by normalizing the splat to
remove undefs.
Defined at line 157 of file llvm/lib/Target/X86/X86FixupVectorConstants.cpp
-
std::pair<Value *, Value *> getShape (IntrinsicInst * II, unsigned int OpNo)TODO: Refine the row and col-in-bytes of tile to row and col of matrix.
Defined at line 157 of file llvm/lib/Target/X86/X86LowerAMXType.cpp
-
void initializeDXILMetadataAnalysisWrapperPassPassOnce (PassRegistry & Registry)Defined at line 158 of file llvm/lib/Analysis/DXILMetadataAnalysis.cpp
-
template <class Range>bool matchersRecordOperand (Range && R)Defined at line 158 of file llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
-
void promoteModule (Module & TheModule, const ModuleSummaryIndex & Index, bool ClearDSOLocalOnDeclarations)Defined at line 158 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
void asyncFailingWrapperCaller (unique_function F, const char * ArgData, size_t ArgSize)Defined at line 158 of file llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp
-
size_t getNumLengthAsString (uint64_t num)Get the length of the string that represents
in Radix including the
leading 0x or 0 for hexadecimal and octal respectively.
Defined at line 158 of file llvm/tools/llvm-size/llvm-size.cpp
-
void maybeFreeRetconStorage (int & Builder, const coro::Shape & Shape, Value * FramePtr, CallGraph * CG)Defined at line 158 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
DiffOutput getSingleAttrDiff (const std::vector<std::pair<Target, std::string>> & PairVec, basic_string Name, InterfaceInputOrder Order)Defined at line 158 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
unsigned int matchOption (const StringTable & StrTable, ArrayRef PrefixesTable, const OptTable::Info * I, StringRef Str, bool IgnoreCase)Defined at line 158 of file llvm/lib/Option/OptTable.cpp
-
SmallSet handlePassList (const TestRunner & Tester, const cl::list<std::string> & PassList)Verify all requested or skipped passes are valid names, and return them in a
set.
Defined at line 158 of file llvm/tools/llvm-reduce/DeltaManager.cpp
-
bool isProcessableCondBI (const ScalarEvolution & SE, const BranchInst * BI)Defined at line 158 of file llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
-
Expected getAbsolutePath (StringRef Authority, StringRef Body)Defined at line 158 of file llvm/lib/Support/LSP/Protocol.cpp
-
bool isInertIntrinsic (unsigned int ID)A list of intrinsics that we know do not use objc pointers or decrement
ref counts.
Defined at line 158 of file llvm/lib/Analysis/ObjCARCInstKind.cpp
-
void initializeSCEVAAWrapperPassPassOnce (PassRegistry & Registry)Defined at line 159 of file llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp
-
template <typename RangeT>SmallVector getPtrVec (RangeT Range)Helper function for returning a vector of instruction pointers from a range
of references.
Defined at line 159 of file llvm/unittests/Transforms/Vectorize/SandboxVectorizer/IntervalTest.cpp
-
unsigned int getContributionIndex (DWARFSectionKind Kind, uint32_t IndexVersion)Convert an internal section identifier into the index to use with
UnitIndexEntry::Contributions.
Defined at line 159 of file llvm/lib/DWP/DWP.cpp
-
bool isInheritanceKind (const MemberPointerInfo & MPI, PointerToMemberRepresentation P1, PointerToMemberRepresentation P2)Defined at line 159 of file llvm/lib/DebugInfo/PDB/Native/NativeTypePointer.cpp
-
bool isReadWriteMemCall (const Instruction & I)===- Helpers ------------------------------------------------------------===//
Defined at line 159 of file llvm/lib/IR/MemoryModelRelaxationAnnotations.cpp
-
const char * isLabelTail (const char * CurPtr)isLabelTail - Return true if this pointer points to a valid end of a label.
Defined at line 159 of file llvm/lib/AsmParser/LLLexer.cpp
-
StringRef getSamplerTypeName (SamplerType ST)Defined at line 159 of file llvm/lib/Analysis/DXILResource.cpp
-
const Function * getCalledFunction (const Value * V)clang-format on
Defined at line 159 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
APInt runOpWithExpandOnOverflow (const APInt & A, const APInt & B, function_ref Op)Bring a and b to have the same width and then call op(a, b, overflow).
If the overflow bit becomes set, resize a and b to double the width and
call op(a, b, overflow), returning its result. The operation with double
widths should not also overflow.
Defined at line 159 of file llvm/lib/Support/SlowDynamicAPInt.cpp
-
TypeSize getMinimalExtentFrom (const Value & V, const LocationSize & LocSize, const DataLayout & DL, bool NullIsValidLoc)Return the minimal extent from
to the end of the underlying object,
assuming the result is used in an aliasing query. E.g., we do use the query
location size and the fact that null pointers cannot alias here.
Defined at line 159 of file llvm/lib/Analysis/BasicAliasAnalysis.cpp
-
error_code copyAccessAndModificationTime (StringRef Filename, const sys::fs::file_status & Stat)Set the access and modification time for the given file from the given
status object.
Defined at line 159 of file llvm/lib/Support/FileCollector.cpp
-
bool handleCompareAction (const Context & Ctx)Defined at line 159 of file llvm/tools/llvm-readtapi/llvm-readtapi.cpp
-
bool reduceDbgValsBackwardScan (MachineBasicBlock & MBB)This analysis aims to remove redundant DBG_VALUEs by going backward
in the basic block and removing all but the last DBG_VALUE for any
given variable in a set of consecutive DBG_VALUE instructions.
For example:
(1) DBG_VALUE $edi, !"var1", ...
(2) DBG_VALUE $esi, !"var2", ...
(3) DBG_VALUE $edi, !"var1", ...
...
in this case, we can remove (1).
Defined at line 159 of file llvm/lib/CodeGen/RemoveRedundantDebugValues.cpp
-
unsigned int LLVMGetEnumAttributeKindForName (const char * Name, size_t SLen)Return an unique id given the name of a enum attribute,
or 0 if no attribute by that name exists.
See http://llvm.org/docs/LangRef.html#parameter-attributes
and http://llvm.org/docs/LangRef.html#function-attributes
for the list of available attributes.
NB: Attribute names and/or id are subject to change without
going through the C API deprecation cycle.
Defined at line 160 of file llvm/lib/IR/Core.cpp
-
parent_output (const uint8_t[64] block, const uint32_t[8] key, uint8_t flags)Defined at line 160 of file llvm/lib/Support/BLAKE3/blake3.c
-
void error (Twine Message, Twine Path)Defined at line 160 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
bool setRetDoesNotAlias (Function & F)Defined at line 160 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
template <typename StrTy>bool convertToString (ArrayRef Record, unsigned int Idx, StrTy & Result)Convert a string from a record into an std::string, return true on failure.
Defined at line 160 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
void restoreIPandDebugLoc (llvm::IRBuilderBase & Builder, InsertPoint IP)This is wrapper over IRBuilderBase::restoreIP that also restores the current
debug location to the last instruction in the specified basic block if the
insert point points to the end of the block.
Defined at line 160 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
void load_key_words (const uint8_t[32] key, uint32_t[8] key_words)Defined at line 160 of file llvm/lib/Support/BLAKE3/blake3_impl.h
-
Error copyAttributeNamespace (xmlAttrPtr OriginalAttribute, xmlNodePtr OriginalNode, xmlAttrPtr AdditionalAttribute)Set the namespace of OrigionalAttribute on OriginalNode to be that of
AdditionalAttribute's.
Defined at line 160 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
std::optional<int> findPreviousSpillSlot (const Value * Val, SelectionDAGBuilder & Builder, int LookUpDepth)Utility function for reservePreviousStackSlotForValue. Tries to find
stack slot index to which we have spilled value for previous statepoints.
LookUpDepth specifies maximum DFS depth this function is allowed to look.
Defined at line 160 of file llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
-
Error parseCommand (StringRef BinaryName, bool IsAddr2Line, StringRef InputString, Command & Cmd, std::string & ModuleName, object::BuildID & BuildID, StringRef & Symbol, uint64_t & Offset)Defined at line 160 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
Error deregisterEHFrameWrapper (ExecutorAddrRange EHFrame)Defined at line 161 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.cpp
-
void initializeRegionInfoPassPassOnce (PassRegistry & Registry)Defined at line 161 of file llvm/lib/Analysis/RegionInfo.cpp
-
LLVMBool LLVMInitializeNativeAsmPrinter ()LLVMInitializeNativeTargetAsmPrinter - The main program should call this
function to initialize the printer for the native target corresponding to
the host.
Defined at line 161 of file llvm/include/llvm-c/Target.h
-
LLVMBool LLVMInitializeNativeAsmPrinter ()LLVMInitializeNativeTargetAsmPrinter - The main program should call this
function to initialize the printer for the native target corresponding to
the host.
Defined at line 161 of file llvm/include/llvm-c/Target.h
-
void updateStat (GraphRenderer::TimeStat & S, int64_t L)Updates the statistics for a GraphRenderer::TimeStat
Defined at line 161 of file llvm/tools/llvm-xray/xray-graph.cpp
-
MipsABI getMipsABI (const Triple & TT, StringRef ABIName)FIXME: This duplicates MipsABIInfo::computeTargetABI, but duplicating this is
preferable to violating layering rules. Ideally that information should live
in LLVM TargetParser, but for now we just duplicate some ABI name string
logic for simplicity.
Defined at line 161 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
GlobalVariable * getIndirectionGlobal (Module * M)Defined at line 161 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
Register findLocalRegDef (MachineInstr & MI)Return the defined register if this instruction defines exactly one
virtual register and uses no other virtual registers. Otherwise return
Register();
Defined at line 161 of file llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
-
Expected loadModule (StringRef Path, ThreadSafeContext TSCtx)Parse the bitcode module from the given path into a ThreadSafeModule.
Defined at line 161 of file llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/LLJITWithThinLTOSummaries.cpp
-
bool AddGlue (SDNode * N, SDValue Glue, bool AddGlue, SelectionDAG * DAG)Defined at line 161 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
-
bool handleNDDOrNFInstructions (MachineFunction & MF, const X86Subtarget & ST)Defined at line 161 of file llvm/lib/Target/X86/X86SuppressAPXForReloc.cpp
-
unsigned int getPUSHOpcode (const X86Subtarget & ST)Push-Pop Acceleration (PPX) hint is used to indicate that the POP reads the
value written by the PUSH from the stack. The processor tracks these marked
instructions internally and fast-forwards register data between matching PUSH
and POP instructions, without going through memory or through the training
loop of the Fast Store Forwarding Predictor (FSFP). Instead, a more efficient
memory-renaming optimization can be used.
The PPX hint is purely a performance hint. Instructions with this hint have
the same functional semantics as those without. PPX hints set by the
compiler that violate the balancing rule may turn off the PPX optimization,
but they will not affect program semantics.
Hence, PPX is used for balanced spill/reloads (Exceptions and setjmp/longjmp
are not considered).
PUSH2 and POP2 are instructions for (respectively) pushing/popping 2
GPRs at a time to/from the stack.
Defined at line 162 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
LLVMBool LLVMObjectFileIsSectionIteratorAtEnd (LLVMBinaryRef BR, LLVMSectionIteratorRef SI)Returns whether the given section iterator is at the end.
Defined at line 162 of file llvm/lib/Object/Object.cpp
-
unsigned int getPlainRelocationLength (const MachOObjectFile & O, const MachO::any_relocation_info & RE)Defined at line 162 of file llvm/lib/Object/MachOObjectFile.cpp
-
template <typename RecordT>uint64_t getUdtSize (CVRecord CVT)Defined at line 162 of file llvm/lib/DebugInfo/CodeView/TypeRecordHelpers.cpp
-
MemTransferInst * isOnlyCopiedFromConstantMemory (AAResults * AA, AllocaInst * AI, SmallVectorImpl<Instruction *> & ToDelete)isOnlyCopiedFromConstantMemory - Return true if the specified alloca is only
modified by a copy from a constant memory location. If we can prove this, we
can replace any uses of the alloca with uses of the memory location
directly.
Defined at line 162 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
void combineWeight (Weight & W, const Weight & OtherW)Defined at line 162 of file llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
-
BinaryRef toDebugS (ArrayRef Subsections, const codeview::StringsAndChecksums & SC, BumpPtrAllocator & Allocator)Defined at line 162 of file llvm/lib/ObjectYAML/COFFEmitter.cpp
-
basic_string toStringAPFloat (uint64_t D, int E, unsigned int Precision)Defined at line 162 of file llvm/lib/Support/ScaledNumber.cpp
-
Expected IsBuiltFromSwiftInterface (StringRef data)Defined at line 162 of file llvm/tools/dsymutil/SwiftModule.cpp
-
basic_string formatSymbol (const Dumper::Context & Ctx, const coff_section * Section, uint64_t Offset, uint32_t Displacement, bool IsRangeEnd)Defined at line 162 of file llvm/tools/llvm-readobj/Win64EHDumper.cpp
-
int64_t readVarint64 (WasmObjectFile::ReadContext & Ctx)Defined at line 163 of file llvm/lib/Object/WasmObjectFile.cpp
-
void layout (BlobAllocator & File, MemoryListStream::entry_type & Range)Defined at line 163 of file llvm/lib/ObjectYAML/MinidumpEmitter.cpp
-
bool isLoadConditional (LoadInst * Load, Loop * L)Return true if the load is not executed on all paths in the loop.
Defined at line 163 of file llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
-
BinaryOperator * isReassociableOp (Value * V, unsigned int Opcode)Return true if V is an instruction of the specified opcode and if it
only has one use.
Defined at line 163 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
template <IR IRTy>void RAUW (benchmark::State & State)Defined at line 163 of file llvm/benchmarks/SandboxIRBench.cpp
-
template <typename SymbolT>void dumpSymbolCategory (LinePrinter & Printer, const PDBSymbolExe & Exe, TypeDumper & TD, StringRef Label)Defined at line 163 of file llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp
-
bool InsertRootInitializers (Function & F, ArrayRef<AllocaInst *> Roots)Defined at line 163 of file llvm/lib/CodeGen/GCRootLowering.cpp
-
void emitVersion (raw_ostream & OS)Defined at line 164 of file llvm/lib/Remarks/YAMLRemarkSerializer.cpp
-
bool shouldSkip (SkipType skipType)Defined at line 164 of file llvm/tools/llvm-mca/llvm-mca.cpp
-
void dumpFileToSectionIDMap (const FileToSectionIDMap & FileToSecIDMap)Defined at line 164 of file llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
-
void LLVMTargetMachineOptionsSetRelocMode (LLVMTargetMachineOptionsRef Options, Reloc)Defined at line 164 of file llvm/lib/Target/TargetMachineC.cpp
-
vector computeLibsForComponents (ArrayRef Components, bool IncludeNonInstalled, bool GetComponentNames, const std::function<std::string (const StringRef &)> * GetComponentLibraryPath, std::vector<std::string> * Missing, const std::string & DirSep)Compute the list of required libraries for a given list of
components, in an order suitable for passing to a linker (that is, libraries
appear prior to their dependencies).
Parameters
Components - The names of the components to find libraries for.IncludeNonInstalled - Whether non-installed components should be reported.GetComponentNames - True if one would prefer the component names.Defined at line 164 of file llvm/tools/llvm-config/llvm-config.cpp
-
bool isSignificantBitCheckWellFormed (const RecurrenceInfo & ConditionalRecurrence, const RecurrenceInfo & SimpleRecurrence, bool ByteOrderSwapped)Check the well-formedness of the (most|least) significant bit check given
depending on
We check that ConditionalRecurrence.Step is a
Select(Cmp()) where the compare is `>= 0` in the big-endian case, and `== 0`
in the little-endian case (or the inverse, in which case the branches of the
compare are swapped). We check that the LHS is (ConditionalRecurrence.Phi
[xor SimpleRecurrence.Phi]) in the big-endian case, and additionally check
for an AND with one in the little-endian case. We then check AllowedByR
against CheckAllowedByR, which is [0, smin) in the big-endian case, and is
[0, 1) in the little-endian case. CheckAllowedByR checks for
significant-bit-clear, and we match the corresponding arms of the select
against bit-shift and bit-shift-and-xor-gen-poly.
Defined at line 164 of file llvm/lib/Analysis/HashRecognize.cpp
-
bool tailMergeBlocksWithSimilarFunctionTerminators (Function & F, DomTreeUpdater * DTU)Defined at line 164 of file llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
-
void initializeMachineCSELegacyPassOnce (PassRegistry & Registry)Defined at line 165 of file llvm/lib/CodeGen/MachineCSE.cpp
-
void ** GetBucketFor (unsigned int Hash, void ** Buckets, unsigned int NumBuckets)GetBucketFor - Hash the specified node ID and return the hash bucket for
the specified ID.
Defined at line 165 of file llvm/lib/Support/FoldingSet.cpp
-
Value * appendString (IRBuilder<> & Builder, Value * Desc, Value * Arg, bool IsLast)Defined at line 165 of file llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
-
void registerPartials (const Value * Partials, Template & T)Defined at line 165 of file llvm/utils/llvm-test-mustache-spec/llvm-test-mustache-spec.cpp
-
bool error (error_code EC, Twine Path)Defined at line 165 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
uint32_t handleStaticDataMember (ArrayRef Data, uint32_t Offset, SmallVectorImpl<TiReference> & Refs)Defined at line 165 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
void addConditions (CallBase & CB, const ConditionsTy & Conditions)Defined at line 165 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
void moveHeaderPhiOperandsToForeBlocks (BasicBlock * Header, BasicBlock * Latch, ilist_iterator_w_bits InsertLoc, BasicBlockSet & AftBlocks)Move the phi operands of Header from Latch out of AftBlocks to InsertLoc.
Defined at line 165 of file llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
-
bool isRegOtherThanSPAndFP (const MachineOperand & Op, const MachineInstr & MI, const TargetRegisterInfo * TRI)If
is a stack or frame register return true, otherwise return false.
This is used to avoid basing the debug entry values on the registers, since
we do not support it at the moment.
Defined at line 165 of file llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
-
Expected<COFF::MachineTypes> getCOFFFileMachine (MemoryBufferRef MB)Defined at line 165 of file llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
-
basic_string createJSONText (size_t MemoryMB, unsigned int ValueSize)Defined at line 165 of file llvm/utils/yaml-bench/YAMLBench.cpp
-
void checkSectionData (ObjectFile & File, StringRef SectionName, StringRef SectionData)Check that specified
has a section
and its data
matches
Defined at line 165 of file llvm/unittests/ObjCopy/ObjCopyTest.cpp
-
void CrashHandler (void * )This callback is run if a fatal signal is delivered to the process, it
prints the pretty stack trace.
Defined at line 165 of file llvm/lib/Support/PrettyStackTrace.cpp
-
SDValue getCopyFromParts (SelectionDAG & DAG, const SDLoc & DL, const SDValue * Parts, unsigned int NumParts, MVT PartVT, EVT ValueVT, const Value * V, SDValue InChain, std::optional<CallingConv::ID> CC, std::optional<ISD::NodeType> AssertOp)getCopyFromParts - Create a value that contains the specified legal parts
combined into the value they represent. If the parts combine to a type
larger than ValueVT then AssertOp can be used to specify whether the extra
bits are known to be zero (ISD::AssertZext) or sign extended from ValueVT
(ISD::AssertSext).
Defined at line 165 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
void initializeScopedNoAliasAAWrapperPassPassOnce (PassRegistry & Registry)Defined at line 166 of file llvm/lib/Analysis/ScopedNoAliasAA.cpp
-
void initializeMachineModuleInfoWrapperPassPassOnce (PassRegistry & Registry)Handle the Pass registration stuff necessary to use DataLayout's.
Defined at line 166 of file llvm/lib/CodeGen/MachineModuleInfo.cpp
-
unsigned int getPOPOpcode (const X86Subtarget & ST)Defined at line 166 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
void initializePlaceBackedgeSafepointsLegacyPassPassOnce (PassRegistry & Registry)Defined at line 166 of file llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
-
void failIfError (error_code EC, Twine Context)Defined at line 166 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
const char * getRadixFmt ()Return the printing format for the Radix.
Defined at line 166 of file llvm/tools/llvm-size/llvm-size.cpp
-
size_t findLastNonVersionCharacter (StringRef Ext)This function finds the last character that doesn't belong to a version
(e.g. zba1p0 is extension 'zba' of version '1p0'). So the function will
consume [0-9]*p[0-9]* starting from the backward. An extension name will not
end with a digit or the letter 'p', so this function will parse correctly.
NOTE: This function is NOT able to take empty strings or strings that only
have version numbers and no extension name. It assumes the extension name
will be at least more than one character.
Defined at line 166 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
void getSortedConstantKeys (std::vector<Value *> & SortedKeys, DenseMap<Value *, BasicBlock *> & Map)A function to sort the keys of
which must be a mapping of constant
values to basic blocks and return it in
Parameters
SortedKeys - The vector the keys will be return in and sorted.Map - The DenseMap containing keys to sort.Defined at line 166 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
int parseBitcodeFileImpl (MemoryBufferRef Buffer, LLVMContext & Context, bool ShouldBeLazy)Defined at line 166 of file llvm/lib/LTO/LTOModule.cpp
-
void removeFromUsedList (Module & M, StringRef Name, function_ref ShouldRemove)Defined at line 166 of file llvm/lib/Transforms/Utils/ModuleUtils.cpp
-
void collectTransitivePredecessors (const Loop * CurLoop, const BasicBlock * BB, SmallPtrSetImpl<const BasicBlock *> & Predecessors)Collect all blocks from
which lie on all possible paths from
the header of
(inclusive) to BB (exclusive) into the set
If
is the header,
will be empty.
Note: It's possible that we encounter Irreducible control flow, due to
which, we may find that a few predecessors of
are not a part of the
We only return Predecessors that are a part of
Defined at line 166 of file llvm/lib/Analysis/MustExecute.cpp
-
void convertToRelLookupTable (LookupTableInfo & Info, GlobalVariable & LookupTable)Defined at line 166 of file llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
-
void PrintOperation (unsigned int ValNo, unsigned short[] Vals)Defined at line 166 of file llvm/utils/PerfectShuffle/PerfectShuffle.cpp
-
bool populateDependencyMatrix (CharMatrix & DepMatrix, unsigned int Level, Loop * L, DependenceInfo * DI, ScalarEvolution * SE, OptimizationRemarkEmitter * ORE)Defined at line 166 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
bool shouldUpgradeX86Intrinsic (Function * F, StringRef Name)Defined at line 166 of file llvm/lib/IR/AutoUpgrade.cpp
-
unsigned int getOnDiskSectionId (unsigned int Index)Convert a UnitIndexEntry::Contributions index to the corresponding on-disk
value of the section identifier.
Defined at line 167 of file llvm/lib/DWP/DWP.cpp
-
uint64_t readVaruint64 (WasmObjectFile::ReadContext & Ctx)Defined at line 167 of file llvm/lib/Object/WasmObjectFile.cpp
-
bool IsInSameBasicBlock (const Use & U, const BasicBlock * BB)Defined at line 167 of file llvm/lib/CodeGen/CallBrPrepare.cpp
-
void layout (BlobAllocator & File, ModuleListStream::entry_type & M)Defined at line 167 of file llvm/lib/ObjectYAML/MinidumpEmitter.cpp
-
error_code cleanUpTempFilesImpl (ArrayRef FileName, unsigned int N)Defined at line 167 of file llvm/lib/IR/PrintPasses.cpp
-
bool usesTriple (StringRef Buf)Attempt to determine if a Text stub uses target triple.
Defined at line 167 of file llvm/lib/InterfaceStub/IFSHandler.cpp
-
LoadCommand buildRPathLoadCommand (StringRef Path)Defined at line 167 of file llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
-
std::optional<UnitEntryPairTy> getTypeDeduplicationCandidate (UnitEntryPairTy UnitEntryPair)Examine DIE and return type deduplication candidate: some DIEs could not be
deduplicated, namespace may refer to another namespace.
Defined at line 167 of file llvm/lib/DWARFLinker/Parallel/SyntheticTypeNameBuilder.cpp
-
vector constructPerfectHashTable (ArrayRef Keywords, ArrayRef Hashes, ArrayRef TableValues, int Size, int Collisions, StringToOffsetTable & OffsetTable)Defined at line 167 of file llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
-
size_t left_subtree_len (size_t input_len)Given some input larger than one chunk, return the number of bytes that
should go in the left subtree. This is the largest power-of-2 number of
chunks that leaves at least 1 byte for the right subtree.
Defined at line 168 of file llvm/lib/Support/BLAKE3/blake3.c
-
void initializeFixIrreduciblePassOnce (PassRegistry & Registry)Defined at line 168 of file llvm/lib/Transforms/Utils/FixIrreducible.cpp
-
void handleLLVMFatalError (void * , const char * Message, bool )Defined at line 168 of file llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
-
template <typename T>void printWithSpacePadding (raw_ostream & OS, T Data, unsigned int Size)Defined at line 168 of file llvm/lib/Object/ArchiveWriter.cpp
-
LLVMSymbolIteratorRef LLVMObjectFileCopySymbolIterator (LLVMBinaryRef BR)Retrieve a copy of the symbol iterator for this object file.
If there are no symbols, the result is NULL.
The returned iterator is merely a shallow copy. Nevertheless, it is
the responsibility of the caller to free it with
Defined at line 168 of file llvm/lib/Object/Object.cpp
-
Error decodeError (const llvm::json::Object & O)Decode the given JSON object into an error.
Defined at line 168 of file llvm/lib/Support/LSP/Transport.cpp
-
bool setDoesNotCapture (Function & F, unsigned int ArgNo)Defined at line 168 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
bool stackFrameIncludesInlinedCallStack (ArrayRef<Frame> ProfileCallStack, ArrayRef InlinedCallStack)Return true if InlinedCallStack, computed from a call instruction's debug
info, is a prefix of ProfileCallStack, a list of Frames from profile data
(either the allocation data or a callsite).
Defined at line 168 of file llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
-
Model getEffectiveX86CodeModel (const Triple & TT, std::optional<CodeModel::Model> CM, bool JIT)Defined at line 168 of file llvm/lib/Target/X86/X86TargetMachine.cpp
-
basic_string explainOperator (const Record * Operator)Defined at line 168 of file llvm/utils/TableGen/GlobalISelEmitter.cpp
-
Cursor lexName (Cursor C, MIToken & Token, TokenKind Type, unsigned int PrefixLength, function_ref ErrorCallback)Defined at line 168 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void createRetBitCast (CallBase & CB, Type * RetTy, CastInst ** RetBitCast)Cast a call or invoke instruction to the given type.
When promoting a call site, the return type of the call site might not match
that of the callee. If this is the case, we have to cast the returned value
to the correct type. The location of the cast depends on if we have a call
or invoke instruction.
For example, if the call instruction below requires a bitcast after
promotion:
orig_bb:
%t0 = call i32
()
...
The bitcast is placed after the call instruction:
orig_bb:
; Uses of the original return value are replaced by uses of the bitcast.
%t0 = call i32
()
%t1 = bitcast i32 %t0 to ...
...
A similar transformation is performed for invoke instructions. However,
since invokes are terminating, a new block is created for the bitcast. For
example, if the invoke instruction below requires a bitcast after promotion:
orig_bb:
%t0 = invoke i32
() to label %normal_dst unwind label %unwind_dst
The edge between the original block and the invoke's normal destination is
split, and the bitcast is placed there:
orig_bb:
%t0 = invoke i32
() to label %split_bb unwind label %unwind_dst
split_bb:
; Uses of the original return value are replaced by uses of the bitcast.
%t1 = bitcast i32 %t0 to ...
br label %normal_dst
Defined at line 168 of file llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
-
unsigned int getScatteredRelocationLength (const MachO::any_relocation_info & RE)Defined at line 169 of file llvm/lib/Object/MachOObjectFile.cpp
-
void printSummaryItem (int64_t TotalA, int64_t TotalB, StringRef Metric, llvm::raw_ostream & OS)Print an item in the summary section.
- Total count of the metric in file A.
- Total count of the metric in file B.
- Name of the metric we want to print (e.g. instruction
count).
- The output stream.
Defined at line 169 of file llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
-
void emitLatency (LLVMDisasmContext * DC, const MCInst & Inst)Emits latency information in DC->CommentStream for
based
on the information available in
Defined at line 169 of file llvm/lib/MC/MCDisassembler/Disassembler.cpp
-
const omp::GV & getGridValue (const Triple & T, Function * Kernel)Defined at line 169 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
SectionFlag parseSectionRenameFlag (StringRef SectionName)Defined at line 169 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
basic_string pointerKind (PointerKind Kind)Defined at line 169 of file llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
-
void llvm_blake3_compress_in_place (uint32_t[8] cv, const uint8_t[64] block, uint8_t block_len, uint64_t counter, uint8_t flags)Defined at line 169 of file llvm/lib/Support/BLAKE3/blake3_dispatch.c
-
unsigned int LLVMGetLastEnumAttributeKind ()Defined at line 164 of file llvm/lib/IR/Core.cpp
-
LLVMAttributeRef LLVMCreateEnumAttribute (LLVMContextRef C, unsigned int KindID, uint64_t Val)Create an enum attribute.
Defined at line 168 of file llvm/lib/IR/Core.cpp
-
void emitRISCVProcs (const RecordKeeper & RK, raw_ostream & OS)Defined at line 169 of file llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
-
bool isDigit (const char C)Defined at line 170 of file llvm/lib/Demangle/RustDemangle.cpp
-
bool isTraversalComponent (StringRef Component)Defined at line 170 of file llvm/lib/Support/VirtualFileSystem.cpp
-
unsigned int getPUSH2Opcode (const X86Subtarget & ST)Defined at line 170 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
void stripTBAA (Module * M)Strip all the TBAA attachment for the module.
Defined at line 170 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
void computeHashString (StringRef Name, SmallString<32> & StringifiedHash)Computes a string representation of a hash of the specified name, suitable
for use when emitting CodeView type names.
Defined at line 170 of file llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp
-
pair findRun (uint64_t Offset, ArrayRef Runs)Defined at line 170 of file llvm/lib/DebugInfo/PDB/Native/LinePrinter.cpp
-
DiffOutput getSingleAttrDiff (iterator_range SymRange, basic_string Name, InterfaceInputOrder Order)Defined at line 170 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
void runWithDomTree (Module & M, StringRef FuncName, function_ref Test)Build the dominator tree for the function and run the Test.
Defined at line 170 of file llvm/unittests/Transforms/Utils/LocalTest.cpp
-
CoroSaveInst * createCoroSave (CoroBeginInst * CoroBegin, CoroSuspendInst * SuspendInst)Defined at line 170 of file llvm/lib/Transforms/Coroutines/Coroutines.cpp
-
MCSymbol * getMCSymbolForMBB (AsmPrinter * Asm, const MachineBasicBlock * MBB)Retrieve the MCSymbol for a GlobalValue or MachineBasicBlock.
Defined at line 170 of file llvm/lib/CodeGen/AsmPrinter/WinException.cpp
-
PHINode * findPHIToPartitionLoops (Loop * L, DominatorTree * DT, AssumptionCache * AC)The first part of loop-nestification is to find a PHI node that tells
us how to partition the loops.
Defined at line 170 of file llvm/lib/Transforms/Utils/LoopSimplify.cpp
-
uint64_t getLocCookie (const SMDiagnostic & SMD, const SourceMgr & SrcMgr, int & LocInfos)Defined at line 170 of file llvm/lib/CodeGen/MachineModuleInfo.cpp
-
error_code createUniqueEntity (const Twine & Model, int & ResultFD, SmallVectorImpl<char> & ResultPath, bool MakeAbsolute, FSEntity Type, OpenFlags Flags, unsigned int Mode)Defined at line 170 of file llvm/lib/Support/Path.cpp
-
FeatureBitset getFeatures (MCSubtargetInfo & STI, StringRef CPU, StringRef TuneCPU, StringRef FS, ArrayRef ProcNames, ArrayRef ProcDesc, ArrayRef ProcFeatures)Defined at line 170 of file llvm/lib/MC/MCSubtargetInfo.cpp
-
uint8_t readOpcode (WasmObjectFile::ReadContext & Ctx)Defined at line 171 of file llvm/lib/Object/WasmObjectFile.cpp
-
StringRef getSubsection (StringRef Section, const DWARFUnitIndex::Entry & Entry, DWARFSectionKind Kind)Defined at line 171 of file llvm/lib/DWP/DWP.cpp
-
void emitExternalFile (raw_ostream & OS, StringRef Filename)Defined at line 171 of file llvm/lib/Remarks/YAMLRemarkSerializer.cpp
-
tuple interpolateHSV (const std::tuple<double, double, double> & C0, const std::tuple<double, double, double> & C1, double T)Interpolates between two HSV Colors both represented as a tuple of doubles
Returns an HSV Color represented as a tuple of doubles
Defined at line 171 of file llvm/tools/llvm-xray/xray-color-helper.cpp
-
StringRef getSamplerFeedbackTypeName (SamplerFeedbackType SFT)Defined at line 171 of file llvm/lib/Analysis/DXILResource.cpp
-
BinaryOperator * isReassociableOp (Value * V, unsigned int Opcode1, unsigned int Opcode2)Defined at line 171 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
Value * processArg (IRBuilder<> & Builder, Value * Desc, Value * Arg, bool SpecIsCString, bool IsLast)Defined at line 171 of file llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
-
basic_string formatThunkOrdinal (ThunkOrdinal Ordinal)Defined at line 171 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
bool splitGlobals (Module & M)Defined at line 171 of file llvm/lib/Transforms/IPO/GlobalSplit.cpp
-
bool startsWithLocalScopePattern (basic_string_view S)Defined at line 171 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
bool replaceCoroEndAsync (AnyCoroEndInst * End)Replace an llvm.coro.end.async.
Will inline the must tail call function call if there is one.
Defined at line 171 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
bool eliminateCondBranches_v2 (Function & F, DominatorTree & DT)Eliminate branches with constant conditionals. This is the second
version, which *does* preserve the dominator tree.
Defined at line 171 of file llvm/examples/IRTransforms/SimplifyCFG.cpp
-
bool matchSelectWithOptionalNotCond (Value * V, Value *& Cond, Value *& A, Value *& B, SelectPatternFlavor & Flavor)Match a 'select' including an optional 'not's of the condition.
Defined at line 171 of file llvm/lib/Transforms/Scalar/EarlyCSE.cpp
-
std::pair<MemoryEffects, MemoryEffects> checkFunctionMemoryAccess (Function & F, bool ThisBody, AAResults & AAR, const SCCNodeSet & SCCNodes)Returns the memory access attribute for function F using AAR for AA results,
where SCCNodes is the current SCC.
If ThisBody is true, this function may examine the function body and will
return a result pertaining to this copy of the function. If it is false, the
result will be based only on AA results for the function declaration; it
will be assumed that some other (perhaps less optimized) version of the
function may be selected at link time.
The return value is split into two parts: Memory effects that always apply,
and additional memory effects that apply if any of the functions in the SCC
can access argmem.
Defined at line 171 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
void initializeDomPrinterWrapperPassPassOnce (PassRegistry & Registry)Defined at line 172 of file llvm/lib/Analysis/DomPrinter.cpp
-
bool isOffsetLegal (unsigned int L)Returns true if line offset
is legal (only has 16 bits).
Defined at line 172 of file llvm/lib/ProfileData/SampleProfReader.cpp
-
LibLTOCodeGenerator * unwrap (lto_code_gen_t P)Defined at line 172 of file llvm/tools/lto/lto.cpp
-
lto_code_gen_t wrap (const LibLTOCodeGenerator * P)Defined at line 172 of file llvm/tools/lto/lto.cpp
-
bool isHexDigit (const char C)Defined at line 172 of file llvm/lib/Demangle/RustDemangle.cpp
-
Value readJsonFromFile (StringRef & InputFile)Defined at line 172 of file llvm/utils/llvm-test-mustache-spec/llvm-test-mustache-spec.cpp
-
void load_block_words (const uint8_t[64] block, uint32_t[16] block_words)Defined at line 172 of file llvm/lib/Support/BLAKE3/blake3_impl.h
-
void ** AllocateBuckets (unsigned int NumBuckets)AllocateBuckets - Allocated initialized bucket memory.
Defined at line 172 of file llvm/lib/Support/FoldingSet.cpp
-
bool callHasRegMask (MachineInstr & MI)Check if given call instruction has a RegMask operand.
Defined at line 172 of file llvm/lib/Target/X86/X86VZeroUpper.cpp
-
Expected getSectionId (const FileToSectionIDMap & FileToSecIDMap, StringRef FileName, StringRef SectionName)Defined at line 172 of file llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
-
basic_string escapeString (StringRef Label)Labels in a DOT graph must be legal XML strings so it's necessary to escape
certain characters.
Defined at line 172 of file llvm/tools/llvm-xray/xray-graph.cpp
-
ThinLTOCodeGenerator * unwrap (thinlto_code_gen_t P)Defined at line 173 of file llvm/tools/lto/lto.cpp
-
thinlto_code_gen_t wrap (const ThinLTOCodeGenerator * P)Defined at line 173 of file llvm/tools/lto/lto.cpp
-
unsigned int getPOP2Opcode (const X86Subtarget & ST)Defined at line 173 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
LLVMBool LLVMInitializeNativeDisassembler ()LLVMInitializeNativeTargetDisassembler - The main program should call this
function to initialize the disassembler for the native target corresponding
to the host.
Defined at line 173 of file llvm/include/llvm-c/Target.h
-
LLVMBool LLVMInitializeNativeDisassembler ()LLVMInitializeNativeTargetDisassembler - The main program should call this
function to initialize the disassembler for the native target corresponding
to the host.
Defined at line 173 of file llvm/include/llvm-c/Target.h
-
void PrintDebugDomInfo (const DominatorTree & DT, const Use & U, const BasicBlock * BB, bool IsDefaultDest)Defined at line 173 of file llvm/lib/CodeGen/CallBrPrepare.cpp
-
bool isDereferenceableForAllocaSize (const Value * V, const AllocaInst * AI, const DataLayout & DL)Returns true if V is dereferenceable for size of alloca.
Defined at line 173 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
unique_ptr createWriter (const CommonConfig & Config, Object & Obj, raw_ostream & Out, ElfType OutputElfType)Defined at line 173 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
pair ConvertUTF8ToUnicodeScalarsLenient (StringRef S)Defined at line 173 of file llvm/unittests/Support/ConvertUTFTest.cpp
-
bool handleBuffer (StringRef Filename, MemoryBufferRef Buffer, OutlinedHashTreeRecord & GlobalOutlineRecord, StableFunctionMapRecord & GlobalFunctionMapRecord)Defined at line 173 of file llvm/tools/llvm-cgdata/llvm-cgdata.cpp
-
bool IsSafeComputationToRemove (Value * V, function_ref<TargetLibraryInfo &(Function &)> GetTLI)Given a value that is stored to a global but never read, determine whether
it's safe to remove the store and the chain of computation that feeds the
store.
Defined at line 173 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
optional dumpPubSection (const DWARFContext & DCtx, const DWARFSection & Section, bool IsGNUStyle)Defined at line 173 of file llvm/tools/obj2yaml/dwarf2yaml.cpp
-
bool ProcessBlock (BasicBlock & BB, DominatorTree & DT, LoopInfo & LI, AAResults & AA)Defined at line 173 of file llvm/lib/Transforms/Scalar/Sink.cpp
-
void __clear_cache (void * , void * )Defined at line of file
-
StringRef getHostCPUNameForARMFromComponents (StringRef Implementer, StringRef Hardware, StringRef Part, ArrayRef Parts, function_ref GetVariant)Defined at line 173 of file llvm/lib/TargetParser/Host.cpp
-
bool isUnDroppableUser (const User * U)Defined at line 174 of file llvm/lib/IR/Value.cpp
-
LTOModule * unwrap (lto_module_t P)Defined at line 174 of file llvm/tools/lto/lto.cpp
-
lto_module_t wrap (const LTOModule * P)Defined at line 174 of file llvm/tools/lto/lto.cpp
-
void layout (BlobAllocator & File, ThreadListStream::entry_type & T)Defined at line 174 of file llvm/lib/ObjectYAML/MinidumpEmitter.cpp
-
void LLVMPassBuilderOptionsSetCallGraphProfile (LLVMPassBuilderOptionsRef Options, LLVMBool CallGraphProfile)Defined at line 174 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
unsigned int getPlainRelocationType (const MachOObjectFile & O, const MachO::any_relocation_info & RE)Defined at line 174 of file llvm/lib/Object/MachOObjectFile.cpp
-
llvm_orc_deregisterEHFrameSectionAllocAction (const char * ArgData, size_t ArgSize)Defined at line 174 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/RegisterEHFrames.cpp
-
bool pathHasTraversal (StringRef Path)Defined at line 174 of file llvm/lib/Support/VirtualFileSystem.cpp
-
basic_string getRuntimeCallName (const BoundsCheckingPass::Options::Runtime & Opts)Defined at line 174 of file llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
-
xmlNsPtr getNamespaceWithPrefix (const unsigned char * Prefix, xmlNodePtr Node)Return the corresponding namespace definition for the prefix, defined on the
given Node. Returns nullptr if there is no such definition.
Defined at line 174 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
const char * getProgramName (Name program)Defined at line 174 of file llvm/lib/Support/GraphWriter.cpp
-
Value * computeVectorAddr (Value * BasePtr, Value * VecIdx, Value * Stride, unsigned int NumElements, Type * EltType, IRBuilder<> & Builder)To compute the column addresses for a 2x3 sub-matrix at row 1 and column 1,
we need a pointer to the first element of the submatrix as base pointer.
Then we can use computeVectorAddr to compute the addresses for the columns
of the sub-matrix.
Column 0: computeVectorAddr(Base, 0 (column), 4 (stride), 2 (num rows), ..)
-> just returns Base
Column 1: computeVectorAddr(Base, 1 (column), 4 (stride), 2 (num rows), ..)
-> returns Base + (1 * 4)
Column 2: computeVectorAddr(Base, 2 (column), 4 (stride), 2 (num rows), ..)
-> returns Base + (2 * 4)
The graphic below illustrates the number of elements in a column (marked
with |) and the number of skipped elements (marked with }).
v_0_0 v_0_1 {v_0_2 {v_0_3
Base Col 1 Col 2
| | |
v_1_0 |v_1_1 |v_1_2 |v_1_3
v_2_0 |v_2_1 |v_2_2 |v_2_3
v_3_0 {v_3_1 {v_3_2 v_3_3
Defined at line 174 of file llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
-
bool CheckMachineFunction (const MachineFunction & MF, StringRef CheckStr)Defined at line 174 of file llvm/unittests/CodeGen/GlobalISel/GISelMITest.h
-
void eliminateAliases (GlobalValue * GV)Defined at line 174 of file llvm/tools/bugpoint/ExtractFunction.cpp
-
StringRef getTypeConstraintKindName (KindTy Kind)Defined at line 174 of file llvm/utils/TableGen/SDNodeInfoEmitter.cpp
-
Error verifyOptions (const DsymutilOptions & Options)Verify that the given combination of options makes sense.
Defined at line 174 of file llvm/tools/dsymutil/dsymutil.cpp
-
void printMF (raw_ostream & OS, MFGetterFnT Fn, const MachineFunction & MF)Defined at line 174 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
template <typename T>bool isStrictSubset (ArrayRef<T> C0, ArrayRef<T> C1)Return true if
is a strict subset of
Note that both arrays are
expected to be sorted.
Defined at line 175 of file llvm/lib/Frontend/OpenMP/OMPContext.cpp
-
void verifyLoadedModule (Module & TheModule)Verify the module and strip broken debug info.
Defined at line 175 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
uint32_t handleVirtualBaseClass (ArrayRef Data, uint32_t Offset, bool IsIndirect, SmallVectorImpl<TiReference> & Refs)Defined at line 175 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
ValType parseValType (WasmObjectFile::ReadContext & Ctx, uint32_t Code)Defined at line 175 of file llvm/lib/Object/WasmObjectFile.cpp
-
void removeIdenticalIndexPair (StableFunctionMap::StableFunctionEntries & SFS)Defined at line 175 of file llvm/lib/CGData/StableFunctionMap.cpp
-
std::pair<unsigned int, bool> getX86SSEConditionCode (Predicate Predicate)Defined at line 175 of file llvm/lib/Target/X86/X86FastISel.cpp
-
int LLVMFuzzerInitialize (int * argc, char *** argv)Defined at line 175 of file llvm/tools/llvm-opt-fuzzer/llvm-opt-fuzzer.cpp
-
bool getSystemRegistryString (const char * keyPath, const char * valueName, std::string & value, std::string * phValue)Read registry string.
This also supports a means to look for high-versioned keys by use
of a $VERSION placeholder in the key path.
$VERSION in the key path is a placeholder for the version number,
causing the highest value path to be searched for and used.
I.e. "SOFTWARE\\Microsoft\\VisualStudio\\$VERSION".
There can be additional characters in the component. Only the numeric
characters are compared. This function only searches HKLM.
Defined at line 175 of file llvm/lib/WindowsDriver/MSVCPaths.cpp
-
void initializeDomOnlyPrinterWrapperPassPassOnce (PassRegistry & Registry)Defined at line 176 of file llvm/lib/Analysis/DomPrinter.cpp
-
int64_t unrotateSign (uint64_t U)Defined at line 176 of file llvm/lib/Bitcode/Reader/MetadataLoader.cpp
-
bool isLower (const char C)Defined at line 176 of file llvm/lib/Demangle/RustDemangle.cpp
-
void initializeExpandReductionsPassOnce (PassRegistry & Registry)Defined at line 176 of file llvm/lib/CodeGen/ExpandReductions.cpp
-
bool isDarwin (Kind Kind)Defined at line 176 of file llvm/lib/Object/ArchiveWriter.cpp
-
LLVMBool LLVMObjectFileIsSymbolIteratorAtEnd (LLVMBinaryRef BR, LLVMSymbolIteratorRef SI)Returns whether the given symbol iterator is at the end.
Defined at line 176 of file llvm/lib/Object/Object.cpp
-
template <typename Container>void eraseDeadBBsAndChildren (const Container & BBs)Erase the specified BBs if the BB does not have any remaining predecessors,
and also all its dead children.
Defined at line 176 of file llvm/lib/CodeGen/WasmEHPrepare.cpp
-
void EmitSymbolRefWithOfs (MCStreamer & streamer, const MCSymbol * Base, int64_t Offset)Defined at line 176 of file llvm/lib/MC/MCWin64EH.cpp
-
void failIfError (Error E, Twine Context)Defined at line 176 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
unsigned int conjugateICmpMask (unsigned int Mask)Convert an analysis of a masked ICmp into its equivalent if all boolean
operations had the opposite sense. Since each "NotXXX" flag (recording !=)
is adjacent to the corresponding normal flag (recording ==), this just
involves swapping those bits over.
Defined at line 176 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool valueDominatesPHI (Value * V, PHINode * P, const DominatorTree * DT)Does the given value dominate the specified phi node?
Defined at line 176 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Error useCollectRemark (StringRef Buffer, Counter & Counter, Filters & Filter)Defined at line 176 of file llvm/tools/llvm-remarkutil/RemarkCounter.cpp
-
void error (Error E, StringRef FileName, const Archive::Child & C, StringRef ArchitectureName)This version of error() prints the archive name and member name, for example:
"libx.a(foo.o)" after the ToolName before the error message. It sets
HadError but returns allowing the code to move on to other archive members.
Defined at line 176 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
Value * getValueOnFirstIteration (Value * V, DenseMap<Value *, Value *> & FirstIterValue, const SimplifyQuery & SQ)Defined at line 176 of file llvm/lib/Transforms/Scalar/LoopDeletion.cpp
-
std::optional<AllocFnsTy> getAllocationDataForFunction (const Function * Callee, AllocType AllocTy, const TargetLibraryInfo * TLI)Returns the allocation data for the given value if it's a call to a known
allocation function.
Defined at line 176 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
bool setDoesNotAlias (Function & F, unsigned int ArgNo)Defined at line 177 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
bool optionMatches (const StringTable & StrTable, ArrayRef PrefixesTable, const OptTable::Info & In, StringRef Option)Returns true if one of the Prefixes + In.Names matches Option
Defined at line 177 of file llvm/lib/Option/OptTable.cpp
-
void lto_add_attrs (lto_code_gen_t cg)Convert the subtarget features into a string to pass to LTOCodeGenerator.
Defined at line 177 of file llvm/tools/lto/lto.cpp
-
bool isEAXLiveIn (MachineBasicBlock & MBB)Defined at line 177 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
void cloneJumpTableInfo (MachineFunction & DstMF, const MachineJumpTableInfo & SrcJTI, const int & Src2DstMBB)Defined at line 177 of file llvm/tools/llvm-reduce/ReducerWorkItem.cpp
-
Constant * appendIndirectedGlobal (const GlobalVariable * IndirectionTable, SmallVector<Constant *> & SymbolIndirections, GlobalVariable * ToIndirect)Defined at line 177 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
basic_string computeMipsDataLayout (const Triple & TT, StringRef ABIName)Defined at line 177 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
void visitRegisterBankClasses (const CodeGenRegBank & RegisterClassHierarchy, const CodeGenRegisterClass * RC, const Twine & Kind, std::function<void (const CodeGenRegisterClass *, StringRef)> VisitFn, int & VisitedRCs)Visit each register class belonging to the given register bank.
A class belongs to the bank iff any of these apply:
* It is explicitly specified
* It is a subclass of a class that is a member.
* It is a class containing subregisters of the registers of a class that
is a member. This is known as a subreg-class.
This function must be called for each explicitly specified register class.
Parameters
RC The register class to search.Kind A debug string containing the path the visitor took to reach RC.VisitFn The action to take for each class visited. It may be called multiple times for a given class if there are multiple paths to the class.Defined at line 177 of file llvm/utils/TableGen/RegisterBankEmitter.cpp
-
bool canSplitLoopBound (const Loop & L, const DominatorTree & DT, ScalarEvolution & SE, ConditionInfo & Cond)Defined at line 177 of file llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
-
void predictValueUseListOrderImpl (const Value * V, const Function * F, unsigned int ID, const OrderMap & OM, UseListOrderStack & Stack)Defined at line 177 of file llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
-
bool isUpper (const char C)Defined at line 178 of file llvm/lib/Demangle/RustDemangle.cpp
-
unsigned int getNumOpRegs (const MachineInstr & I, unsigned int OpIdx)Defined at line 178 of file llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
-
SmallVector<BasicBlock *, 2> getTwoPredecessors (BasicBlock * BB)Defined at line 178 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
bool isTestXFail (StringRef FileName, StringRef TestName)Defined at line 178 of file llvm/utils/llvm-test-mustache-spec/llvm-test-mustache-spec.cpp
-
bool isRegUsedByPhiNodes (Register DefReg, FunctionLoweringInfo & FuncInfo)Defined at line 178 of file llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
-
void BM_Mustache_DeepTraversal (benchmark::State & state)Tests the "hot render" cost of repeatedly traversing a deep and wide
JSON object.
Defined at line 178 of file llvm/benchmarks/Mustache.cpp
-
Error validateArchitectureName (StringRef ArchitectureName)Defined at line 178 of file llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
-
void combineWeightsBySorting (WeightList & Weights)Defined at line 178 of file llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
-
bool isAllocationWithHotColdVariant (const Function * Callee, const TargetLibraryInfo & TLI)Defined at line 178 of file llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
-
bool CompressEVEXImpl (MachineInstr & MI, MachineBasicBlock & MBB, const X86Subtarget & ST)Defined at line 178 of file llvm/lib/Target/X86/X86CompressEVEX.cpp
-
void LLVMPassBuilderOptionsSetMergeFunctions (LLVMPassBuilderOptionsRef Options, LLVMBool MergeFunctions)Defined at line 179 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
bool isObjectSize (const Value * V, TypeSize Size, const DataLayout & DL, const TargetLibraryInfo & TLI, bool NullIsValidLoc)Returns true if we can prove that the object specified by V has size Size.
Defined at line 179 of file llvm/lib/Analysis/BasicAliasAnalysis.cpp
-
void printVal (double Val, double Total, raw_ostream & OS)Defined at line 179 of file llvm/lib/Support/Timer.cpp
-
void store32 (void * dst, uint32_t w)Defined at line 179 of file llvm/lib/Support/BLAKE3/blake3_impl.h
-
void TestFunctionInfoDecodeError (endianness ByteOrder, StringRef Bytes, const uint64_t BaseAddr, basic_string ExpectedErrorMsg)Defined at line 179 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
bool considerForSize (ObjectFile * Obj, SectionRef Section)Remove unneeded ELF sections from calculation
Defined at line 179 of file llvm/tools/llvm-size/llvm-size.cpp
-
Expected getArchiveMemberDecField (Twine FieldName, StringRef RawField, const Archive * Parent, const AbstractArchiveMemberHeader * MemHeader)Defined at line 179 of file llvm/lib/Object/Archive.cpp
-
basic_string generateRUOWIR (unsigned int NumOperands)Defined at line 179 of file llvm/benchmarks/SandboxIRBench.cpp
-
bool isCandidate (const MachineInstr * MI, Register & DefedReg, Register FrameReg)Return true if MI is a potential candidate for reuse/removal and if so
also the register it defines in DefedReg. A candidate is a simple
instruction that does not touch memory, has only one register definition
and the only reg it may use is FrameReg. Typically this is an immediate
load or a load-address instruction.
Defined at line 179 of file llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
-
Expected parseFilePathFromURI (StringRef OrigUri)Defined at line 179 of file llvm/lib/Support/LSP/Protocol.cpp
-
size_t compress_chunks_parallel (const uint8_t * input, size_t input_len, const uint32_t[8] key, uint64_t chunk_counter, uint8_t flags, uint8_t * out)Use SIMD parallelism to hash up to MAX_SIMD_DEGREE chunks at the same time
on a single thread. Write out the chunk chaining values and return the
number of chunks hashed. These chunks are never the root and never empty;
those cases use a different codepath.
Defined at line 179 of file llvm/lib/Support/BLAKE3/blake3.c
-
void reconnectChildLoops (LoopInfo & LI, Loop * ParentLoop, Loop * NewLoop, BasicBlock * OldHeader)When a new loop is created, existing children of the parent loop may now be
fully inside the new loop. Reconnect these as children of the new loop.
Defined at line 179 of file llvm/lib/Transforms/Utils/FixIrreducible.cpp
-
Expected decode (DataExtractor & Data, uint64_t & Offset, uint64_t BaseAddr)Decode an InlineInfo in Data at the specified offset.
A local helper function to decode InlineInfo objects. This function is
called recursively when parsing child InlineInfo objects.
Parameters
Data The data extractor to decode from.Offset The offset within to decode from.BaseAddr The base address to use when decoding address ranges.Defined at line 179 of file llvm/lib/DebugInfo/GSYM/InlineInfo.cpp
-
Error mapNameAndUniqueName (CodeViewRecordIO & IO, StringRef & Name, StringRef & UniqueName, bool HasUniqueName)Defined at line 179 of file llvm/lib/DebugInfo/CodeView/TypeRecordMapping.cpp
-
bool haveNoCommonBitsSetSpecialCases (const Value * LHS, const Value * RHS, const SimplifyQuery & SQ)Defined at line 179 of file llvm/lib/Analysis/ValueTracking.cpp
-
Error processLoadCommands (const MachOConfig & MachOConfig, Object & Obj)Defined at line 179 of file llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
-
void initializeX86SpeculativeExecutionSideEffectSuppressionPassOnce (PassRegistry & Registry)Defined at line 180 of file llvm/lib/Target/X86/X86SpeculativeExecutionSideEffectSuppression.cpp
-
void initializeAtomicExpandLegacyPassOnce (PassRegistry & Registry)Defined at line 180 of file llvm/lib/CodeGen/AtomicExpandPass.cpp
-
void initializeMachineBlockFrequencyInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 180 of file llvm/lib/CodeGen/MachineBlockFrequencyInfo.cpp
-
bool shouldReplaceNonVoidReturnValue (const BasicBlock & BB, const Value * Replacement)Return true if it's worthwhile replacing the non-void return value of
with
Defined at line 180 of file llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
-
void DumpCommandLine (int argc, char ** argv)Defined at line 180 of file llvm/utils/FileCheck/FileCheck.cpp
-
HotnessType getHotness (uint64_t ProfileCount, ProfileSummaryInfo * PSI)Defined at line 180 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
template <typename HasherT, llvm::endianness Endianness>void addHash (llvm::HashBuilder<HasherT, Endianness> & HBuilder, const CustomContainer & Value)Defined at line 180 of file llvm/unittests/Support/HashBuilderTest.cpp
-
template <typename EntryT>size_t layout (BlobAllocator & File, MinidumpYAML::detail::ListStream<EntryT> & S)Defined at line 180 of file llvm/lib/ObjectYAML/MinidumpEmitter.cpp
-
Error sectionOverflowErrorOrWarning (uint32_t PrevOffset, uint32_t OverflowedOffset, StringRef SectionName, OnCuIndexOverflow OverflowOptValue, bool & AnySectionOverflow)Defined at line 180 of file llvm/lib/DWP/DWP.cpp
-
ModuleSubsection convertSubsectionKind (DebugSubsectionKind K)Defined at line 180 of file llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp
-
Expected connectTCPSocket (StringRef NetworkAddress)Create a JITLinkExecutor that connects to the given network address
through a TCP socket. A valid NetworkAddress provides hostname and port,
e.g. localhost:20000.
Defined at line 180 of file llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
-
bool isValid (const char C)Returns true if C is a valid mangled character:
<
0-9a-zA-Z_>.
Defined at line 181 of file llvm/lib/Demangle/RustDemangle.cpp
-
bool isAIXBigArchive (Kind Kind)Defined at line 181 of file llvm/lib/Object/ArchiveWriter.cpp
-
template <typename T>DiffOutput getSingleAttrDiff (T SingleAttr, basic_string Attribute)Defined at line 181 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
uint32_t getSectionFlags (const MachOObjectFile & O, DataRefImpl Sec)Defined at line 181 of file llvm/lib/Object/MachOObjectFile.cpp
-
StringRef LlvmUserOperationEncodingString (unsigned int Encoding)Defined at line 181 of file llvm/lib/BinaryFormat/Dwarf.cpp
-
bool needsLeadingZero (uint64_t Value)For asm-style hex (e.g. 0ffh) the first digit always has to be a number.
Defined at line 181 of file llvm/lib/MC/MCInstPrinter.cpp
-
template <typename ValueType>bool getOptionalVal (MDTuple * Tuple, unsigned int & Idx, const char * Key, ValueType & Value)Get the value of an optional field. Increment 'Idx' if it was present. Return
true if we can move onto the next field.
Defined at line 181 of file llvm/lib/IR/ProfileSummary.cpp
-
void printClassDecl (LinePrinter & Printer, const PDBSymbolTypeUDT & Class)Defined at line 181 of file llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp
-
bool isStrictSubset (const VariantMatchInfo & VMI0, const VariantMatchInfo & VMI1)Defined at line 181 of file llvm/lib/Frontend/OpenMP/OMPContext.cpp
-
template <typename SegmentType>void constructSegment (SegmentType & Seg, LoadCommandType CmdType, StringRef SegName, uint64_t SegVMAddr, uint64_t SegVMSize)Defined at line 181 of file llvm/lib/ObjCopy/MachO/MachOObject.cpp
-
bool parseMetadata (const StringRef & Input, uint64_t & FunctionHash, uint32_t & Attributes)Parse
that contains metadata.
Possible metadata:
- CFG Checksum information:
!CFGChecksum: 12345
- CFG Checksum information:
!Attributes: 1
Stores the FunctionHash (a.k.a. CFG Checksum) into
Defined at line 181 of file llvm/lib/ProfileData/SampleProfReader.cpp
-
bool checkOutput (basic_string CheckString, basic_string Output)Defined at line 181 of file llvm/unittests/MIR/MachineMetadata.cpp
-
ElementType toDXILElementType (Type * Ty, bool IsSigned)Defined at line 181 of file llvm/lib/Analysis/DXILResource.cpp
-
void stashEntryDbgValues (MachineBasicBlock & MBB, int & EntryDbgValues)Stash DBG_VALUEs that describe parameters and which are placed at the start
of the block. Later on, after the prologue code has been emitted, the
stashed DBG_VALUEs will be reinserted at the start of the block.
Defined at line 181 of file llvm/lib/CodeGen/PrologEpilogInserter.cpp
-
Expected readIdentificationBlock (BitstreamCursor & Stream)Read the "IDENTIFICATION_BLOCK_ID" block, do some basic enforcement on the
"epoch" encoded in the bitcode, and return the producer name if any.
Defined at line 181 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
bool optimizeDivRem (Function & F, const TargetTransformInfo & TTI, const DominatorTree & DT)Find matching pairs of integer div/rem ops (they have the same numerator,
denominator, and signedness). If they exist in different basic blocks, bring
them together by hoisting or replace the common division operation that is
implicit in the remainder:
X % Y
<
--> X - ((X / Y) * Y).
We can largely ignore the normal safety and cost constraints on speculation
of these ops when we find a matching pair. This is because we are already
guaranteed that any exceptions and most cost are already incurred by the
first member of the pair.
Note: This transform could be an oddball enhancement to EarlyCSE, GVN, or
SimplifyCFG, but it's split off on its own because it's different enough
that it doesn't quite match the stated objectives of those passes.
Defined at line 181 of file llvm/lib/Transforms/Scalar/DivRemPairs.cpp
-
void initializePostDomPrinterWrapperPassPassOnce (PassRegistry & Registry)Defined at line 182 of file llvm/lib/Analysis/DomPrinter.cpp
-
void initializeRegionPrinterPassOnce (PassRegistry & Registry)Defined at line 182 of file llvm/lib/Analysis/RegionPrinter.cpp
-
BasicBlock * getCleanupRetUnwindDest (const CleanupPadInst * CleanupPad)Defined at line 182 of file llvm/lib/CodeGen/WinEHPrepare.cpp
-
void printDiffsCategorizedByFilesPresent (DiffsCategorizedByFilesPresent & DiffsByFilesPresent, llvm::raw_ostream & OS)Print all contents of
and a high-level summary of the differences.
Defined at line 182 of file llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
-
void initializeDependenceAnalysisWrapperPassPassOnce (PassRegistry & Registry)Defined at line 183 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
void fixupIndex (DWARFContext & C, DWARFUnitIndex & Index)Defined at line 183 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
void initializePostInlineEntryExitInstrumenterPassOnce (PassRegistry & Registry)Defined at line 183 of file llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
-
LLVMObjectFileRef LLVMCreateObjectFile (LLVMMemoryBufferRef MemBuf)Deprecated: Use LLVMCreateBinary instead.
Defined at line 183 of file llvm/lib/Object/Object.cpp
-
Expected getAllGarbageDirs (StringRef Path)Defined at line 183 of file llvm/lib/CAS/UnifiedOnDiskCache.cpp
-
bool preservesUniformity (unsigned int Opcode)Returns true if
preserves uniformity, i.e., if all operands are
uniform, the result will also be uniform.
Defined at line 183 of file llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
-
Error registerJITLoaderPerfImpl (const PerfJITRecordBatch & Batch)Defined at line 183 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
Expected<COFF::MachineTypes> getBitcodeFileMachine (MemoryBufferRef MB)Defined at line 183 of file llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
-
bool buildAnyextOrCopy (Register Dst, Register Src, MachineIRBuilder & MIRBuilder)Defined at line 183 of file llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
-
int createBBClusterInfoForFunction (MachineFunction & MF, const BasicBlockMatchingAndInference & BMI)This function generates the machine basic block clusters of "hot" blocks.
Currently, only support one cluster creation.
TODO: Support multi-cluster creation and path cloning.
Defined at line 183 of file llvm/lib/CodeGen/BasicBlockSections.cpp
-
basic_string getDescription (const Function & F)Defined at line 184 of file llvm/lib/IR/Pass.cpp
-
void LLVMPassBuilderOptionsSetInlinerThreshold (LLVMPassBuilderOptionsRef Options, int Threshold)Defined at line 184 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
basic_string formatTrampolineType (TrampolineType Tramp)Defined at line 184 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
void dumpDataAux (DataExtractor Data, uint64_t Offset, int Length)Defined at line 184 of file llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
-
bool evaluateTest (StringRef & InputFile, TestData & TestData, std::string & ActualStr)Defined at line 184 of file llvm/utils/llvm-test-mustache-spec/llvm-test-mustache-spec.cpp
-
bool profitableToRotateLoopExitingLatch (Loop * L)Assuming both header and latch are exiting, look for a phi which is only
used outside the loop (via a LCSSA phi) in the exit from the header.
This means that rotating the loop can remove the phi.
Defined at line 184 of file llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
-
bool isShortenableAtTheEnd (Instruction * I)Returns true if the end of this instruction can be safely shortened in
length.
Defined at line 184 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
void locateCStrings (SparseBitVector<8> & BV, StringRef Str)Scan the format string to locate all specifiers, and mark the ones that
specify a string, i.e, the "%s" specifier with optional '*' characters.
Defined at line 184 of file llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
-
bool canSplitCallSite (CallBase & CB, TargetTransformInfo & TTI)Defined at line 184 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
Instruction * simplifyAllocaArraySize (InstCombinerImpl & IC, AllocaInst & AI, DominatorTree & DT)Defined at line 184 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
bool stripDeadDebugInfoImpl (Module & M)Defined at line 184 of file llvm/lib/Transforms/IPO/StripSymbols.cpp
-
void initializeRegionOnlyPrinterPassOnce (PassRegistry & Registry)Defined at line 185 of file llvm/lib/Analysis/RegionPrinter.cpp
-
bool isCOFFArchive (Kind Kind)Defined at line 185 of file llvm/lib/Object/ArchiveWriter.cpp
-
void addCalleeSavedRegs (LivePhysRegs & LiveRegs, const MachineFunction & MF)Adds all callee saved registers to
Defined at line 185 of file llvm/lib/CodeGen/LivePhysRegs.cpp
-
bool setOnlyReadsMemory (Function & F, unsigned int ArgNo)Defined at line 185 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
IntrinsicInst * getConvergenceEntry (BasicBlock & BB)Defined at line 185 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
Value * findFinalIVValue (const Loop & L, const PHINode & IndVar, const Instruction & StepInst)Return the final value of the loop induction variable if found.
Defined at line 185 of file llvm/lib/Analysis/LoopInfo.cpp
-
Type * getMemoryParamAllocType (AttributeSet ParamAttrs)For a byval, sret, inalloca, or preallocated parameter, get the in-memory
parameter type.
Defined at line 185 of file llvm/lib/IR/Function.cpp
-
Model getSelectedTLSModel (const GlobalValue * GV)Get the IR-specified TLS model for Var.
Defined at line 185 of file llvm/lib/Target/TargetMachine.cpp
-
void copySimpleInMemoryFileImpl (const char * YamlCreationString, function_ref IsValidFormat)Defined at line 185 of file llvm/unittests/ObjCopy/ObjCopyTest.cpp
-
int writeTbdStub (const Triple & T, const int & Symbols, StringRef Format, raw_ostream & Out)Defined at line 185 of file llvm/tools/llvm-ifs/llvm-ifs.cpp
-
DenseMap clone_params (LLVMValueRef Src, LLVMValueRef Dst)Defined at line 185 of file llvm/tools/llvm-c-test/echo.cpp
-
void RemoveUnusedGlue (SDNode * N, SelectionDAG * DAG)Cleanup after unsuccessful AddGlue. Use the standard method of morphing the
node even though simply shrinking the value list is sufficient.
Defined at line 186 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
-
void RegisterPassPlugins (ArrayRef PassPlugins, PassBuilder & PB)Defined at line 186 of file llvm/lib/LTO/LTOBackend.cpp
-
ParseRet tryParseCompileTimeLinearToken (StringRef & ParseString, VFParamKind & PKind, int & LinearStep, StringRef Token)The function looks for the following strings at the beginning of
the input string `ParseString`:
<token
> {"n"}
<number
>
On success, it removes the parsed parameter from `ParseString`,
sets `PKind` to the correspondent enum value, sets `LinearStep` to
<number
>, and return success. On a syntax error, it return a
parsing error. If nothing is parsed, it returns std::nullopt.
The function expects
<token
> to be one of "l", "R", "U" or
"L".
Defined at line 186 of file llvm/lib/IR/VFABIDemangler.cpp
-
template <class ELFT>uint64_t getSectionLMA (const ELFFile<ELFT> & Obj, const object::ELFSectionRef & Sec)Defined at line 186 of file llvm/tools/llvm-objdump/ELFDump.cpp
-
bool hasInlineInfo (DWARFDie Die, uint32_t Depth)Defined at line 186 of file llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
-
int loadModuleFromInput (lto::InputFile * Input, LLVMContext & Context, bool Lazy, bool IsImporting)Defined at line 186 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
OMPScheduleType getOpenMPBaseScheduleType (ScheduleKind ClauseKind, bool HasChunks, bool HasSimdModifier, bool HasDistScheduleChunks)Determine which scheduling algorithm to use, determined from schedule clause
arguments.
Defined at line 186 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
SmallVector findSiblings (StackTrieNode * parent, int32_t FnId, uint32_t TId, const DenseMap<uint32_t, SmallVector<StackTrieNode *, 4>> & StackRootsByThreadId)A helper function to find the sibling nodes for an encountered function in a
thread of execution. Relies on the invariant that each time a new node is
traversed in a thread, sibling bidirectional pointers are maintained.
Defined at line 186 of file llvm/tools/llvm-xray/xray-converter.cpp
-
Error parseV2DirFileTables (const DWARFDataExtractor & DebugLineData, uint64_t * OffsetPtr, DWARFDebugLine::ContentTypeTracker & ContentTypes, std::vector<DWARFFormValue> & IncludeDirectories, std::vector<DWARFDebugLine::FileNameEntry> & FileNames)Parse v2-v4 directory and file tables.
Defined at line 186 of file llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
-
Function * createMergedFunction (FuncMergeInfo & FI, ArrayRef ConstParamTypes, const ParamLocsVecTy & ParamLocsVec)Given the func info, and the parameterized locations, create and return
a new merged function by replacing the original constants with the new
parameters.
Defined at line 186 of file llvm/lib/CodeGen/GlobalMergeFunctions.cpp
-
bool addBoundsChecking (Function & F, TargetLibraryInfo & TLI, ScalarEvolution & SE, const BoundsCheckingPass::Options & Opts)Defined at line 186 of file llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
-
bool sinkInstruction (Loop & L, Instruction & I, const SmallVectorImpl<BasicBlock *> & ColdLoopBBs, const SmallDenseMap<BasicBlock *, int, 16> & LoopBlockNumber, LoopInfo & LI, DominatorTree & DT, BlockFrequencyInfo & BFI, MemorySSAUpdater * MSSAU)Sinks
from the loop
preheader to its uses. Returns true if
sinking is successful.
is used to sort the insertion blocks to ensure
determinism.
Defined at line 186 of file llvm/lib/Transforms/Scalar/LoopSink.cpp
-
void initializePostDomOnlyPrinterWrapperPassPassOnce (PassRegistry & Registry)Defined at line 187 of file llvm/lib/Analysis/DomPrinter.cpp
-
void initializeStaticDataProfileInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 187 of file llvm/lib/Analysis/StaticDataProfileInfo.cpp
-
bool areBothVScale (const Value * V1, const Value * V2)Return true if both V1 and V2 are VScale
Defined at line 187 of file llvm/lib/Analysis/BasicAliasAnalysis.cpp
-
unsigned int getAtomicOpSize (LoadInst * LI)Helper functions to retrieve the size of atomic instructions.
Defined at line 187 of file llvm/lib/CodeGen/AtomicExpandPass.cpp
-
optional getOffset (ArrayRef Offsets, size_t Idx)Defined at line 187 of file llvm/lib/Object/SFrameParser.cpp
-
bool shouldForwardValueToReturn (const BasicBlock & BB, const Value * V, Type * RetTy)Defined at line 187 of file llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
-
void store_cv_words (uint8_t[32] bytes_out, uint32_t[8] cv_words)Defined at line 187 of file llvm/lib/Support/BLAKE3/blake3_impl.h
-
void EmitSymbolRefWithOfs (MCStreamer & streamer, const MCSymbol * Base, const MCSymbol * Other)Defined at line 187 of file llvm/lib/MC/MCWin64EH.cpp
-
Value * LowerCTLZ (LLVMContext & Context, Value * V, Instruction * IP)Emit the code to lower ctlz of V before the specified instruction IP.
Defined at line 187 of file llvm/lib/CodeGen/IntrinsicLowering.cpp
-
bool checkOrderedReduction (RecurKind Kind, Instruction * ExactFPMathInst, Instruction * Exit, PHINode * Phi)Check if a given Phi node can be recognized as an ordered reduction for
vectorizing floating point operations without unsafe math.
Defined at line 187 of file llvm/lib/Analysis/IVDescriptors.cpp
-
void warn (Twine Message)Defined at line 188 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
Value * skipTrivialSelect (Value * Cond)Helper to skip (select x, true, false), which matches both a logical AND and
OR and can confuse code that tries to determine if
is either a
logical AND or OR but not both.
Defined at line 188 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
basic_string memberAttributes (const MemberAttributes & Attrs)Defined at line 188 of file llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
-
Expected<SectionFlag> parseSectionFlagSet (ArrayRef SectionFlags)Defined at line 188 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
Error dumpSectionToFile (StringRef SecName, StringRef Filename, StringRef InputFilename, Object & Obj)Defined at line 188 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
bool CC_X86_32_VectorCall (unsigned int & ValNo, MVT & ValVT, MVT & LocVT, CCValAssign::LocInfo & LocInfo, ISD::ArgFlagsTy & ArgFlags, CCState & State)Vectorcall calling convention has special handling for vector types or
HVA for 32 bit arch.
For HVAs actual XMM registers are allocated on the second pass.
For vector types, actual XMM registers are allocated on the first pass.
Returns
true if registers were allocated and false otherwise.
Defined at line 188 of file llvm/lib/Target/X86/X86CallingConv.cpp
-
Instruction * dropRedundantMaskingOfLeftShiftInput (BinaryOperator * OuterShift, const SimplifyQuery & Q, InstCombiner::BuilderTy & Builder)If we have some pattern that leaves only some low bits set, and then performs
left-shift of those bits, if none of the bits that are left after the final
shift are modified by the mask, we can omit the mask.
There are many variants to this pattern:
a) (x
&
((1
<
<
MaskShAmt) - 1))
<
<
ShiftShAmt
b) (x
&
(~(-1
<
<
MaskShAmt)))
<
<
ShiftShAmt
c) (x
&
(-1 l>> MaskShAmt))
<
<
ShiftShAmt
d) (x
&
((-1
<
<
MaskShAmt) l>> MaskShAmt))
<
<
ShiftShAmt
e) ((x
<
<
MaskShAmt) l>> MaskShAmt)
<
<
ShiftShAmt
f) ((x
<
<
MaskShAmt) a>> MaskShAmt)
<
<
ShiftShAmt
All these patterns can be simplified to just:
x
<
<
ShiftShAmt
iff:
a,b) (MaskShAmt+ShiftShAmt) u>= bitwidth(x)
c,d,e,f) (ShiftShAmt-MaskShAmt) s>= 0 (i.e. ShiftShAmt u>= MaskShAmt)
Defined at line 188 of file llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
-
Error failedImport (const Twine & Reason)Helper function to let the emitter report skip reason error messages.
Defined at line 189 of file llvm/utils/TableGen/GlobalISelEmitter.cpp
-
template <typename T, DiffAttrKind U>void diffAttribute (basic_string Name, std::vector<DiffOutput> & Output, DiffScalarVal<T, U> Attr)Defined at line 189 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
xmlNsPtr getClosestDefault (xmlNodePtr Node)Search for the closest inheritable default namespace, starting on (and
including) the Node and traveling upwards through parent nodes. Returns
nullptr if there are no inheritable default namespaces.
Defined at line 189 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
basic_string toBinaryString (uint8_t Byte)Defined at line 189 of file llvm/tools/llvm-pdbutil/ExplainOutputStyle.cpp
-
bool ConvertToSInt (const APFloat & APF, int64_t & IntVal)Convert APF to an integer, if possible.
Defined at line 189 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
bool isBSDLike (Kind Kind)Defined at line 189 of file llvm/lib/Object/ArchiveWriter.cpp
-
void calculateStateNumbersForInvokes (const Function * Fn, WinEHFuncInfo & FuncInfo)Defined at line 189 of file llvm/lib/CodeGen/WinEHPrepare.cpp
-
void initializeRegionViewerPassOnce (PassRegistry & Registry)Defined at line 190 of file llvm/lib/Analysis/RegionPrinter.cpp
-
void setCannotDuplicate (CoroIdInst * CoroId)Prior to CoroSplit, calls to coro.begin needs to be marked as NoDuplicate,
as CoroSplit assumes there is exactly one coro.begin. After CoroSplit,
NoDuplicate attribute will be removed from coro.begin otherwise, it will
interfere with inlining.
Defined at line 190 of file llvm/lib/Transforms/Coroutines/CoroEarly.cpp
-
bool decomposeBitTest (Value * Cond, CmpInst::Predicate & Pred, Value *& X, Value *& Y, Value *& Z)Adapts the external decomposeBitTest for local use.
Defined at line 190 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
pair ConvertUTF8ToUnicodeScalarsPartialLenient (StringRef S)Defined at line 190 of file llvm/unittests/Support/ConvertUTFTest.cpp
-
TokenKind getIdentifierKind (StringRef Identifier)Defined at line 190 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
bool layoutCOFF (COFFParser & CP)Take a CP and assign addresses and sizes to everything. Returns false if the
layout is not valid to do.
Defined at line 190 of file llvm/lib/ObjectYAML/COFFEmitter.cpp
-
bool isNonRenamableLocal (const GlobalValue & GV)Defined at line 191 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
Error unsupportedBatch (const VTuneMethodBatch & MB)Defined at line 191 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.cpp
-
bool peek (struct InternalInstruction * insn, uint8_t & byte)Defined at line 191 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
uint32_t handleVFPtr (ArrayRef Data, uint32_t Offset, SmallVectorImpl<TiReference> & Refs)Defined at line 191 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
basic_string stripTrailingZeros (const std::string & Float)Defined at line 191 of file llvm/lib/Support/ScaledNumber.cpp
-
MemOpKey getMemOpKey (const MachineInstr & MI, unsigned int N)Returns a hash table key based on memory operands of
The
number of the first memory operand of
is specified through
Defined at line 191 of file llvm/lib/Target/X86/X86OptimizeLEAs.cpp
-
template <typename T>T & getAccelTable (std::unique_ptr<T> & Cache, const DWARFObject & Obj, const DWARFSection & Section, StringRef StringSection, bool IsLittleEndian)Defined at line 191 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
Expected getLoadCommandInfo (const MachOObjectFile & Obj, const char * Ptr, uint32_t LoadCommandIndex)Defined at line 191 of file llvm/lib/Object/MachOObjectFile.cpp
-
Value * reduceInstruction (Oracle & O, Module & M, Instruction & I)Defined at line 191 of file llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
-
unsigned int getAtomicOpSize (StoreInst * SI)Defined at line 192 of file llvm/lib/CodeGen/AtomicExpandPass.cpp
-
unsigned int getLlvmUserOperationEncoding (StringRef LlvmUserOperationEncodingString)Defined at line 192 of file llvm/lib/BinaryFormat/Dwarf.cpp
-
OutputConfig applySettings (std::optional<OutputConfig> && Config, const OnDiskOutputBackend::OutputSettings & Settings)Defined at line 192 of file llvm/lib/Support/VirtualOutputBackends.cpp
-
GenericValue executeICMP_EQ (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 192 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
optional findDefaultVersion (StringRef ExtName)Defined at line 192 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
bool hasDuplicateClauses (ArrayRef Clauses, const Directive & Directive, StringSet<> & CrtClauses)Defined at line 192 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
uint64_t XXH3_mul128_fold64 (uint64_t lhs, uint64_t rhs)Calculates a 64-bit to 128-bit multiply, then XOR folds it.
Defined at line 192 of file llvm/lib/Support/xxhash.cpp
-
basic_string formatSourceLanguage (SourceLanguage Lang)Defined at line 192 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
int llvm_ml_main (int Argc, char ** Argv, const llvm::ToolContext & )Defined at line 192 of file llvm/tools/llvm-ml/llvm-ml.cpp
-
int getNextToken ()Defined at line 193 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
void initializeRegionOnlyViewerPassOnce (PassRegistry & Registry)Defined at line 193 of file llvm/lib/Analysis/RegionPrinter.cpp
-
int TargetArraySortFn (const std::pair<StringRef, const Target *> * LHS, const std::pair<StringRef, const Target *> * RHS)Defined at line 193 of file llvm/lib/MC/TargetRegistry.cpp
-
bool addressOverflows32bit (uint64_t Addr)Defined at line 193 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
bool setOnlyWritesMemory (Function & F, unsigned int ArgNo)Defined at line 193 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void moveOperands (MachineOperand * Dst, MachineOperand * Src, unsigned int NumOps, MachineRegisterInfo * MRI)Move NumOps MachineOperands from Src to Dst, with support for overlapping
ranges. If MRI is non-null also update use-def chains.
Defined at line 193 of file llvm/lib/CodeGen/MachineInstr.cpp
-
bool tryFoldNoOpMath (uint64_t Const1, ArrayRef Ops, uint64_t & Loc, DIExpressionCursor & Cursor, SmallVectorImpl<uint64_t> & WorkingOps){DW_OP_constu, 0, DW_OP_[plus, minus, shl, shr]} -> {}
{DW_OP_constu, 1, DW_OP_[mul, div]} -> {}
Defined at line 193 of file llvm/lib/IR/DIExpressionOptimizer.cpp
-
uint64_t getCPUID (uint32_t CPUType, uint32_t CPUSubtype)Defined at line 193 of file llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
-
unique_ptr loadFile (const std::string & FileName, LLVMContext & Context)Load lazily a module from
in
Defined at line 193 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
bool flagsNeedToBePreservedBeforeTheTerminators (const MachineBasicBlock & MBB)Check if the flags need to be preserved before the terminators.
This would be the case, if the eflags is live-in of the region
composed by the terminators or live-out of that region, without
being defined by a terminator.
Defined at line 193 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
Error isTrivialOperatorNode (const TreePatternNode & N)Defined at line 193 of file llvm/utils/TableGen/GlobalISelEmitter.cpp
-
unsigned int getDwarfRegNum (MCRegister Reg, const TargetRegisterInfo * TRI)Go up the super-register chain until we hit a valid dwarf register number.
Defined at line 194 of file llvm/lib/CodeGen/StackMaps.cpp
-
void BM_Mustache_DeeplyNestedRendering (benchmark::State & state)Tests the "hot render" cost of pushing and popping a deep context stack.
Defined at line 194 of file llvm/benchmarks/Mustache.cpp
-
InsertionPoint insertRememberRestorePair (const InsertionPoint & RememberInsertPt, const InsertionPoint & RestoreInsertPt)Inserts a `.cfi_remember_state` instruction before PrologueEnd and a
`.cfi_restore_state` instruction before DstInsertPt. Returns an iterator
to the first instruction after the inserted `.cfi_restore_state` instruction.
Defined at line 194 of file llvm/lib/CodeGen/CFIFixup.cpp
-
void cloneMemOperands (MachineInstr & DstMI, MachineInstr & SrcMI, MachineFunction & SrcMF, MachineFunction & DstMF)Defined at line 194 of file llvm/tools/llvm-reduce/ReducerWorkItem.cpp
-
template <typename T>void diffAttribute (basic_string Name, std::vector<DiffOutput> & Output, const T & Val, InterfaceInputOrder Order)Defined at line 195 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
void initializeInterleavedAccessPassOnce (PassRegistry & Registry)Defined at line 195 of file llvm/lib/CodeGen/InterleavedAccessPass.cpp
-
void initializePHIEliminationPassOnce (PassRegistry & Registry)Defined at line 195 of file llvm/lib/CodeGen/PHIElimination.cpp
-
const SCEV * addSCEVNoOverflow (const SCEV * A, const SCEV * B, ScalarEvolution & SE)Returns
+
if it is guaranteed not to unsigned wrap. Otherwise
return nullptr.
and
must have the same type.
Defined at line 195 of file llvm/lib/Analysis/LoopAccessAnalysis.cpp
-
bool isValueTypeInRegForCC (CallingConv::ID CC, MVT VT)Defined at line 195 of file llvm/lib/CodeGen/CallingConvLower.cpp
-
Expected getCommonSize (ObjectFile * Obj)Total size of all ELF common symbols
Defined at line 195 of file llvm/tools/llvm-size/llvm-size.cpp
-
StringRef getUnwindCodeTypeName (uint8_t Code)Returns the name of the unwind code.
Defined at line 195 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
void unsuppported (const std::vector<std::pair<uint64_t, uint64_t>> & UM)Defined at line 196 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.cpp
-
bool canBeUnquotedInDirective (char C)Check if the name needs quotes to be safe for the linker to interpret.
Defined at line 196 of file llvm/lib/IR/Mangler.cpp
-
void initializeStackSlotColoringLegacyPassOnce (PassRegistry & Registry)Defined at line 196 of file llvm/lib/CodeGen/StackSlotColoring.cpp
-
void debug_user_sig_handler (void * Cookie)Signal handlers - dump debug output on termination.
Defined at line 196 of file llvm/lib/Support/Debug.cpp
-
basic_string getErrorString (const Twine & Message, StringRef Whence, bool Warning)Defined at line 196 of file llvm/tools/llvm-cov/CodeCoverage.cpp
-
bool handleWriteAction (const Context & Ctx, int Out)Defined at line 196 of file llvm/tools/llvm-readtapi/llvm-readtapi.cpp
-
bool tryForwardingInstructionsToReturn (Function & F, Oracle & O, std::vector<std::pair<Function *, Value *>> & FuncsToReplace)Defined at line 196 of file llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
-
template <typename T>T getLEB128 (StringRef Data, uint64_t * OffsetPtr, Error * Err, T (&)(const uint8_t *, unsigned int *, const uint8_t *, const char **) Decoder)Defined at line 196 of file llvm/lib/Support/DataExtractor.cpp
-
void runTest (StringRef InputFile)Defined at line 196 of file llvm/utils/llvm-test-mustache-spec/llvm-test-mustache-spec.cpp
-
pair decodeUTF8 (StringRef Range)Defined at line 196 of file llvm/lib/Support/YAMLParser.cpp
-
Error readInitExpr (wasm::WasmInitExpr & Expr, WasmObjectFile::ReadContext & Ctx)Defined at line 196 of file llvm/lib/Object/WasmObjectFile.cpp
-
int isVariantApplicableInContextHelper (const VariantMatchInfo & VMI, const OMPContext & Ctx, SmallVectorImpl<unsigned int> * ConstructMatches, bool DeviceOrImplementationSetOnly)Defined at line 196 of file llvm/lib/Frontend/OpenMP/OMPContext.cpp
-
unsigned int getAtomicOpSize (AtomicRMWInst * RMWI)Defined at line 197 of file llvm/lib/CodeGen/AtomicExpandPass.cpp
-
bool isUseOnlyIntrinsic (unsigned int ID)A list of intrinsics that we know do not use objc pointers or decrement
ref counts.
Defined at line 197 of file llvm/lib/Analysis/ObjCARCInstKind.cpp
-
Expected getArchiveMemberOctField (Twine FieldName, StringRef RawField, const Archive * Parent, const AbstractArchiveMemberHeader * MemHeader)Defined at line 197 of file llvm/lib/Object/Archive.cpp
-
void addVCallToSet (DevirtCallSite Call, GlobalValue::GUID Guid, SetVector<FunctionSummary::VFuncId, std::vector<FunctionSummary::VFuncId>> & VCalls, SetVector<FunctionSummary::ConstVCall, std::vector<FunctionSummary::ConstVCall>> & ConstVCalls)Determine whether this call has all constant integer arguments (excluding
"this") and summarize it to VCalls or ConstVCalls as appropriate.
Defined at line 197 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
Directory layout (BlobAllocator & File, Stream & S)Defined at line 197 of file llvm/lib/ObjectYAML/MinidumpEmitter.cpp
-
bool markTails (Function & F, OptimizationRemarkEmitter * ORE)Defined at line 197 of file llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
-
template <class T>T checkedGetHex (StringRef S)Defined at line 198 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
void makeFunctionBodyUnreachable (Function & F)Defined at line 198 of file llvm/lib/Transforms/IPO/Inliner.cpp
-
bool handleFile (StringRef Filename, OutlinedHashTreeRecord & GlobalOutlineRecord, StableFunctionMapRecord & GlobalFunctionMapRecord)Defined at line 198 of file llvm/tools/llvm-cgdata/llvm-cgdata.cpp
-
void fillIndirectionTable (GlobalVariable * IndirectionTable, SmallVector Indirections)Defined at line 198 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
StringRef getOverloadKindStr (const Record * R)Return a string representation of OverloadKind enum that maps to
input LLVMType record
Parameters
R TableGen def record of class LLVMTypeReturns
std::string string representation of OverloadKind
Defined at line 198 of file llvm/utils/TableGen/DXILEmitter.cpp
-
Value * expandBinOp (BinaryOps Opcode, Value * V, Value * OtherOp, BinaryOps OpcodeToExpand, const SimplifyQuery & Q, unsigned int MaxRecurse)Try to simplify a binary operator of form "V op OtherOp" where V is
"(B0 opex B1)" by distributing 'op' across 'opex' as
"(B0 op OtherOp) opex (B1 op OtherOp)".
Defined at line 198 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Error collectRemarks ()Defined at line 198 of file llvm/tools/llvm-remarkutil/RemarkCounter.cpp
-
SetVector buildExtractionBlockSet (ArrayRef BBs, DominatorTree * DT, bool AllowVarArgs, bool AllowAlloca)Build a set of blocks to extract if the input blocks are viable.
Defined at line 198 of file llvm/lib/Transforms/Utils/CodeExtractor.cpp
-
void emitTypeConstraint (raw_ostream & OS, SDTypeConstraint C, const int & VTByHwModeTable)Defined at line 198 of file llvm/utils/TableGen/SDNodeInfoEmitter.cpp
-
BaseIndexOffset matchLSNode (const LSBaseSDNode * N, const SelectionDAG & DAG)Parses tree in Ptr for base, index, offset addresses.
Defined at line 198 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
-
template <typename T>bool consume (InternalInstruction * insn, T & ptr)Defined at line 199 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
void combineWeightsByHashing (WeightList & Weights)Defined at line 199 of file llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
-
uint32_t handleListContinuation (ArrayRef Data, uint32_t Offset, SmallVectorImpl<TiReference> & Refs)Defined at line 200 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
int GetTokPrecedence ()GetTokPrecedence - Get the precedence of the pending binary operator token.
Defined at line 200 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
void EmitRuntimeFunction (MCStreamer & streamer, const WinEH::FrameInfo * info)Defined at line 200 of file llvm/lib/MC/MCWin64EH.cpp
-
bool canBeUnquotedInDirective (StringRef Name)Defined at line 200 of file llvm/lib/IR/Mangler.cpp
-
vector getSingleIF (InterfaceFile * Interface, InterfaceInputOrder Order)Defined at line 200 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
void initializeWindowsSecureHotPatchingPassOnce (PassRegistry & Registry)Defined at line 201 of file llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
-
void handleYAMLDiag (const SMDiagnostic & Diag, void * Context)Defined at line 201 of file llvm/lib/CodeGen/MIRParser/MIRParser.cpp
-
bool GenerateSignBits (Instruction * I)Defined at line 201 of file llvm/lib/CodeGen/TypePromotion.cpp
-
unsigned int getSubOpcode (bool Is64Bit)Defined at line 201 of file llvm/lib/Target/X86/X86DynAllocaExpander.cpp
-
bool setRetNoUndef (Function & F)Defined at line 201 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void printTypeCountMap (raw_ostream & OS, LineLocation Loc, const TypeCountMap & TypeCountMap)Defined at line 201 of file llvm/lib/ProfileData/SampleProf.cpp
-
bool isStructOfMatchingFixedVectors (Type * Ty)Defined at line 201 of file llvm/lib/Transforms/Scalar/Scalarizer.cpp
-
unsigned int getAtomicOpSize (AtomicCmpXchgInst * CASI)Defined at line 202 of file llvm/lib/CodeGen/AtomicExpandPass.cpp
-
void getNextDBDirName (StringRef DBDir, llvm::raw_ostream & OS)Defined at line 202 of file llvm/lib/CAS/UnifiedOnDiskCache.cpp
-
template <IR IRTy>void RUOW (benchmark::State & State)Defined at line 202 of file llvm/benchmarks/SandboxIRBench.cpp
-
void ReplaceFPIntrinsicWithCall (CallInst * CI, const char * Fname, const char * Dname, const char * LDname)Defined at line 202 of file llvm/lib/CodeGen/IntrinsicLowering.cpp
-
void convertToGuardPredicates (ArrayRef Branches, ArrayRef Outgoing, SmallVectorImpl<BasicBlock *> & GuardBlocks, SmallVectorImpl<WeakVH> & DeletionCandidates, StringRef Prefix, optional MaxControlFlowBooleans)Capture the existing control flow as guard predicates, and redirect
control flow from
block through the
to the
blocks.
There is one guard predicate for each outgoing block OutBB. The
predicate represents whether the hub should transfer control flow
to OutBB. These predicates are NOT ORTHOGONAL. The Hub evaluates
them in the same order as the Outgoing set-vector, and control
branches to the first outgoing block whose predicate evaluates to true.
The last guard block has two outgoing blocks as successors since the
condition for the final outgoing block is trivially true. So we create one
less block (including the first guard block) than the number of outgoing
blocks.
Defined at line 202 of file llvm/lib/Transforms/Utils/ControlFlowUtils.cpp
-
int createTargetMachine (const Config & Conf, const Target * TheTarget, Module & M)Defined at line 202 of file llvm/lib/LTO/LTOBackend.cpp
-
TinyPtrVector collectHomogenousInstGraphLoopInvariants (const Loop & L, Instruction & Root, const LoopInfo & LI)Collect all of the loop invariant input values transitively used by the
homogeneous instruction graph from a given root.
This essentially walks from a root recursively through loop variant operands
which have perform the same logical operation (AND or OR) and finds all
inputs which are loop invariant. For some operations these can be
re-associated and unswitched out of the loop entirely.
Defined at line 202 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
void usage (bool ExitWithFailure)Defined at line 202 of file llvm/tools/llvm-config/llvm-config.cpp
-
Error addAllTypesFromDWP (MCStreamer & Out, MapVector<uint64_t, UnitIndexEntry> & TypeIndexEntries, const DWARFUnitIndex & TUIndex, MCSection * OutputTypes, StringRef Types, const UnitIndexEntry & TUEntry, uint32_t & TypesOffset, unsigned int TypesContributionIndex, OnCuIndexOverflow OverflowOptValue, bool & AnySectionOverflow)Defined at line 202 of file llvm/lib/DWP/DWP.cpp
-
void DecodeIITType (unsigned int & NextElt, ArrayRef Infos, IIT_Info LastInfo, SmallVectorImpl<Intrinsic::IITDescriptor> & OutputTable)Defined at line 202 of file llvm/lib/IR/Intrinsics.cpp
-
void initializeDebugifyMachineModulePassOnce (PassRegistry & Registry)Defined at line 203 of file llvm/lib/CodeGen/MachineDebugify.cpp
-
bool isEpilogProfitable (Loop * L)The function chooses which type of unroll (epilog or prolog) is more
profitabale.
Epilog unroll is more profitable when there is PHI that starts from
constant. In this case epilog will leave PHI start from constant,
but prolog will convert it to non-constant.
loop:
PN = PHI [I, Latch], [CI, PreHeader]
I = foo(PN)
...
Epilog unroll case.
loop:
PN = PHI [I2, Latch], [CI, PreHeader]
I1 = foo(PN)
I2 = foo(I1)
...
Prolog unroll case.
NewPN = PHI [PrologI, Prolog], [CI, PreHeader]
loop:
PN = PHI [I2, Latch], [NewPN, PreHeader]
I1 = foo(PN)
I2 = foo(I1)
...
Defined at line 203 of file llvm/lib/Transforms/Utils/LoopUnroll.cpp
-
template <typename TypeT>const TargetRegisterClass * getMinimalPhysRegClass (const TargetRegisterInfo * TRI, MCRegister Reg, TypeT Ty)Defined at line 203 of file llvm/lib/CodeGen/TargetRegisterInfo.cpp
-
BranchProbability probOfNextInRemainder (BranchProbability OriginalLoopProb, unsigned int N)Assume, due to our position in the remainder loop or its guard, anywhere
from 0 to
more iterations can possibly execute. Among such cases in
the original loop (with loop probability
what is the
probability of executing at least one more iteration?
Defined at line 203 of file llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
-
bool isProfitable (const StableFunctionMap::StableFunctionEntries & SFS)Defined at line 203 of file llvm/lib/CGData/StableFunctionMap.cpp
-
bool findArrayDimensionsRec (ScalarEvolution & SE, SmallVectorImpl<const SCEV *> & Terms, SmallVectorImpl<const SCEV *> & Sizes)Defined at line 203 of file llvm/lib/Analysis/Delinearization.cpp
-
Error mergeAttributes (xmlNodePtr OriginalNode, xmlNodePtr AdditionalNode)Merge the attributes of AdditionalNode into OriginalNode. If attributes
with identical types are present, they are not duplicated but rather if
their values are not consistent and error is thrown. In addition, the
higher priority namespace is used for each attribute, EXCEPT in the case
of merging two default namespaces and the lower priority namespace
definition occurs closer than the higher priority one.
Defined at line 203 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
bool CleanupPointerRootUsers (GlobalVariable * GV, function_ref<TargetLibraryInfo &(Function &)> GetTLI)This GV is a pointer root. Loop over all users of the global and clean up
any that obviously don't assign the global a value that isn't dynamically
allocated.
Defined at line 203 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
void updateBranchWeights (BranchInst & PreHeaderBI, BranchInst & LoopBI, bool HasConditionalPreHeader, bool SuccsSwapped)Defined at line 203 of file llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
-
void initializePostRASchedulerLegacyPassOnce (PassRegistry & Registry)Defined at line 204 of file llvm/lib/CodeGen/PostRASchedulerList.cpp
-
const SCEV * mulSCEVOverflow (const SCEV * A, const SCEV * B, ScalarEvolution & SE)Returns
*
if it is guaranteed not to unsigned wrap. Otherwise
return nullptr.
and
must have the same type.
Defined at line 204 of file llvm/lib/Analysis/LoopAccessAnalysis.cpp
-
bool isRepresentableAsExactInteger (const APFloat & FPVal, int64_t IntVal)Ensure we stay within the bounds of fp values that can be represented as
integers without gaps, which are 2^24 and 2^53 for IEEE-754 single and
double precision respectively (both on negative and positive side).
Defined at line 204 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
MDNode * createStringMetadata (Loop * TheLoop, StringRef Name, unsigned int V)Create MDNode for input string.
Defined at line 204 of file llvm/lib/Transforms/Utils/LoopUtils.cpp
-
void propagateAttributesToRefs (GlobalValueSummary * S, DenseSet<ValueInfo> & MarkedNonReadWriteOnly)Defined at line 204 of file llvm/lib/IR/ModuleSummaryIndex.cpp
-
bool validateArgsTypes (const Init * Arg1, const Init * Arg2)Defined at line 205 of file llvm/utils/TableGen/CompressInstEmitter.cpp
-
template <class T>void print (raw_ostream & Out, Kind Kind, T Val)Defined at line 205 of file llvm/lib/Object/ArchiveWriter.cpp
-
Value * peekThroughBitcasts (Value * V)Return the source operand of a potentially bitcasted value. If there is no
bitcast, return the input value itself.
Defined at line 205 of file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
-
void cleanupModule (Module & M)Defined at line 205 of file llvm/tools/llvm-split/llvm-split.cpp
-
basic_string formatPointerAttrs (const PointerRecord & Record)Defined at line 205 of file llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
-
void externalize (GlobalValue * GV)Defined at line 205 of file llvm/lib/Transforms/Utils/SplitModule.cpp
-
void error (Error E, StringRef FileName, StringRef ArchitectureName)This version of error() prints the file name and which architecture slice it
is from, for example: "foo.o (for architecture i386)" after the ToolName
before the error message. It sets HadError but returns allowing the code to
move on to other architecture slices.
Defined at line 205 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
bool parseTypeCountMap (StringRef Input, DenseMap<StringRef, uint64_t> & TypeCountMap)Parse `Input` as a white-space separated list of `vtable:count` pairs. An
example input line is `_ZTVbar:1471 _ZTVfoo:630`.
Defined at line 205 of file llvm/lib/ProfileData/SampleProfReader.cpp
-
void collectLocStats (uint64_t ScopeBytesCovered, uint64_t BytesInScope, std::vector<SaturatingUINT64> & VarParamLocStats, std::vector<SaturatingUINT64> & ParamLocStats, std::vector<SaturatingUINT64> & LocalVarLocStats, bool IsParam, bool IsLocalVar)Collect debug location statistics for one DIE.
Defined at line 205 of file llvm/tools/llvm-dwarfdump/Statistics.cpp
-
MarkerStyle GetMarker (MatchType MatchTy)Defined at line 205 of file llvm/utils/FileCheck/FileCheck.cpp
-
unsigned int getNumEntered ()Defined at line 206 of file llvm/utils/PerfectShuffle/PerfectShuffle.cpp
-
void printForSigInfoIfNeeded ()Defined at line 206 of file llvm/lib/Support/PrettyStackTrace.cpp
-
GenericValue executeICMP_NE (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 206 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
bool runImpl (const TargetLibraryInfo & TLI, Function & F)Defined at line 206 of file llvm/lib/CodeGen/ReplaceWithVeclib.cpp
-
Expected<DsymutilAccelTableKind> getAccelTableKind (opt::InputArgList & Args)Defined at line 206 of file llvm/tools/dsymutil/dsymutil.cpp
-
Expected<SectionRename> parseRenameSectionValue (StringRef FlagValue)Defined at line 206 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
bool findDependencies (DependenceKind Flavor, const Value * Arg, BasicBlock * StartBB, Instruction * StartInst, SmallPtrSetImpl<Instruction *> & DependingInsts, ProvenanceAnalysis & PA)Walk up the CFG from StartPos (which is in StartBB) and find local and
non-local dependencies on Arg.
TODO: Cache results?
Defined at line 206 of file llvm/lib/Transforms/ObjCARC/DependencyAnalysis.cpp
-
Value * getValueOnEdge (LazyValueInfo * LVI, Value * Incoming, BasicBlock * From, BasicBlock * To, Instruction * CxtI)Defined at line 206 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
StoreInst * findSafeStoreForStoreStrongContraction (LoadInst * Load, Instruction * Release, ProvenanceAnalysis & PA, AAResults * AA)Defined at line 206 of file llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
-
bool isRelaxableBranch (unsigned int Opcode)Defined at line 207 of file llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
-
bool isValidDispOp (const MachineOperand & MO)Defined at line 207 of file llvm/lib/Target/X86/X86OptimizeLEAs.cpp
-
AddressRanges ConvertDWARFRanges (const DWARFAddressRangesVector & DwarfRanges)Defined at line 207 of file llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
-
Expected getFirstLoadCommandInfo (const MachOObjectFile & Obj)Defined at line 207 of file llvm/lib/Object/MachOObjectFile.cpp
-
bool machineMatches (MachineTypes LibMachine, MachineTypes FileMachine)Defined at line 207 of file llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
-
AssertionResult CheckConvertUTF8ToUnicodeScalars (ConvertUTFResultContainer Expected, StringRef S, bool Partial)Defined at line 207 of file llvm/unittests/Support/ConvertUTFTest.cpp
-
bool convertToRelativeLookupTables (Module & M, function_ref GetTTI)Convert lookup tables to relative lookup tables in the module.
Defined at line 207 of file llvm/lib/Transforms/Utils/RelLookupTableConverter.cpp
-
void emitHelpTextsForVariants (raw_ostream & OS, vector HelpTextsForVariants)Defined at line 207 of file llvm/utils/TableGen/OptionParserEmitter.cpp
-
error_code manageTimeout (const std::chrono::milliseconds & Timeout, const std::function<int ()> & getActiveFD, const std::optional<int> & CancelFD)If a file descriptor being monitored by ::poll is closed by another thread,
the result is unspecified. In the case ::poll does not unblock and return,
when ActiveFD is closed, you can provide another file descriptor via CancelFD
that when written to will cause poll to return. Typically CancelFD is the
read end of a unidirectional pipe.
Timeout should be -1 to block indefinitly
getActiveFD is a callback to handle ActiveFD's of std::atomic
<int
> and int
Defined at line 207 of file llvm/lib/Support/raw_socket_stream.cpp
-
ElementType toDXILStorageType (ElementType ET)Defined at line 208 of file llvm/lib/Analysis/DXILResource.cpp
-
StringRef getExtensionTypeDesc (StringRef Ext)Defined at line 208 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
bool handleMergeAction (const Context & Ctx)Defined at line 208 of file llvm/tools/llvm-readtapi/llvm-readtapi.cpp
-
bool isPotentialBlockingStoreInst (unsigned int Opcode, unsigned int LoadOpcode)Defined at line 208 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
error_code resolveRelocation (const Dumper::Context & Ctx, const coff_section * Section, uint64_t Offset, const coff_section *& ResolvedSection, uint64_t & ResolvedAddress)Defined at line 208 of file llvm/tools/llvm-readobj/Win64EHDumper.cpp
-
void copyMetadataForAtomic (Instruction & Dest, const Instruction & Source)Copy metadata that's safe to preserve when widening atomics.
Defined at line 208 of file llvm/lib/CodeGen/AtomicExpandPass.cpp
-
bool isREX (struct InternalInstruction * insn, uint8_t prefix)Defined at line 209 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
bool isShortenableAtTheBeginning (Instruction * I)Returns true if the beginning of this instruction can be safely shortened
in length.
Defined at line 209 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
template <class T, class Iterator>Iterator toHexStr (T X, Iterator It, size_t Len)Fills exactly Len bytes of buffer with hexadecimal characters
representing value 'X'
Defined at line 209 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
bool tryFoldConstants (uint64_t Const1, ArrayRef Ops, uint64_t & Loc, DIExpressionCursor & Cursor, SmallVectorImpl<uint64_t> & WorkingOps){DW_OP_constu, Const1, DW_OP_constu, Const2, DW_OP_[plus,
minus, mul, div, shl, shr] -> {DW_OP_constu, Const1 [+, -, *, /,
<
<
, >>]
Const2}
Defined at line 209 of file llvm/lib/IR/DIExpressionOptimizer.cpp
-
void crossImportIntoModule (Module & TheModule, const ModuleSummaryIndex & Index, int & ModuleMap, const FunctionImporter::ImportMapTy & ImportList, bool ClearDSOLocalOnDeclarations)Defined at line 209 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
int merge_main (int argc, const char *[] argv)Defined at line 209 of file llvm/tools/llvm-cgdata/llvm-cgdata.cpp
-
bool ContainsProtectableArray (Type * Ty, Module * M, unsigned int SSPBufferSize, bool & IsLarge, bool Strong, bool InStruct)Parameters
IsLarge [out] is set to true if a protectable array is found and it is "large" ( >= ssp-buffer-size). In the case of a structure with multiple arrays, this gets set if any of them is large.Defined at line 209 of file llvm/lib/CodeGen/StackProtector.cpp
-
void handleFieldList (ArrayRef Content, SmallVectorImpl<TiReference> & Refs)Defined at line 209 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
optional getMaskedTypeForICmpPair (Value *& A, Value *& B, Value *& C, Value *& D, Value *& E, Value * LHS, Value * RHS, ICmpInst::Predicate & PredL, ICmpInst::Predicate & PredR)Handle (icmp(A
&
B) ==/!= C)
&
/| (icmp(A
&
D) ==/!= E).
Return the pattern classes (from MaskedICmpType) for the left hand side and
the right hand side as a pair.
LHS and RHS are the left hand side and the right hand side ICmps and PredL
and PredR are their predicates, respectively.
Defined at line 209 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
void printInt (raw_ostream & OS, int Val)Defined at line 210 of file llvm/utils/TableGen/RegisterInfoEmitter.cpp
-
bool isTagType (basic_string_view S)Defined at line 210 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
SmallVector getOperands (ArrayRef Values, unsigned int OperandIndex)Defined at line 210 of file llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
-
bool shouldSkipLocalInAnotherModule (const GlobalValueSummary * RefSummary, size_t NumDefs, StringRef ImporterModule)Defined at line 210 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
bool iterativelySinkInstructions (Function & F, DominatorTree & DT, LoopInfo & LI, AAResults & AA)Defined at line 210 of file llvm/lib/Transforms/Scalar/Sink.cpp
-
Constant * rebuildConstant (LLVMContext & Ctx, Type * SclTy, const APInt & Bits, unsigned int NumSclBits)Split raw bits into a constant vector of elements of a specific bit width.
NOTE: We don't always bother converting to scalars if the vector length is 1.
Defined at line 210 of file llvm/lib/Target/X86/X86FixupVectorConstants.cpp
-
bool canHoistOrSinkWithNoAliasCheck (const MemoryLocation & MemLoc, VPBasicBlock * FirstBB, VPBasicBlock * LastBB, optional SinkInfo)Check if a memory operation doesn't alias with memory operations in blocks
between
and
using scoped noalias metadata. If
is std::nullopt, only recipes that may write to memory are
checked (for load hoisting). Otherwise recipes that both read and write
memory are checked, and SCEV is used to prove no-alias between the group
leader and other replicate recipes (for store sinking).
Defined at line 210 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
template <class T>void printLE (raw_ostream & Out, T Val)Defined at line 211 of file llvm/lib/Object/ArchiveWriter.cpp
-
StringRef extractSegmentName (const char * SegName)Extracts a segment name from a string which is possibly non-null-terminated.
Defined at line 211 of file llvm/lib/ObjCopy/MachO/MachOObject.cpp
-
StringRef getFunctionName (const DISubprogram * SP)Defined at line 211 of file llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
-
unsigned int getRelaxedOpcodeBranch (unsigned int Opcode, bool Is16BitMode)Defined at line 211 of file llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
-
bool setArgsNoUndef (Function & F)Defined at line 211 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
bool canWidenLoad (LoadInst * Load, const TargetTransformInfo & TTI)Defined at line 211 of file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
-
bool hasDuplicateClausesInDirectives (ArrayRef Directives)Check for duplicate clauses in lists. Clauses cannot appear twice in the
three allowed list. Also, since required implies allowed, clauses cannot
appear in both the allowedClauses and requiredClauses lists.
Defined at line 211 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
Error validateOutOfProcess (StringRef LLVMCasBinary, StringRef RootPath, bool CheckHash)Defined at line 211 of file llvm/lib/CAS/UnifiedOnDiskCache.cpp
-
InstructionCost ComputeSpeculationCost (const Instruction * I, const TargetTransformInfo & TTI)Defined at line 211 of file llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
-
basic_string computePowerDataLayout (const Triple & T, StringRef ABIName)Defined at line 211 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
unique_ptr LogError (const char * Str)LogError* - These are little helper functions for error handling.
Defined at line 212 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
unsigned int getFrameIndexOperandNum (MachineInstr & MI)Defined at line 212 of file llvm/lib/CodeGen/RegisterScavenging.cpp
-
void viewRegionInfo (RegionInfo * RI, bool ShortNames)Defined at line 212 of file llvm/lib/Analysis/RegionPrinter.cpp
-
void BM_Mustache_HugeArrayIteration (benchmark::State & state)Tests the performance of the loop logic when iterating over a huge number of
items.
Defined at line 212 of file llvm/benchmarks/Mustache.cpp
-
optional GetOptionalAbsDifference (const MCAssembler & Assembler, const MCSymbol * LHS, const MCSymbol * RHS)Defined at line 212 of file llvm/lib/MC/MCWin64EH.cpp
-
bool isDeInterleaveMask (ArrayRef Mask, unsigned int & Factor, unsigned int & Index, unsigned int MaxFactor, unsigned int NumLoadElements)Check if the mask is a DE-interleave mask for an interleaved load.
E.g. DE-interleave masks (Factor = 2) could be:
<
0, 2, 4, 6> (mask of index 0 to extract even elements)
<
1, 3, 5, 7> (mask of index 1 to extract odd elements)
Defined at line 212 of file llvm/lib/CodeGen/InterleavedAccessPass.cpp
-
ParseRet tryParseLinearWithCompileTimeStep (StringRef & ParseString, VFParamKind & PKind, int & StepOrPos)The function looks for the following strings at the beginning of
the input string `ParseString`:
["l" | "R" | "U" | "L"] {"n"}
<number
>
On success, it removes the parsed parameter from `ParseString`,
sets `PKind` to the correspondent enum value, sets `LinearStep` to
<number
>, and return success. On a syntax error, it return a
parsing error. If nothing is parsed, it returns std::nullopt.
Defined at line 212 of file llvm/lib/IR/VFABIDemangler.cpp
-
bool matchAndOrChain (Value * V, MaskOps & MOps)This is a recursive helper for foldAnyOrAllBitsSet() that walks through a
chain of 'and' or 'or' instructions looking for shift ops of a common source
value. Examples:
or (or (or X, (X >> 3)), (X >> 5)), (X >> 8)
returns { X, 0x129 }
and (and (X >> 1), 1), (X >> 4)
returns { X, 0x12 }
Defined at line 212 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
int llvm_objcopy_main (int argc, char ** , const llvm::ToolContext & )Defined at line 212 of file llvm/tools/llvm-objcopy/llvm-objcopy.cpp
-
llvm_orc_registerVTuneImpl (const char * ArgData, size_t ArgSize)Defined at line 200 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.cpp
-
llvm_orc_unregisterVTuneImpl (const char * ArgData, size_t ArgSize)Defined at line 208 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.cpp
-
bool DoLowering (Function & F, GCStrategy & S)Lower barriers out of existence (if the associated GCStrategy hasn't
already done so...), and insert initializing stores to roots as a defensive
measure. Given we're going to report all roots live at all safepoints, we
need to be able to ensure each root has been initialized by the point the
first safepoint is reached. This really should have been done by the
frontend, but the old API made this non-obvious, so we do a potentially
redundant store just in case.
Defined at line 204 of file llvm/lib/CodeGen/GCRootLowering.cpp
-
LLVMErrorTypeId LLVMGetErrorTypeId (LLVMErrorRef Err)Returns the type id for the given error instance, which must be a failure
value (i.e. non-null).
Defined at line 186 of file llvm/lib/Support/Error.cpp
-
void LLVMConsumeError (LLVMErrorRef Err)Dispose of the given error without handling it. This operation consumes the
error, and the given LLVMErrorRef value is not usable once this call returns.
Note: This method *only* needs to be called if the error is not being passed
to some other consuming operation, e.g. LLVMGetErrorMessage.
Defined at line 190 of file llvm/lib/Support/Error.cpp
-
void dumpDebugPubSections (llvm::DWARFContext & DCtx, llvm::DWARFYAML::Data & Y)Defined at line 202 of file llvm/tools/obj2yaml/dwarf2yaml.cpp
-
void UpdateSSA (DominatorTree & DT, CallBrInst * CBR, CallInst * Intrinsic, SSAUpdater & SSAUpdate)Defined at line 185 of file llvm/lib/CodeGen/CallBrPrepare.cpp
-
void LLVMCantFail (LLVMErrorRef Err)Report a fatal error if Err is a failure value.
This function can be used to wrap calls to fallible functions ONLY when it is
known that the Error will always be a success value.
Defined at line 194 of file llvm/lib/Support/Error.cpp
-
bool isIdenticalOp (const MachineOperand & MO1, const MachineOperand & MO2)Returns true if two machine operands are identical and they are not
physical registers.
Defined at line 201 of file llvm/lib/Target/X86/X86OptimizeLEAs.cpp
-
char * LLVMGetErrorMessage (LLVMErrorRef Err)Returns the given string's error message. This operation consumes the error,
and the given LLVMErrorRef value is not usable once this call returns.
The caller is responsible for disposing of the string by calling
LLVMDisposeErrorMessage.
Defined at line 198 of file llvm/lib/Support/Error.cpp
-
void LLVMDisposeErrorMessage (char * ErrMsg)Dispose of the given error message.
Defined at line 206 of file llvm/lib/Support/Error.cpp
-
LLVMErrorTypeId LLVMGetStringErrorTypeId ()Returns the type id for llvm StringError.
Defined at line 208 of file llvm/lib/Support/Error.cpp
-
LLVMErrorRef LLVMCreateStringError (const char * ErrMsg)Create a StringError.
Defined at line 212 of file llvm/lib/Support/Error.cpp
-
size_t LLVMDisasmInstruction (LLVMDisasmContextRef DC, uint8_t * Bytes, uint64_t BytesSize, uint64_t PC, char * OutString, size_t OutStringSize)Disassemble a single instruction using the disassembler context specified in
the parameter DC. The bytes of the instruction are specified in the
parameter Bytes, and contains at least BytesSize number of bytes. The
instruction is at the address specified by the PC parameter. If a valid
instruction can be disassembled, its string is returned indirectly in
OutString whose size is specified in the parameter OutStringSize. This
function returns the number of bytes in the instruction or zero if there was
no valid instruction.
Defined at line 194 of file llvm/lib/MC/MCDisassembler/Disassembler.cpp
-
const char * lto_get_version ()Returns a printable string.
Defined at line 188 of file llvm/tools/lto/lto.cpp
-
const char * lto_get_error_message ()Returns the last error string or NULL if last operation was successful.
Defined at line 192 of file llvm/tools/lto/lto.cpp
-
lto_bool_t lto_module_is_object_file (const char * path)Checks if a file is a loadable object file.
Defined at line 196 of file llvm/tools/lto/lto.cpp
-
lto_bool_t lto_module_is_object_file_for_target (const char * path, const char * target_triple_prefix)Checks if a file is a loadable object compiled for requested target.
Defined at line 200 of file llvm/tools/lto/lto.cpp
-
void LLVMDisposePassBuilderOptions (LLVMPassBuilderOptionsRef Options)Dispose of a heap-allocated PassBuilderOptions instance
Defined at line 189 of file llvm/lib/Passes/PassBuilderBindings.cpp
-
lto_bool_t lto_module_has_objc_category (const void * mem, size_t length)Return true if
contains a bitcode file with ObjC code (category
or class) in it.
Defined at line 209 of file llvm/tools/lto/lto.cpp
-
void LLVMTargetMachineOptionsSetCodeModel (LLVMTargetMachineOptionsRef Options, CodeModel)Defined at line 194 of file llvm/lib/Target/TargetMachineC.cpp
-
LLVMTargetMachineRef LLVMCreateTargetMachineWithOptions (LLVMTargetRef T, const char * Triple, LLVMTargetMachineOptionsRef Options)Create a new llvm::TargetMachine.
Parameters
T the target to create a machine for.Triple a triple describing the target machine.Options additional configuration (see LLVMCreateTargetMachineOptions()).Defined at line 200 of file llvm/lib/Target/TargetMachineC.cpp
-
void LLVMDisposeSectionIterator (LLVMSectionIteratorRef SI)Defined at line 208 of file llvm/lib/Object/Object.cpp
-
LLVMTargetMachineRef LLVMCreateTargetMachine (LLVMTargetRef T, const char * Triple, const char * CPU, const char * Features, Level, Reloc, CodeModel)Creates a new llvm::TargetMachine. See llvm::Target::createTargetMachine
Defined at line 211 of file llvm/lib/Target/TargetMachineC.cpp
-
void printDarwinSectionSizes (MachOObjectFile * MachO)Print the size of each Mach-O segment and section in
This is when used when
is darwin and produces the same
output as darwin's size(1) -m output.
Defined at line 212 of file llvm/tools/llvm-size/llvm-size.cpp
-
Loop * separateNestedLoop (Loop * L, BasicBlock * Preheader, DominatorTree * DT, LoopInfo * LI, ScalarEvolution * SE, bool PreserveLCSSA, AssumptionCache * AC, MemorySSAUpdater * MSSAU)If this loop has multiple backedges, try to pull one of them out into
a nested loop.
This is important for code that looks like
this:
Loop:
...
br cond, Loop, Next
...
br cond2, Loop, Out
To identify this common case, we look at the PHI nodes in the header of the
loop. PHI nodes with unchanging values on one backedge correspond to values
that change in the "outer" loop, but not in the "inner" loop.
If we are able to separate out a loop, return the new outer loop that was
created.
Defined at line 212 of file llvm/lib/Transforms/Utils/LoopSimplify.cpp
-
bool isDwoSection (const MCSection & Sec)Defined at line 213 of file llvm/lib/MC/WinCOFFObjectWriter.cpp
-
bool isREX2 (struct InternalInstruction * insn, uint8_t prefix)Defined at line 213 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
bool compareDiceTableEntries (const DiceTableEntry & i, const DiceTableEntry & j)This is used to search for a data in code table entry for the PC being
disassembled. The j parameter has the PC in j.first. A single data in code
table entry can cover many bytes for each of its Kind's. So if the offset,
aka the i.first value, of the data in code table entry plus its Length
covers the PC being searched for this will return true. If not it will
return false.
Defined at line 213 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isSimilarDispOp (const MachineOperand & MO1, const MachineOperand & MO2)Returns true if two address displacement operands are of the same
type and use the same symbol/index/address regardless of the offset.
Defined at line 213 of file llvm/lib/Target/X86/X86OptimizeLEAs.cpp
-
StringRef getUnwindRegisterName (uint8_t Reg)Returns the name of a referenced register.
Defined at line 213 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
OMPScheduleType getOpenMPOrderingScheduleType (OMPScheduleType BaseScheduleType, bool HasOrderedClause)Adds ordering modifier flags to schedule type.
Defined at line 213 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
void HandleUnsupportedAnnotationKinds (GlobalVariable & GVar, AnnotationKind Kind)Defined at line 213 of file llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
-
Error runSplitModuleByCategory (unique_ptr M)Defined at line 213 of file llvm/tools/llvm-split/llvm-split.cpp
-
void EvaluateOps (unsigned short Elt, unsigned short[] Vals, unsigned int & NumVals)Defined at line 213 of file llvm/utils/PerfectShuffle/PerfectShuffle.cpp
-
void findBestInsertionSet (DominatorTree & DT, BlockFrequencyInfo & BFI, BasicBlock * Entry, SetVector<BasicBlock *> & BBs)Given
as input, find another set of BBs which collectively
dominates
and have the minimal sum of frequencies. Return the BB
set found in
Defined at line 213 of file llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
-
bool evaluatePtrAddRecAtMaxBTCWillNotWrap (const SCEVAddRecExpr * AR, const SCEV * MaxBTC, const SCEV * EltSize, ScalarEvolution & SE, const DataLayout & DL, DominatorTree * DT, AssumptionCache * AC, std::optional<ScalarEvolution::LoopGuards> & LoopGuards)Return true, if evaluating
at
cannot wrap, because
at
is guaranteed inbounds of the accessed object.
Defined at line 213 of file llvm/lib/Analysis/LoopAccessAnalysis.cpp
-
basic_string formatFunctionOptions (FunctionOptions Options)Defined at line 214 of file llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
-
void replaceFallthroughCoroEnd (AnyCoroEndInst * End, const coro::Shape & Shape, Value * FramePtr, bool InRamp, CallGraph * CG)Replace a non-unwind call to llvm.coro.end.
Defined at line 214 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
void LLVMDisposeExecutionEngine (LLVMExecutionEngineRef EE)Defined at line 215 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
bool isLEA (unsigned int Opcode)Defined at line 215 of file llvm/lib/Target/X86/X86FixupLEAs.cpp
-
bool isUnconditionalBranch (Instruction * Term)Defined at line 215 of file llvm/lib/Transforms/Scalar/ADCE.cpp
-
uint64_t getAggregateNumElements (Type * T)Defined at line 215 of file llvm/lib/FuzzMutate/Operations.cpp
-
bool mayBeInCycle (const CycleInfo * CI, const Instruction * I, bool HeaderOnly, int ** CPtr)Defined at line 215 of file llvm/lib/Transforms/IPO/AttributorAttributes.cpp
-
std::optional<TypeSize> getPointerSize (const Value * V, const DataLayout & DL, const TargetLibraryInfo & TLI, const Function * F)Defined at line 215 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
void printRestOfMemberHeader (raw_ostream & Out, const sys::TimePoint<std::chrono::seconds> & ModTime, unsigned int UID, unsigned int GID, unsigned int Perms, uint64_t Size)Defined at line 215 of file llvm/lib/Object/ArchiveWriter.cpp
-
Error OpenMarker (PerfState & State)Defined at line 215 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
void parseOptions (const opt::InputArgList & Args)Defined at line 215 of file llvm/tools/llvm-readobj/llvm-readobj.cpp
-
bool isNotInCycle (const Instruction * I, const DominatorTree * DT, const LoopInfo * LI)Defined at line 216 of file llvm/lib/Analysis/BasicAliasAnalysis.cpp
-
llvm_orc_test_registerVTuneImpl (const char * ArgData, size_t ArgSize)Defined at line 216 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.cpp
-
MachineBasicBlock * findCorrespondingPred (const MachineInstr * MI, MachineOperand * U)Defined at line 216 of file llvm/lib/CodeGen/MachineSSAUpdater.cpp
-
void findAndAddDiff (const std::vector<InterfaceFileRef> & CollectedIRefVec, const std::vector<InterfaceFileRef> & LookupIRefVec, DiffOutput & Result, InterfaceInputOrder Order)Defined at line 216 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
bool canProveExitOnFirstIteration (Loop * L, DominatorTree & DT, LoopInfo & LI)Try to prove that one of conditions that dominates the latch must exit on 1st
iteration.
Defined at line 216 of file llvm/lib/Transforms/Scalar/LoopDeletion.cpp
-
unique_ptr LogErrorP (const char * Str)Defined at line 217 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
void initializeMachineUniformityAnalysisPassPassOnce (PassRegistry & Registry)Defined at line 217 of file llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
-
basic_string GetPatFromTreePatternNode (const TreePatternNode & N)Defined at line 217 of file llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
-
StackTrieNode * findOrCreateStackNode (StackTrieNode * Parent, int32_t FuncId, uint32_t TId, DenseMap<uint32_t, SmallVector<StackTrieNode *, 4>> & StackRootsByThreadId, DenseMap<unsigned int, StackTrieNode *> & StacksByStackId, unsigned int * id_counter, std::forward_list<StackTrieNode> & NodeStore)Given a function being invoked in a thread with id TId, finds and returns the
StackTrie representing the function call stack. If no node exists, creates
the node. Assigns unique IDs to stacks newly encountered among all threads
and keeps sibling links up to when creating new nodes.
Defined at line 217 of file llvm/tools/llvm-xray/xray-converter.cpp
-
bool eliminateCondBranches_v3 (Function & F, DominatorTree & DT)Eliminate branches with constant conditionals. This is the third
version, which uses PatternMatch.h.
Defined at line 217 of file llvm/examples/IRTransforms/SimplifyCFG.cpp
-
MDNode * createMIBNode (LLVMContext & Ctx, ArrayRef MIBCallStack, AllocationType AllocType, ArrayRef ContextSizeInfo, const uint64_t MaxColdSize, bool BuiltFromExistingMetadata, uint64_t & TotalBytes, uint64_t & ColdBytes)Defined at line 217 of file llvm/lib/Analysis/MemoryProfileInfo.cpp
-
void parseInlineInfo (GsymCreator & Gsym, OutputAggregator & Out, CUInfo & CUI, DWARFDie Die, uint32_t Depth, FunctionInfo & FI, InlineInfo & Parent, const AddressRanges & AllParentRanges, bool & WarnIfEmpty)Defined at line 217 of file llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
-
void dumpDebugInfo (llvm::DWARFContext & DCtx, llvm::DWARFYAML::Data & Y)Defined at line 217 of file llvm/tools/obj2yaml/dwarf2yaml.cpp
-
void LLVMMoveToNextSection (LLVMSectionIteratorRef SI)Defined at line 218 of file llvm/lib/Object/Object.cpp
-
MachineOperand * getSalvageOpsForCopy (const MachineRegisterInfo & MRI, MachineInstr & Copy)Defined at line 218 of file llvm/lib/CodeGen/CodeGenCommonISel.cpp
-
uint64_t XXH3_avalanche (uint64_t hash)Defined at line 218 of file llvm/lib/Support/xxhash.cpp
-
std::optional<AllocFnsTy> getAllocationData (const Value * V, AllocType AllocTy, const TargetLibraryInfo * TLI)Defined at line 218 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
void combineWeights (WeightList & Weights)Defined at line 218 of file llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
-
StringRef getExtensionType (StringRef Ext)Defined at line 218 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
unsigned int hashCallInst (CallInst * CI)Defined at line 218 of file llvm/lib/Transforms/Scalar/EarlyCSE.cpp
-
Expected getNextLoadCommandInfo (const MachOObjectFile & Obj, uint32_t LoadCommandIndex, const MachOObjectFile::LoadCommandInfo & L)Defined at line 218 of file llvm/lib/Object/MachOObjectFile.cpp
-
Constant * getTorInit (std::vector<std::pair<Function *, int>> & TorList)getTorInit - Given a list of entries for static ctors/dtors, return them
as a constant array.
Defined at line 218 of file llvm/tools/bugpoint/ExtractFunction.cpp
-
bool tryForwardingArgumentsToReturn (Function & F, Oracle & O, std::vector<std::pair<Function *, Value *>> & FuncsToReplace)Defined at line 218 of file llvm/tools/llvm-reduce/deltas/ReduceValuesToReturn.cpp
-
bool isInPartition (const GlobalValue * GV, unsigned int I, unsigned int N)Returns whether GV should be in partition (0-based) I of N.
Defined at line 218 of file llvm/lib/Transforms/Utils/SplitModule.cpp
-
void addIntrinsicToSummary (const CallInst * CI, SetVector<GlobalValue::GUID, std::vector<GlobalValue::GUID>> & TypeTests, SetVector<FunctionSummary::VFuncId, std::vector<FunctionSummary::VFuncId>> & TypeTestAssumeVCalls, SetVector<FunctionSummary::VFuncId, std::vector<FunctionSummary::VFuncId>> & TypeCheckedLoadVCalls, SetVector<FunctionSummary::ConstVCall, std::vector<FunctionSummary::ConstVCall>> & TypeTestAssumeConstVCalls, SetVector<FunctionSummary::ConstVCall, std::vector<FunctionSummary::ConstVCall>> & TypeCheckedLoadConstVCalls, DominatorTree & DT)If this intrinsic call requires that we add information to the function
summary, do so via the non-constant reference arguments.
Defined at line 218 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
void out_of_memory_new_handler ()Causes crash on allocation failure. It is called prior to the handler set by
'install_bad_alloc_error_handler'.
Defined at line 219 of file llvm/lib/Support/ErrorHandling.cpp
-
void LLVMRunStaticConstructors (LLVMExecutionEngineRef EE)Defined at line 219 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
lto_bool_t lto_module_is_object_file_in_memory (const void * mem, size_t length)Checks if a buffer is a loadable object file.
Defined at line 219 of file llvm/tools/lto/lto.cpp
-
bool isDiagnosticEnabled (const DiagnosticInfo & DI)Defined at line 219 of file llvm/lib/IR/LLVMContext.cpp
-
void printValues (raw_ostream & O, const DIEValueList & Values, StringRef Type, unsigned int Size, unsigned int IndentCount)Defined at line 219 of file llvm/lib/CodeGen/AsmPrinter/DIE.cpp
-
std::pair<Value *, Value *> getShape (PHINode * Phi)Defined at line 219 of file llvm/lib/Target/X86/X86LowerAMXType.cpp
-
void error (Error Err)@
}
===----------------------------------------------------------------------===//
Defined at line 220 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
template <typename nlist_t>SymbolEntry constructSymbolEntry (StringRef StrTable, const nlist_t & nlist)Defined at line 220 of file llvm/lib/ObjCopy/MachO/MachOReader.cpp
-
GenericValue executeICMP_ULT (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 220 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
InsertionPoint cloneCfiPrologue (const InsertionPoint & PrologueEnd, const InsertionPoint & DstInsertPt)Copies all CFI instructions before PrologueEnd and inserts them before
DstInsertPt. Returns the iterator to the first instruction after the
inserted instructions.
Defined at line 220 of file llvm/lib/CodeGen/CFIFixup.cpp
-
bool isCustomType (basic_string_view S)Defined at line 221 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
bool areCommutative (ArrayRef Values)Defined at line 221 of file llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
-
bool isContained (DIScope * Inner, DIScope * Outer)Defined at line 221 of file llvm/lib/Transforms/Utils/DebugSSAUpdater.cpp
-
Instruction * cloneInstForMustTail (Instruction * I, ilist_iterator_w_bits Before, Value * V)Defined at line 221 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
bool canMemFoldInlineAsm (LiveInterval & LI, const MachineRegisterInfo & MRI)Defined at line 221 of file llvm/lib/CodeGen/CalcSpillWeights.cpp
-
unsigned int getSubRegIndex (const TargetRegisterClass * RC)Defined at line 221 of file llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
-
bool isProfitableToTransform (const Loop & L, const BranchInst * BI)Defined at line 221 of file llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
-
void replaceTargetsFromPHINode (BasicBlock * PHIBlock, BasicBlock * Find, BasicBlock * Replace, DenseSet<BasicBlock *> & Included)Rewrite the BranchInsts in the incoming blocks to
that are found
in
to branch to BasicBlock
if they currently branch
to the BasicBlock
This is used to fix up the incoming basic blocks
when PHINodes are included in outlined regions.
Parameters
PHIBlock - The BasicBlock containing the PHINodes that need to be checked.Find - The successor block to be replaced.Replace - The new succesor block to branch to.Included - The set of blocks about to be outlined.Defined at line 221 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
Error loadYAML (sys::fs::file_t Fd, size_t FileSize, StringRef Filename, InstrumentationMap::SledContainer & Sleds, InstrumentationMap::FunctionAddressMap & FunctionAddresses, InstrumentationMap::FunctionAddressReverseMap & FunctionIds)Defined at line 221 of file llvm/lib/XRay/InstrumentationMap.cpp
-
void updateLoopInfo (LoopInfo & LI, Cycle & C, ArrayRef GuardBlocks)Defined at line 221 of file llvm/lib/Transforms/Utils/FixIrreducible.cpp
-
Value * concatenate (IRBuilder<> & Builder, ArrayRef Fragments, const VectorSplit & VS, Twine Name)Concatenate the given fragments to a single vector value of the type
described in
Defined at line 221 of file llvm/lib/Transforms/Scalar/Scalarizer.cpp
-
uint64_t DumpDataInCode (const uint8_t * bytes, uint64_t Length, unsigned short Kind)Defined at line 221 of file llvm/tools/llvm-objdump/MachODump.cpp
-
MachineBasicBlock & splitEdge (MachineBasicBlock & MBB, MachineBasicBlock & Succ, int SuccCount, MachineInstr * Br, MachineInstr *& UncondBr, const X86InstrInfo & TII)Defined at line 221 of file llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
-
SmallString<128> getFilename (const DIScope * SP, vfs::FileSystem & VFS)Extract a filename for a DIScope.
Prefer relative paths in the coverage notes. Clang also may split
up absolute paths into a directory and filename component. When
the relative path doesn't exist, reconstruct the absolute path.
Defined at line 222 of file llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
-
void initializePartiallyInlineLibCallsLegacyPassPassOnce (PassRegistry & Registry)Defined at line 222 of file llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp
-
void LLVMMoveToContainingSection (LLVMSectionIteratorRef Sect, LLVMSymbolIteratorRef Sym)Defined at line 222 of file llvm/lib/Object/Object.cpp
-
void dumpFunctionDefinition (COFFYAML::Symbol * Sym, const object::coff_aux_function_definition * ObjFD)Defined at line 222 of file llvm/tools/obj2yaml/coff2yaml.cpp
-
void emitCaseMap (raw_ostream & O, const int & CaseMap)Defined at line 222 of file llvm/utils/TableGen/CodeEmitterGen.cpp
-
void invokeFunctionPass (const Function * F, FunctionPass * ViewerPass)Defined at line 222 of file llvm/lib/Analysis/RegionPrinter.cpp
-
Expected testMergedProgram (const BugDriver & BD, const Module & M1, const Module & M2, bool & Broken)Given two modules, link them together and run the program, checking to see
if the program matches the diff. If there is an error, return NULL. If not,
return the merged module. The Broken argument will be set to true if the
output is different. If the DeleteInputs argument is set to true then this
function deletes both input modules before it returns.
Defined at line 222 of file llvm/tools/bugpoint/Miscompilation.cpp
-
SourcePred validExtractValueIndex ()Defined at line 222 of file llvm/lib/FuzzMutate/Operations.cpp
-
bool isMinMaxReductionPhiWithUsersOutsideReductionChain (PHINode * Phi, RecurKind Kind, Loop * TheLoop, RecurrenceDescriptor & RedDes)Returns true if
is a min/max reduction matching
where
is used outside the reduction chain. This is common for loops selecting the
index of a minimum/maximum value (argmin/argmax).
Defined at line 222 of file llvm/lib/Analysis/IVDescriptors.cpp
-
Value * callBufferedPrintfStart (IRBuilder<> & Builder, ArrayRef Args, Value * Fmt, bool isConstFmtStr, SparseBitVector<8> & SpecIsCString, SmallVectorImpl<StringData> & StringContents, Value *& ArgSize)Calculates frame size required for current printf expansion and allocates
space on printf buffer. Printf frame includes following contents
[ ControlDWord , format string/Hash , Arguments (each aligned to 8 byte) ]
Defined at line 222 of file llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
-
int readPrefixes (struct InternalInstruction * insn)Consumes all of an instruction's prefix bytes, and marks the
instruction as having them. Also sets the instruction's default operand,
address, and other relevant data sizes to report operands correctly.
insn must not be empty.
Defined at line 222 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
void initializeMachineFunctionSplitterPassOnce (PassRegistry & Registry)Defined at line 223 of file llvm/lib/CodeGen/MachineFunctionSplitter.cpp
-
void initializeX86PreTileConfigPassOnce (PassRegistry & Registry)Defined at line 223 of file llvm/lib/Target/X86/X86PreTileConfig.cpp
-
unsigned int getRelaxedOpcode (const MCInst & MI, bool Is16BitMode)Defined at line 223 of file llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
-
bool setArgNoUndef (Function & F, unsigned int ArgNo)Defined at line 223 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
lto_bool_t lto_module_is_object_file_in_memory_for_target (const void * mem, size_t length, const char * target_triple_prefix)Checks if a buffer is a loadable object compiled for requested target.
Defined at line 223 of file llvm/tools/lto/lto.cpp
-
void TestFunctionInfoEncodeError (endianness ByteOrder, const FunctionInfo & FI, basic_string ExpectedErrorMsg)Defined at line 223 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
bool isPointerType (basic_string_view S)Defined at line 223 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
Error emitPubSection (raw_ostream & OS, const DWARFYAML::PubSection & Sect, bool IsLittleEndian, bool IsGNUPubSec)Defined at line 223 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
Expected generateDXContainer (StringRef Yaml, SmallVectorImpl<char> & BinaryData)Defined at line 223 of file llvm/unittests/Object/DXContainerTest.cpp
-
void replaceWithIndirectUse (const Use & U, const GlobalVariable * G, Constant * IndirectedG)Defined at line 223 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
size_t compress_parents_parallel (const uint8_t * child_chaining_values, size_t num_chaining_values, const uint32_t[8] key, uint8_t flags, uint8_t * out)Use SIMD parallelism to hash up to MAX_SIMD_DEGREE parents at the same time
on a single thread. Write out the parent chaining values and return the
number of parents hashed. (If there's an odd input chaining value left over,
return it as an additional output.) These parents are never the root and
never empty; those cases use a different codepath.
Defined at line 223 of file llvm/lib/Support/BLAKE3/blake3.c
-
basic_string formatMachineType (CPUType Cpu)Defined at line 223 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
void LLVMRunStaticDestructors (LLVMExecutionEngineRef EE)Defined at line 224 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
void debugDumpRecord (const Record & Rec)Defined at line 224 of file llvm/utils/TableGen/Common/InstructionEncoding.cpp
-
void getUnmergeResults (SmallVectorImpl<Register> & Regs, const MachineInstr & MI)Append the result registers of G_UNMERGE_VALUES
to
Defined at line 224 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
unsigned int GetVBRSize (unsigned int Val)Defined at line 224 of file llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
-
void initializePhiValuesWrapperPassPassOnce (PassRegistry & Registry)Defined at line 225 of file llvm/lib/Analysis/PhiValues.cpp
-
unique_ptr ParseNumberExpr ()numberexpr ::= number
Defined at line 225 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
StringRef checkStr (LLVMRemarkStringRef Str, unsigned int ExpectedLen)Defined at line 225 of file llvm/unittests/Remarks/BitstreamRemarksParsingTest.cpp
-
uint64_t XXH3_len_1to3_64b (const uint8_t * input, size_t len, const uint8_t * secret, uint64_t seed)Defined at line 225 of file llvm/lib/Support/xxhash.cpp
-
void stubifyImpl (int IF, Context & Ctx)Defined at line 225 of file llvm/tools/llvm-readtapi/llvm-readtapi.cpp
-
bool FindExactlyAttributes (RetainedKnowledgeMap & Map, Value * WasOn, StringRef AttrToMatch)Defined at line 225 of file llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
-
MachineOperand * getSalvageOpsForTrunc (const MachineRegisterInfo & MRI, MachineInstr & Trunc, SmallVectorImpl<uint64_t> & Ops)Defined at line 225 of file llvm/lib/CodeGen/CodeGenCommonISel.cpp
-
void appendFile (int & Members, COFF::MachineTypes & LibMachine, std::string & LibMachineSource, MemoryBufferRef MB)Defined at line 225 of file llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
-
MVT scaleVectorType (MVT VT)Changing the scale of the vector type by reducing the number of elements and
doubling the scalar size.
Defined at line 226 of file llvm/lib/Target/X86/X86InterleavedAccess.cpp
-
std::optional<AllocFnsTy> getAllocationData (const Value * V, AllocType AllocTy, function_ref<const TargetLibraryInfo &(Function &)> GetTLI)Defined at line 226 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
Expected getIntValFromKey (const remarks::Remark & Remark, unsigned int ArgIdx, StringRef ExpectedKeyName)Collects an expected integer value from a given argument index in a remark.
- The remark.
- The index where the integer value should be found.
- The expected key name for the index
(e.g. "InstructionCount")
Defined at line 226 of file llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
-
SmallVector getOperands (ArrayRef Values)Defined at line 226 of file llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
-
vector predictValueUseListOrder (const Value * V, unsigned int ID, const OrderMap & OM)Defined at line 226 of file llvm/lib/IR/AsmWriter.cpp
-
void error (StringRef Prefix, Error Err)Defined at line 227 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
bool dontUseFastISelFor (const Function & Fn)Defined at line 227 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
void emitRISCVExtensionBitmask (const RecordKeeper & RK, raw_ostream & OS)Defined at line 227 of file llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
-
uint64_t shiftRightAndRound (uint64_t N, int Shift)Defined at line 228 of file llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
-
bool CC_X86_AnyReg_Error (unsigned int & , MVT & , MVT & , CCValAssign::LocInfo & , ISD::ArgFlagsTy & , CCState & )Defined at line 228 of file llvm/lib/Target/X86/X86CallingConv.cpp
-
optional isExperimentalExtension (StringRef Ext)Defined at line 228 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
void BM_Mustache_ComplexTemplateParsing (benchmark::State & state)Tests the performance of the parser on a large, "wide" template.
Defined at line 228 of file llvm/benchmarks/Mustache.cpp
-
Expected<DsymutilDWARFLinkerType> getDWARFLinkerType (opt::InputArgList & Args)Defined at line 228 of file llvm/tools/dsymutil/dsymutil.cpp
-
void EmitUnwindInfo (MCStreamer & streamer, WinEH::FrameInfo * info)Defined at line 228 of file llvm/lib/MC/MCWin64EH.cpp
-
bool reportInvalidCandidate (const Instruction & I, llvm::Statistic & Stat)Defined at line 229 of file llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
-
int LLVMRunFunctionAsMain (LLVMExecutionEngineRef EE, LLVMValueRef F, unsigned int ArgC, const char *const * ArgV, const char *const * EnvP)Defined at line 229 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
CondCode getCondFromBranch (const MCInst & MI, const MCInstrInfo & MCII)Defined at line 229 of file llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
-
unsigned int getSelectFoldableOperands (BinaryOperator * I)We want to turn code that looks like this:
%C = or %A, %B
%D = select %cond, %C, %A
into:
%C = select %cond, %B, 0
%D = or %A, %C
Assuming that the specified instruction is an operand to the select, return
a bitmask indicating which operands of this instruction are foldable if they
equal the other incoming value of the select.
Defined at line 229 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
Expected readIdentificationCode (BitstreamCursor & Stream)Defined at line 229 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
bool isDenselyPacked (Type * Ty, const DataLayout & DL)Checks if a type could have padding bytes.
Defined at line 229 of file llvm/lib/Transforms/IPO/AttributorAttributes.cpp
-
bool iterativelySimplifyCFG (Function & F, const TargetTransformInfo & TTI, DomTreeUpdater * DTU, const SimplifyCFGOptions & Options)Call SimplifyCFG on all the blocks in the function,
iterating until no more changes are made.
Defined at line 229 of file llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
-
bool RunTermFold (Loop * L, ScalarEvolution & SE, DominatorTree & DT, LoopInfo & LI, const TargetTransformInfo & TTI, TargetLibraryInfo & TLI, MemorySSA * MSSA)Defined at line 229 of file llvm/lib/Transforms/Scalar/LoopTermFold.cpp
-
unsigned int getHashValueImpl (SimpleValue Val)Defined at line 229 of file llvm/lib/Transforms/Scalar/EarlyCSE.cpp
-
void ProfileRecordRecTy (FoldingSetNodeID & ID, ArrayRef Classes)Defined at line 230 of file llvm/lib/TableGen/Record.cpp
-
void printGNUSmallMemberHeader (raw_ostream & Out, StringRef Name, const sys::TimePoint<std::chrono::seconds> & ModTime, unsigned int UID, unsigned int GID, unsigned int Perms, uint64_t Size)Defined at line 230 of file llvm/lib/Object/ArchiveWriter.cpp
-
const object::coff_section * getSectionContaining (const COFFObjectFile & COFF, uint64_t VA)Defined at line 230 of file llvm/tools/llvm-readobj/Win64EHDumper.cpp
-
ArrayRef GetDeoptBundleOperands (const CallBase * Call)Defined at line 230 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
iterator_range qualifyCalleeCandidates (const ModuleSummaryIndex & Index, ArrayRef CalleeSummaryList, StringRef CallerModulePath)Given a list of possible callee implementation for a call site, qualify the
legality of importing each. The return is a range of pairs. Each pair
corresponds to a candidate. The first value is the ImportFailureReason for
that candidate, the second is the candidate.
Defined at line 230 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
bool isLEA (const MachineInstr & MI)Returns true if the instruction is LEA.
Defined at line 231 of file llvm/lib/Target/X86/X86OptimizeLEAs.cpp
-
bool setRetAndArgsNoUndef (Function & F)Defined at line 231 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void simplifyPass (MutableArrayRef Worklist, const DataLayout & DL)Perform a single pass of simplification over the worklist of PHIs.
This should be called after RewriteAllUses() because simplifying PHIs
immediately after creation would require updating all references to those
PHIs in the BBValueInfo structures, which would necessitate additional
reference tracking overhead.
Defined at line 231 of file llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp
-
template <typename TypeT>const TargetRegisterClass * getCommonMinimalPhysRegClass (const TargetRegisterInfo * TRI, MCRegister Reg1, MCRegister Reg2, TypeT Ty)Defined at line 231 of file llvm/lib/CodeGen/TargetRegisterInfo.cpp
-
basic_string getOverloadMaskString (ArrayRef<const Record *> Recs)Return a string representation of valid overload information denoted
by input records
Parameters
Recs A vector of records of TableGen Overload recordsReturns
std::string string representation of overload mask string
predicated by DXIL Version. E.g.,
{{{1, 0}, Mask1}, {{1, 2}, Mask2}, ...}
Defined at line 231 of file llvm/utils/TableGen/DXILEmitter.cpp
-
bool isIdentifierChar (char C, bool AllowAt, bool AllowHash)LexIdentifier: [a-zA-Z_$.
@
?][a-zA-Z0-9_$.
#
?]*
Defined at line 232 of file llvm/lib/MC/MCParser/AsmLexer.cpp
-
void printHeader (LinePrinter & P, const Twine & S)Defined at line 232 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
unique_ptr ParseParenExpr ()parenexpr ::= '(' expression ')'
Defined at line 232 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
template <typename T>void parseHeader (const MachOObjectFile & Obj, T & Header, Error & Err)Defined at line 232 of file llvm/lib/Object/MachOObjectFile.cpp
-
Value * expandCommutativeBinOp (BinaryOps Opcode, Value * L, Value * R, BinaryOps OpcodeToExpand, const SimplifyQuery & Q, unsigned int MaxRecurse)Try to simplify binops of form "A op (B op' C)" or the commuted variant by
distributing op over op'.
Defined at line 232 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Expected<std::pair<StringRef, uint64_t>> parseSetSectionAttribute (StringRef Option, StringRef FlagValue)Defined at line 232 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
unsigned int getYMMtoXMMLoadOpcode (unsigned int LoadOpcode)Defined at line 232 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
void initializeBasicBlockPathCloningPassOnce (PassRegistry & Registry)Defined at line 233 of file llvm/lib/CodeGen/BasicBlockPathCloning.cpp
-
uint32_t getOffsetInStream (ArrayRef StreamBlocks, uint64_t FileOffset, uint32_t BlockSize)Defined at line 233 of file llvm/tools/llvm-pdbutil/ExplainOutputStyle.cpp
-
void findAndAddDiff (const std::vector<std::pair<Target, std::string>> & CollectedPairs, const std::vector<std::pair<Target, std::string>> & LookupPairs, DiffOutput & Result, InterfaceInputOrder Order)Defined at line 233 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
bool shouldIgnorePass (StringRef PassID)Defined at line 234 of file llvm/lib/IR/PassTimingInfo.cpp
-
void dumpbfAndEfLineInfo (COFFYAML::Symbol * Sym, const object::coff_aux_bf_and_ef_symbol * ObjBES)Defined at line 234 of file llvm/tools/obj2yaml/coff2yaml.cpp
-
template <typename StructType>const char * readString (MachOYAML::LoadCommand & LC, const llvm::object::MachOObjectFile::LoadCommandInfo & LoadCmd)Defined at line 234 of file llvm/tools/obj2yaml/macho2yaml.cpp
-
GenericValue executeICMP_SLT (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 234 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
const TargetRegisterClass * getRegClassFromGRPhysReg (Register Reg)Defined at line 234 of file llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
-
SDValue emitRepmovs (const X86Subtarget & Subtarget, SelectionDAG & DAG, const SDLoc & dl, SDValue Chain, SDValue Dst, SDValue Src, SDValue Size, MVT AVT)Emit a single REP MOVS{B,W,D,Q} instruction.
Defined at line 234 of file llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
-
bool tryFoldCommutativeMath (uint64_t Const1, ArrayRef Ops, uint64_t & Loc, DIExpressionCursor & Cursor, SmallVectorImpl<uint64_t> & WorkingOps){DW_OP_constu, Const1, DW_OP_[plus, mul], DW_OP_constu, Const2,
DW_OP_[plus, mul]} -> {DW_OP_constu, Const1 [+, *] Const2, DW_OP_[plus,
mul]}
Defined at line 234 of file llvm/lib/IR/DIExpressionOptimizer.cpp
-
void optimizeModule (Module & TheModule, TargetMachine & TM, unsigned int OptLevel, bool Freestanding, bool DebugPassManager, ModuleSummaryIndex * Index)Defined at line 234 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
int & getRunPassNames ()Defined at line 235 of file llvm/tools/llc/llc.cpp
-
const LiveRange * getLiveRange (const LiveIntervals & LIS, VirtRegOrUnit VRegOrUnit)Defined at line 235 of file llvm/lib/CodeGen/RegisterPressure.cpp
-
void error (StringRef Prefix, error_code EC)Defined at line 235 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
void initializeMachinePipelinerPassOnce (PassRegistry & Registry)Defined at line 235 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
void CloseMarker (PerfState & State)Defined at line 235 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
void reportGISelDiagnostic (DiagnosticSeverity Severity, MachineFunction & MF, MachineOptimizationRemarkEmitter & MORE, MachineOptimizationRemarkMissed & R)Defined at line 235 of file llvm/lib/CodeGen/GlobalISel/Utils.cpp
-
void RemoveFunctionReferences (Module * M, const char * Name)Defined at line 235 of file llvm/tools/bugpoint/CrashDebugger.cpp
-
Predicate getIntegerPredicate (Predicate FPPred)Defined at line 235 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
basic_string constructDieID (DWARFDie Die, StringRef Prefix)Construct an identifier for a given DIE from its Prefix, Name, DeclFileName
and DeclLine. The identifier aims to be unique for any unique entities,
but keeping the same among different instances of the same entity.
Defined at line 235 of file llvm/tools/llvm-dwarfdump/Statistics.cpp
-
std::optional<AllocFnsTy> getAllocationSize (const CallBase * CB, const TargetLibraryInfo * TLI)Defined at line 235 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
void predictValueUseListOrder (const Value * V, const Function * F, OrderMap & OM, UseListOrderStack & Stack)Defined at line 235 of file llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
-
void addOneOperandFields (const Record * EncodingDef, const BitsInit & InstBits, int & TiedNames, const Record * OpRec, StringRef OpName, OperandInfo & OpInfo)For an operand field named OpName: populate OpInfo.InitValue with the
constant-valued bit values, and OpInfo.Fields with the ranges of bits to
insert from the decoded instruction.
Defined at line 235 of file llvm/utils/TableGen/Common/InstructionEncoding.cpp
-
LLVMBool LLVMLoadLibraryPermanently (const char * Filename)This function permanently loads the dynamic library at the given path.
It is safe to call this function multiple times for the same library.
Defined at line 243 of file llvm/lib/Support/DynamicLibrary.cpp
-
void LLVMInstallFatalErrorHandler (LLVMFatalErrorHandler Handler)Install a fatal error handler. By default, if LLVM detects a fatal error, it
will call exit(1). This may not be appropriate in many contexts. For example,
doing exit(1) will bypass many crash reporting/tracing system tools. This
function allows you to install a callback that will be invoked prior to the
call to exit(1).
Defined at line 259 of file llvm/lib/Support/ErrorHandling.cpp
-
void LLVMResetFatalErrorHandler ()Reset the fatal error handler. This resets LLVM's fatal error handling
behavior to the default.
Defined at line 264 of file llvm/lib/Support/ErrorHandling.cpp
-
void * LLVMSearchForAddressOfSymbol (const char * symbolName)This function will search through all previously loaded dynamic
libraries for the symbol
If it is found, the address of
that symbol is returned. If not, null is returned.
Defined at line 247 of file llvm/lib/Support/DynamicLibrary.cpp
-
void LLVMAddSymbol (const char * symbolName, void * symbolValue)This functions permanently adds the symbol
with the
value
These symbols are searched before any
libraries.
Defined at line 251 of file llvm/lib/Support/DynamicLibrary.cpp
-
int LLVMSetDisasmOptions (LLVMDisasmContextRef DC, uint64_t Options)LLVMSetDisasmOptions() sets the disassembler's options. It returns 1 if it
can set all the Options and 0 otherwise.
Defined at line 250 of file llvm/lib/MC/MCDisassembler/Disassembler.cpp
-
int llvm_regcomp (llvm_regex_t * , const char * , int )Defined at line 286 of file llvm/lib/Support/regcomp.c
-
template <typename MB>ErrorOr<std::unique_ptr<MB>> getFileAux (const Twine & Filename, uint64_t MapSize, uint64_t Offset, bool IsText, bool RequiresNullTerminator, bool IsVolatile, optional Alignment)Defined at line 280 of file llvm/lib/Support/MemoryBuffer.cpp
-
int dump (ObjectStore & CAS)Defined at line 264 of file llvm/tools/llvm-cas/llvm-cas.cpp
-
int listObjectReferences (ObjectStore & CAS, const CASID & ID)Defined at line 285 of file llvm/tools/llvm-cas/llvm-cas.cpp
-
int catNodeData (ObjectStore & CAS, const CASID & ID)Defined at line 279 of file llvm/tools/llvm-cas/llvm-cas.cpp
-
int makeBlob (ObjectStore & CAS, StringRef DataPath)Defined at line 270 of file llvm/tools/llvm-cas/llvm-cas.cpp
-
int makeNode (ObjectStore & CAS, ArrayRef<std::string> References, StringRef DataPath)Defined at line 297 of file llvm/tools/llvm-cas/llvm-cas.cpp
-
LLVMGenericValueRef LLVMRunFunction (LLVMExecutionEngineRef EE, LLVMValueRef F, unsigned int NumArgs, LLVMGenericValueRef * Args)Defined at line 238 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
void LLVMFreeMachineCodeForFunction (LLVMExecutionEngineRef EE, LLVMValueRef F)Defined at line 253 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
void LLVMAddModule (LLVMExecutionEngineRef EE, LLVMModuleRef M)Defined at line 256 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
LLVMBool LLVMRemoveModule (LLVMExecutionEngineRef EE, LLVMModuleRef M, LLVMModuleRef * OutMod, char ** OutError)Defined at line 260 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
LLVMBool LLVMFindFunction (LLVMExecutionEngineRef EE, const char * Name, LLVMValueRef * OutFn)Defined at line 268 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
void convertMRI (yaml::MachineFunction & YamlMF, const MachineFunction & MF, const MachineRegisterInfo & RegInfo, const TargetRegisterInfo * TRI)Defined at line 302 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
void * LLVMRecompileAndRelinkFunction (LLVMExecutionEngineRef EE, LLVMValueRef Fn)Defined at line 277 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
LLVMTargetDataRef LLVMGetExecutionEngineTargetData (LLVMExecutionEngineRef EE)Defined at line 282 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
LLVMTargetMachineRef LLVMGetExecutionEngineTargetMachine (LLVMExecutionEngineRef EE)Defined at line 286 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
void LLVMAddGlobalMapping (LLVMExecutionEngineRef EE, LLVMValueRef Global, void * Addr)Defined at line 291 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
void * LLVMGetPointerToGlobal (LLVMExecutionEngineRef EE, LLVMValueRef Global)Defined at line 296 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
uint64_t LLVMGetGlobalValueAddress (LLVMExecutionEngineRef EE, const char * Name)Defined at line 302 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
uint64_t LLVMGetFunctionAddress (LLVMExecutionEngineRef EE, const char * Name)Defined at line 306 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
lto_module_t lto_module_create (const char * path)Loads an object file from disk.
Returns NULL on error (check lto_get_error_message() for details).
Defined at line 234 of file llvm/tools/lto/lto.cpp
-
void LLVMDisposeTargetMachine (LLVMTargetMachineRef T)Dispose the LLVMTargetMachineRef instance generated by
LLVMCreateTargetMachine.
Defined at line 229 of file llvm/lib/Target/TargetMachineC.cpp
-
void LLVMDisposeSymbolIterator (LLVMSymbolIteratorRef SI)ObjectFile Symbol iterators
Defined at line 241 of file llvm/lib/Object/Object.cpp
-
void LLVMMoveToNextSymbol (LLVMSymbolIteratorRef SI)Defined at line 251 of file llvm/lib/Object/Object.cpp
-
LLVMTargetRef LLVMGetTargetMachineTarget (LLVMTargetMachineRef T)Returns the Target used in a TargetMachine
Defined at line 231 of file llvm/lib/Target/TargetMachineC.cpp
-
const char * LLVMGetSectionName (LLVMSectionIteratorRef SI)SectionRef accessors
Defined at line 256 of file llvm/lib/Object/Object.cpp
-
uint64_t LLVMGetSectionSize (LLVMSectionIteratorRef SI)Defined at line 263 of file llvm/lib/Object/Object.cpp
-
const char * LLVMGetSectionContents (LLVMSectionIteratorRef SI)Defined at line 267 of file llvm/lib/Object/Object.cpp
-
lto_module_t lto_module_create_from_memory (const void * mem, size_t length)Loads an object file from memory.
Returns NULL on error (check lto_get_error_message() for details).
Defined at line 270 of file llvm/tools/lto/lto.cpp
-
uint64_t LLVMGetSectionAddress (LLVMSectionIteratorRef SI)Defined at line 274 of file llvm/lib/Object/Object.cpp
-
char * LLVMGetTargetMachineTriple (LLVMTargetMachineRef T)Returns the triple used creating this target machine. See
llvm::TargetMachine::getTriple. The result needs to be disposed with
LLVMDisposeMessage.
Defined at line 236 of file llvm/lib/Target/TargetMachineC.cpp
-
void llvm_blake3_compress_xof (const uint32_t[8] cv, const uint8_t[64] block, uint8_t block_len, uint64_t counter, uint8_t flags, uint8_t[64] out)Defined at line 198 of file llvm/lib/Support/BLAKE3/blake3_dispatch.c
-
void llvm_blake3_xof_many (const uint32_t[8] cv, const uint8_t[64] block, uint8_t block_len, uint64_t counter, uint8_t flags, uint8_t[64] out, size_t outblocks)Defined at line 228 of file llvm/lib/Support/BLAKE3/blake3_dispatch.c
-
void LLVMDisposeObjectFile (LLVMObjectFileRef ObjectFile)Deprecated: Use LLVMDisposeBinary instead.
Defined at line 197 of file llvm/lib/Object/Object.cpp
-
LLVMSectionIteratorRef LLVMGetSections (LLVMObjectFileRef ObjectFile)Deprecated: Use LLVMObjectFileCopySectionIterator instead.
Defined at line 202 of file llvm/lib/Object/Object.cpp
-
LLVMBool LLVMIsSectionIteratorAtEnd (LLVMObjectFileRef ObjectFile, LLVMSectionIteratorRef SI)Deprecated: Use LLVMObjectFileIsSectionIteratorAtEnd instead.
Defined at line 212 of file llvm/lib/Object/Object.cpp
-
LLVMSymbolIteratorRef LLVMGetSymbols (LLVMObjectFileRef ObjectFile)Deprecated: Use LLVMObjectFileCopySymbolIterator instead.
Defined at line 235 of file llvm/lib/Object/Object.cpp
-
unsigned int getNumUsedSlots (const UnwindCode & UnwindCode)Calculates the number of array slots required for the unwind code.
Defined at line 236 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
template <class ELFT>void dumpSectionOffsets (const typename ELFT::Ehdr & Header, ArrayRef Phdrs, std::vector<std::unique_ptr<ELFYAML::Chunk>> & V, ArrayRef<typename ELFT::Shdr> S)Defined at line 236 of file llvm/tools/obj2yaml/elf2yaml.cpp
-
bool hasRSTRegClass (const CodeGenInstruction * Inst)Return true if one of the instruction's operands is a RST register class
Defined at line 237 of file llvm/utils/TableGen/X86FoldTablesEmitter.cpp
-
Function * getFunction (Constant * C)Defined at line 237 of file llvm/lib/Transforms/Utils/Evaluator.cpp
-
bool maintainPGOProfile (const TargetMachine & TM, CodeGenOptLevel OptLevel)Defined at line 237 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
OMPScheduleType getOpenMPMonotonicityScheduleType (OMPScheduleType ScheduleType, bool HasSimdModifier, bool HasMonotonic, bool HasNonmonotonic, bool HasOrderedClause)Adds monotonicity modifier flags to schedule type.
Defined at line 237 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
void reconnectPhis (BasicBlock * Out, BasicBlock * GuardBlock, ArrayRef Incoming, BasicBlock * FirstGuardBlock)After creating a control flow hub, the operands of PHINodes in an outgoing
block Out no longer match the predecessors of that block. Predecessors of Out
that are incoming blocks to the hub are now replaced by just one edge from
the hub. To match this new control flow, the corresponding values from each
PHINode must now be moved a new PHINode in the first guard block of the hub.
This operation cannot be performed with SSAUpdater, because it involves one
new use: If the block Out is in the list of Incoming blocks, then the newly
created PHI in the Hub will use itself along that edge from Out to Hub.
Defined at line 237 of file llvm/lib/Transforms/Utils/ControlFlowUtils.cpp
-
void addOrUpdateSectionToFileImpl (const char * YamlCreationString, function_ref IsValidFormat, StringRef NewSectionName, StringRef NewSectionData, Action SectionAction)Defined at line 237 of file llvm/unittests/ObjCopy/ObjCopyTest.cpp
-
bool CC_X86_32_MCUInReg (unsigned int & ValNo, MVT & ValVT, MVT & LocVT, CCValAssign::LocInfo & LocInfo, ISD::ArgFlagsTy & ArgFlags, CCState & State)Defined at line 237 of file llvm/lib/Target/X86/X86CallingConv.cpp
-
void splitStaticCtorDtor (const char * GlobalName, Module * M1, Module * M2, ValueToValueMapTy & VMap)splitStaticCtorDtor - A module was recently split into two parts, M1/M2, and
M1 has all of the global variables. If M2 contains any functions that are
static ctors/dtors, we need to add an llvm.global_[cd]tors global to M2, and
prune appropriate entries out of M1s list.
Defined at line 237 of file llvm/tools/bugpoint/ExtractFunction.cpp
-
bool isArrayType (basic_string_view S)Defined at line 238 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
bool setReturnedArg (Function & F, unsigned int ArgNo)Defined at line 238 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
uint64_t XXH3_len_4to8_64b (const uint8_t * input, size_t len, const uint8_t * secret, uint64_t seed)Defined at line 238 of file llvm/lib/Support/xxhash.cpp
-
unsigned int EmitVBRValue (uint64_t Val, raw_ostream & OS)EmitVBRValue - Emit the specified value as a VBR, returning the number of
bytes emitted.
Defined at line 238 of file llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
-
bool canEmitLibcall (const LibcallLoweringModuleAnalysisResult & ModuleLowering, const TargetMachine * TM, Function * F, Libcall LC)Defined at line 239 of file llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
-
void printBSDMemberHeader (raw_ostream & Out, uint64_t Pos, StringRef Name, const sys::TimePoint<std::chrono::seconds> & ModTime, unsigned int UID, unsigned int GID, unsigned int Perms, uint64_t Size)Defined at line 239 of file llvm/lib/Object/ArchiveWriter.cpp
-
void copyMustTailReturn (BasicBlock * SplitBB, Instruction * CI, Instruction * NewCI)Copy mandatory `musttail` return sequence that follows original `CI`, and
link it up to `NewCI` value instead:
* (optional) `bitcast NewCI to ...`
* `ret bitcast or NewCI`
Insert this sequence right before `SplitBB`'s terminator, which will be
cleaned up later in `splitCallSite` below.
Defined at line 239 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
basic_string encodeName (StringRef Name)Defined at line 239 of file llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
-
DbgValueLoc getDebugLocValue (const MachineInstr * MI)Get .debug_loc entry for the instruction range starting at MI.
Defined at line 239 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
void collectInstructionsInBetween (Instruction & StartInst, const Instruction & EndInst, SmallPtrSetImpl<Instruction *> & InBetweenInsts)Collect all instructions in between
and
and store
them in
Defined at line 239 of file llvm/lib/Transforms/Utils/CodeMoverUtils.cpp
-
void DumpInputAnnotationHelp (raw_ostream & OS)Defined at line 239 of file llvm/utils/FileCheck/FileCheck.cpp
-
bool isFunctionType (basic_string_view S)Defined at line 240 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
Expected parseV5EntryFormat (const DWARFDataExtractor & DebugLineData, uint64_t * OffsetPtr, DWARFDebugLine::ContentTypeTracker * ContentTypes)Parse v5 directory/file entry content descriptions.
Returns the descriptors, or an error if we did not find a path or ran off
the end of the prologue.
Defined at line 240 of file llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
-
void runNewPMPasses (const Config & Conf, Module & Mod, TargetMachine * TM, unsigned int OptLevel, bool IsThinLTO, ModuleSummaryIndex * ExportSummary, const ModuleSummaryIndex * ImportSummary)Defined at line 240 of file llvm/lib/LTO/LTOBackend.cpp
-
void initializeProfileSummaryInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 241 of file llvm/lib/Analysis/ProfileSummaryInfo.cpp
-
char * LLVMGetTargetMachineCPU (LLVMTargetMachineRef T)Returns the cpu used creating this target machine. See
llvm::TargetMachine::getCPU. The result needs to be disposed with
LLVMDisposeMessage.
Defined at line 241 of file llvm/lib/Target/TargetMachineC.cpp
-
void writeGadgetGraph (raw_ostream & OS, MachineFunction & MF, MachineGadgetGraph * G)Defined at line 241 of file llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
-
void BM_Mustache_SmallTemplateParsing (benchmark::State & state)Tests the performance of the parser on a small, "deep" template.
Defined at line 241 of file llvm/benchmarks/Mustache.cpp
-
bool isReInterleaveMask (ShuffleVectorInst * SVI, unsigned int & Factor, unsigned int MaxFactor)Check if the mask can be used in an interleaved store.
It checks for a more general pattern than the RE-interleave mask.
I.e.
<x
, y, ... z, x+1, y+1, ...z+1, x+2, y+2, ...z+2, ...>
E.g. For a Factor of 2 (LaneLen=4):
<
4, 32, 5, 33, 6, 34, 7, 35>
E.g. For a Factor of 3 (LaneLen=4):
<
4, 32, 16, 5, 33, 17, 6, 34, 18, 7, 35, 19>
E.g. For a Factor of 4 (LaneLen=2):
<
8, 2, 12, 4, 9, 3, 13, 5>
The particular case of an RE-interleave mask is:
I.e.
<
0, LaneLen, ... , LaneLen*(Factor - 1), 1, LaneLen + 1, ...>
E.g. For a Factor of 2 (LaneLen=4):
<
0, 4, 1, 5, 2, 6, 3, 7>
Defined at line 241 of file llvm/lib/CodeGen/InterleavedAccessPass.cpp
-
EFLAGSClobber getClobberType (const MachineInstr & MI)Defined at line 241 of file llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
-
BranchInst * findSplitCandidate (const Loop & L, ScalarEvolution & SE, ConditionInfo & ExitingCond, ConditionInfo & SplitCandidateCond)Defined at line 241 of file llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
-
uint32_t getCPUType (MachOObjectFile & MachO)Defined at line 242 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
double statRelDiff (const GraphDiffRenderer::TimeStat & LeftStat, const GraphDiffRenderer::TimeStat & RightStat, StatType T)Returns the Relative change With respect to LeftStat between LeftStat
and RightStat.
Defined at line 242 of file llvm/tools/llvm-xray/xray-graph-diff.cpp
-
template <typename PassManagerT>bool tryParsePipelineText (PassBuilder & PB, const int & PipelineOpt)Defined at line 242 of file llvm/tools/opt/NewPMDriver.cpp
-
void fatalError (Error Err)Defined at line 243 of file llvm/tools/llvm-ifs/llvm-ifs.cpp
-
SecondMacroFusionInstKind classifySecondInstInMacroFusion (const MCInst & MI, const MCInstrInfo & MCII)Defined at line 243 of file llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
-
bool MapHasRightValue (RetainedKnowledgeMap & Map, AssumeInst * II, pair Key, MinMax MM)Defined at line 243 of file llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
-
void dumpRemats (StringRef Title, const SmallMapVector<Instruction *, std::unique_ptr<RematGraph>, 8> & RM)Defined at line 243 of file llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp
-
void replaceRelativePointerUserWithZero (User * U)Defined at line 243 of file llvm/lib/Analysis/TypeMetadataUtils.cpp
-
Error createDirectoriesOnDemand (StringRef OutputPath, OutputConfig Config, function_ref CreateFile)Defined at line 243 of file llvm/lib/Support/VirtualOutputBackends.cpp
-
Expected FillMachine (PerfState & State)Defined at line 243 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
bool ParseLine (const StringRef & Input, LineType & LineTy, uint32_t & Depth, uint64_t & NumSamples, uint32_t & LineOffset, uint32_t & Discriminator, StringRef & CalleeName, DenseMap<StringRef, uint64_t> & TargetCountMap, DenseMap<StringRef, uint64_t> & TypeCountMap, uint64_t & FunctionHash, uint32_t & Attributes, bool & IsFlat)Parse
as line sample.
returns true if parsing is successful.
Parameters
Input input line.LineTy Type of this line.Depth the depth of the inline stack.NumSamples total samples of the line/inlined callsite.LineOffset line offset to the start of the function.Discriminator discriminator of the line.TargetCountMap map from indirect call target to count.FunctionHash the function's CFG hash, used by pseudo probe.Defined at line 243 of file llvm/lib/ProfileData/SampleProfReader.cpp
-
void stubifyDirectory (StringRef InputPath, Context & Ctx)Defined at line 243 of file llvm/tools/llvm-readtapi/llvm-readtapi.cpp
-
bool shouldPrintInstructionTables (InstructionTablesType ITType)Defined at line 244 of file llvm/tools/llvm-mca/llvm-mca.cpp
-
void initializeSafepointIRVerifierPassOnce (PassRegistry & Registry)Defined at line 244 of file llvm/lib/IR/SafepointIRVerifier.cpp
-
void check_value_kind (LLVMValueRef V, K)Defined at line 244 of file llvm/tools/llvm-c-test/echo.cpp
-
bool hasPtrTailcallRegClass (const CodeGenInstruction * Inst)Return true if one of the instruction's operands is a ptr_rc_tailcall
Defined at line 244 of file llvm/utils/TableGen/X86FoldTablesEmitter.cpp
-
template <typename Inst>bool atomicSizeSupported (const TargetLowering * TLI, Inst * I)Determine if a particular atomic operation has a supported size,
and is of appropriate alignment, to be passed through for target
lowering. (Versus turning into a __atomic libcall)
Defined at line 244 of file llvm/lib/CodeGen/AtomicExpandPass.cpp
-
void dumpWeakExternal (COFFYAML::Symbol * Sym, const object::coff_aux_weak_external * ObjWE)Defined at line 244 of file llvm/tools/obj2yaml/coff2yaml.cpp
-
MachineOperand * salvageDebugInfoImpl (const MachineRegisterInfo & MRI, MachineInstr & MI, SmallVectorImpl<uint64_t> & Ops)Defined at line 244 of file llvm/lib/CodeGen/CodeGenCommonISel.cpp
-
void * callFunc (void * param)Defined at line 244 of file llvm/examples/ParallelJIT/ParallelJIT.cpp
-
bool fixupBlock (MachineBasicBlock & CurrBB, const BlockFlagsVector & BlockInfo, int & InsertionPts, const InsertionPoint & Prologue)Fixes up the CFI instructions in a basic block to be consistent with the
intended frame state, adding or removing CFI instructions as necessary.
Returns true if a change was made and false otherwise.
Defined at line 244 of file llvm/lib/CodeGen/CFIFixup.cpp
-
LLVMBool LLVMIsSymbolIteratorAtEnd (LLVMObjectFileRef ObjectFile, LLVMSymbolIteratorRef SI)Deprecated: Use LLVMObjectFileIsSymbolIteratorAtEnd instead.
Defined at line 245 of file llvm/lib/Object/Object.cpp
-
FunctionRefQualifier demangleFunctionRefQualifier (std::string_view & MangledName)Defined at line 245 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
lto_module_t lto_module_create_from_fd (int fd, const char * path, size_t file_size)Loads an object file from disk. The seek point of fd is not preserved.
Returns NULL on error (check lto_get_error_message() for details).
Defined at line 245 of file llvm/tools/lto/lto.cpp
-
void replaceLoopInvariantUses (const Loop & L, Value * Invariant, Constant & Replacement)Defined at line 245 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
void fixSuccessorPhis (Loop * L, Value * ScalarRes, Value * VectorRes, BasicBlock * SuccBB, BasicBlock * IncBB)Defined at line 245 of file llvm/lib/Transforms/Vectorize/LoopIdiomVectorize.cpp
-
OverwriteResult isMaskedStoreOverwrite (const Instruction * KillingI, const Instruction * DeadI, BatchAAResults & AA)Check if two instruction are masked stores that completely
overwrite one another. More specifically,
has to
overwrite
Defined at line 245 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
char * LLVMGetTargetMachineFeatureString (LLVMTargetMachineRef T)Returns the feature string used creating this target machine. See
llvm::TargetMachine::getFeatureString. The result needs to be disposed with
LLVMDisposeMessage.
Defined at line 246 of file llvm/lib/Target/TargetMachineC.cpp
-
bool setNonLazyBind (Function & F)Defined at line 246 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
ErrorOr getLLVMSymbolizerPath (StringRef Argv0)Defined at line 246 of file llvm/lib/Support/Signals.cpp
-
bool PHIAreRefEachOther (iterator_range NewPHIs)New PHI nodes should not reference one another but they may reference
themselves or existing PHI nodes, and existing PHI nodes may reference new
PHI nodes.
Defined at line 246 of file llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp
-
Expected<ReproducerMode> getReproducerMode (opt::InputArgList & Args)Defined at line 246 of file llvm/tools/dsymutil/dsymutil.cpp
-
ParseRet tryParseParameter (StringRef & ParseString, VFParamKind & PKind, int & StepOrPos)Looks into the
<parameters
> part of the mangled name in search
for valid paramaters at the beginning of the string
`ParseString`.
On success, it removes the parsed parameter from `ParseString`,
sets `PKind` to the correspondent enum value, sets `StepOrPos`
accordingly, and return success. On a syntax error, it return a
parsing error. If nothing is parsed, it returns std::nullopt.
Defined at line 246 of file llvm/lib/IR/VFABIDemangler.cpp
-
optional getOpcode (ArrayRef Values)Returns the opcode of Values or ~0 if they do not all agree.
Defined at line 247 of file llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
-
bool willLowerDirectly (SDValue Incoming)Return true if-and-only-if the given SDValue can be lowered as either a
constant argument or a stack reference. The key point is that the value
doesn't need to be spilled or tracked as a vreg use.
Defined at line 247 of file llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
-
void findAndAddDiff (iterator_range CollectedSyms, iterator_range LookupSyms, DiffOutput & Result, InterfaceInputOrder Order)Defined at line 247 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
unique_ptr ParseIdentifierExpr ()identifierexpr
::= identifier
::= identifier '(' expression* ')'
Defined at line 247 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
int show_main (int argc, const char *[] argv)Defined at line 247 of file llvm/tools/llvm-cgdata/llvm-cgdata.cpp
-
bool shouldPrintInstructionTables ()Defined at line 248 of file llvm/tools/llvm-mca/llvm-mca.cpp
-
LLVMJITEventListenerRef LLVMCreateGDBRegistrationListener ()===-- JIT Event Listener functions -------------------------------------===
Defined at line 248 of file llvm/lib/ExecutionEngine/GDBRegistrationListener.cpp
-
void fatalError (Twine T)Defined at line 248 of file llvm/tools/llvm-ifs/llvm-ifs.cpp
-
bool containsParameters (SmallVectorImpl<const SCEV *> & Terms)Returns true when one of the SCEVs of Terms contains a SCEVUnknown parameter.
Defined at line 248 of file llvm/lib/Analysis/Delinearization.cpp
-
GenericValue executeICMP_UGT (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 248 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
void writeTraceViewerRecord (uint16_t Version, raw_ostream & OS, int32_t FuncId, uint32_t TId, uint32_t PId, bool Symbolize, const FuncIdConversionHelper & FuncIdHelper, double EventTimestampUs, const StackTrieNode & StackCursor, StringRef FunctionPhenotype)Defined at line 248 of file llvm/tools/llvm-xray/xray-converter.cpp
-
bool isShapePreserving (Value * V)Defined at line 248 of file llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
-
Error readSymbols (MachOObjectFile * Obj, RecordsSlice & Slice, const ParseOption & Opt)Defined at line 248 of file llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
-
raw_ostream & operator<< (raw_ostream & OS, const SinkingInstructionCandidate & C)Defined at line 249 of file llvm/lib/Transforms/Scalar/GVNSink.cpp
-
basic_string getExecutablePath (const char * Argv0)Compute the path to the main executable.
Defined at line 249 of file llvm/tools/llvm-config/llvm-config.cpp
-
size_t getMaxLeafCount (const DirectiveLanguage & DirLang)Count the maximum number of leaf constituents per construct.
Defined at line 249 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
bool isAlignmentPreservedForAddrCast (const Triple & TargetTriple)isAlignmentPreservedForAddrCast - Return true if the cast operation
for specified target preserves original alignment
Defined at line 249 of file llvm/lib/Transforms/Utils/CodeExtractor.cpp
-
bool isGCPointerType (Type * T)Defined at line 250 of file llvm/lib/IR/SafepointIRVerifier.cpp
-
void check (Error E, basic_string Msg)Defined at line 250 of file llvm/tools/llvm-lto2/llvm-lto2.cpp
-
bool canEmitMemcpy (const LibcallLoweringModuleAnalysisResult & ModuleLowering, const TargetMachine * TM, Function * F)Defined at line 250 of file llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
-
bool isRIPRelative (const MCInst & MI, const MCInstrInfo & MCII)Check if the instruction uses RIP relative addressing.
Defined at line 250 of file llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
-
BinaryOperator * CreateAdd (Value * S1, Value * S2, const Twine & Name, ilist_iterator_w_bits InsertBefore, Value * FlagsOp)Defined at line 250 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
bool mayFoldFromForm (uint8_t Form)Defined at line 250 of file llvm/utils/TableGen/X86FoldTablesEmitter.cpp
-
bool filterArch (MachOObjectFile & Obj)Return true if the object file has not been filtered by an --arch option.
Defined at line 250 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
Expected<SectionFlagsUpdate> parseSetSectionFlagValue (StringRef FlagValue)Defined at line 250 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
Value * simplifyAssociativeBinOp (BinaryOps Opcode, Value * LHS, Value * RHS, const SimplifyQuery & Q, unsigned int MaxRecurse)Generic simplifications for associative binary operations.
Returns the simpler value, or null if none was found.
Defined at line 250 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
int cloneMF (MachineFunction * SrcMF, MachineModuleInfo & DestMMI)Defined at line 250 of file llvm/tools/llvm-reduce/ReducerWorkItem.cpp
-
void initializeDebugInfoDropPassOnce (PassRegistry & Registry)Defined at line 251 of file llvm/unittests/Transforms/Utils/DebugifyTest.cpp
-
void LLVMSetTargetMachineAsmVerbosity (LLVMTargetMachineRef T, LLVMBool VerboseAsm)Set the target machine's ASM verbosity.
Defined at line 251 of file llvm/lib/Target/TargetMachineC.cpp
-
LLVMValueRef clone_constant (LLVMValueRef Cst, LLVMModuleRef M)Defined at line 251 of file llvm/tools/llvm-c-test/echo.cpp
-
void printCustomRegMask (const uint32_t * RegMask, raw_ostream & OS, const TargetRegisterInfo * TRI)Defined at line 251 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
basic_string getColor (const GraphDiffRenderer::GraphT::EdgeValueType & E, const GraphDiffRenderer::GraphT & G, ColorHelper H, StatType T)Defined at line 251 of file llvm/tools/llvm-xray/xray-graph-diff.cpp
-
Constant * rebuildSplatCst (const Constant * C, unsigned int , unsigned int , unsigned int SplatBitWidth)Attempt to rebuild a normalized splat vector constant of the requested splat
width, built up of potentially smaller scalar values.
Defined at line 251 of file llvm/lib/Target/X86/X86FixupVectorConstants.cpp
-
Error processRemark (const remarks::Remark & Remark, StringMap<InstCountAndStackSize> & FuncNameToSizeInfo, unsigned int & NumInstCountRemarksParsed)Collects relevant size information from
if it is an size-related
remark of some kind (e.g. instruction count). Otherwise records nothing.
- The remark.
- Maps function names to relevant size info.
- Keeps track of the number of instruction
count remarks parsed. We need at least 1 in both files to produce a diff.
Defined at line 251 of file llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
-
void createThunk (FuncMergeInfo & FI, ArrayRef Params, Function * ToFunc)Given the original function (Thunk) and the merged function (ToFunc), create
a thunk to the merged function.
Defined at line 251 of file llvm/lib/CodeGen/GlobalMergeFunctions.cpp
-
Error addAllTypesFromTypesSection (MCStreamer & Out, MapVector<uint64_t, UnitIndexEntry> & TypeIndexEntries, MCSection * OutputTypes, const std::vector<StringRef> & TypesSections, const UnitIndexEntry & CUEntry, uint32_t & TypesOffset, OnCuIndexOverflow OverflowOptValue, bool & AnySectionOverflow)Defined at line 251 of file llvm/lib/DWP/DWP.cpp
-
Error checkRecord (const IHexRecord & R)Defined at line 251 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
void llvm_blake3_hash_many (const uint8_t *const * inputs, size_t num_inputs, size_t blocks, const uint32_t[8] key, uint64_t counter, _Bool increment_counter, uint8_t flags, uint8_t flags_start, uint8_t flags_end, uint8_t * out)Defined at line 251 of file llvm/lib/Support/BLAKE3/blake3_dispatch.c
-
void bindingsErrorHandler (void * user_data, const char * reason, bool gen_crash_diag)Defined at line 252 of file llvm/lib/Support/ErrorHandling.cpp
-
bool isGCPointerType (Type * T, GCStrategy * GC)Defined at line 252 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void UnescapeString (std::string & Str)Defined at line 252 of file llvm/utils/TableGen/AsmWriterEmitter.cpp
-
bool setDoesNotFreeMemory (Function & F)Defined at line 253 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
const llvm::AArch64::ExtensionInfo & lookupExtensionByID (ArchExtKind ExtID)Defined at line 253 of file llvm/lib/TargetParser/AArch64TargetParser.cpp
-
bool isValidElementType (Type * Ty)Predicate for the element types that the SLP vectorizer supports.
The most important thing to filter here are types which are invalid in LLVM
vectors. We also filter target specific types which have absolutely no
meaningful vectorization path such as x86_fp80 and ppc_f128. This just
avoids spending time checking the cost model and realizing that they will
be inevitably scalarized.
Defined at line 253 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool runImpl (LoopInfo & LI, DominatorTree & DT)Defined at line 253 of file llvm/lib/Transforms/Utils/UnifyLoopExits.cpp
-
void dumpSectionDefinition (COFFYAML::Symbol * Sym, const object::coff_aux_section_definition * ObjSD, bool IsBigObj)Defined at line 253 of file llvm/tools/obj2yaml/coff2yaml.cpp
-
Error checkOverlappingElement (std::list<MachOElement> & Elements, uint64_t Offset, uint64_t Size, const char * Name)Defined at line 253 of file llvm/lib/Object/MachOObjectFile.cpp
-
bool isValidIndirectionTable (GlobalVariable * IndirectionTable)Defined at line 253 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
void formatTypeName (SmallString<64> & Dest, StringRef Name, bool IsWriteable, bool IsROV, Type * ContainedType, bool IsSigned)Defined at line 253 of file llvm/lib/Analysis/DXILResource.cpp
-
bool isConstantOne (const Value * Val)isConstantOne - Return true only if val is constant int 1
Defined at line 254 of file llvm/lib/IR/IRBuilder.cpp
-
basic_string toString (LLVMErrorRef E)Consumes the given error ref and returns the string error message.
Defined at line 254 of file llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
-
ErrorOr getMemoryBufferForStream (sys::fs::file_t FD, const Twine & BufferName)Defined at line 254 of file llvm/lib/Support/MemoryBuffer.cpp
-
void genShuffleBland (MVT VT, ArrayRef<int> Mask, SmallVectorImpl<int> & Out, int LowOffset, int HighOffset)genShuffleBland - Creates shuffle according to two vectors.This function is
only works on instructions with lane inside 256 registers. According to
the mask 'Mask' creates a new Mask 'Out' by the offset of the mask. The
offset amount depends on the two integer, 'LowOffset' and 'HighOffset'.
Where the 'LowOffset' refers to the first vector and the highOffset refers to
the second vector.
|a0....a5,b0....b4,c0....c4|a16..a21,b16..b20,c16..c20|
|c5...c10,a5....a9,b5....b9|c21..c26,a22..a26,b21..b25|
|b10..b15,c11..c15,a10..a15|b26..b31,c27..c31,a27..a31|
For the sequence to work as a mirror to the load.
We must consider the elements order as above.
In this function we are combining two types of shuffles.
The first one is vpshufed and the second is a type of "blend" shuffle.
By computing the shuffle on a sequence of 16 elements(one lane) and add the
correct offset. We are creating a vpsuffed + blend sequence between two
shuffles.
Defined at line 254 of file llvm/lib/Target/X86/X86InterleavedAccess.cpp
-
bool isOnlyUsedInComparisonWithZero (Value * V)Defined at line 254 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
void BM_Mustache_PartialsRendering (benchmark::State & state)Tests the performance of rendering a template that includes a partial.
Defined at line 254 of file llvm/benchmarks/Mustache.cpp
-
Register isCopyOf (const MachineInstr & MI, Register Reg, const TargetInstrInfo & TII)isFullCopyOf - If MI is a COPY to or from Reg, return the other register,
otherwise return 0.
Defined at line 254 of file llvm/lib/CodeGen/InlineSpiller.cpp
-
pair demanglePointerCVQualifiers (std::string_view & MangledName)Defined at line 254 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
Value * getParentPad (Value * EHPad)Helper for getUnwindDestToken/getUnwindDestTokenHelper.
Defined at line 255 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
void AntiDepEdges (const SUnit * SU, int & Edges)AntiDepEdges - Return in Edges the anti- and output- dependencies
in SU that we want to consider for breaking.
Defined at line 255 of file llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
-
bool hasDebugInfo (const MachineFunction * MF)Defined at line 255 of file llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
-
uint64_t XXH3_len_9to16_64b (const uint8_t * input, size_t len, const uint8_t * secret, const uint64_t seed)Defined at line 255 of file llvm/lib/Support/xxhash.cpp
-
Error validateInProcess (StringRef RootPath, StringRef HashName, unsigned int HashByteSize, bool CheckHash)Defined at line 255 of file llvm/lib/CAS/UnifiedOnDiskCache.cpp
-
Value * getMatchingValue (LoadValue LV, LoadInst * LI, unsigned int CurrentGeneration, BatchAAResults & BAA, function_ref GetMSSA)Defined at line 255 of file llvm/lib/Transforms/Utils/LoopUnroll.cpp
-
SourcePred matchScalarInAggregate ()Defined at line 255 of file llvm/lib/FuzzMutate/Operations.cpp
-
void printBigArchiveMemberHeader (raw_ostream & Out, StringRef Name, const sys::TimePoint<std::chrono::seconds> & ModTime, unsigned int UID, unsigned int GID, unsigned int Perms, uint64_t Size, uint64_t PrevOffset, uint64_t NextOffset)Defined at line 255 of file llvm/lib/Object/ArchiveWriter.cpp
-
Error writeIFS (StringRef FilePath, IFSStub & Stub, bool WriteIfChanged)writeIFS() writes a Text-Based ELF stub to a file using the latest version
of the YAML parser.
Defined at line 255 of file llvm/tools/llvm-ifs/llvm-ifs.cpp
-
bool processPHI (PHINode * P, LazyValueInfo * LVI, DominatorTree * DT, const SimplifyQuery & SQ)Defined at line 255 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void LLVMSetTargetMachineFastISel (LLVMTargetMachineRef T, LLVMBool Enable)Enable fast-path instruction selection.
Defined at line 256 of file llvm/lib/Target/TargetMachineC.cpp
-
void initializeDebugInfoDummyAnalysisPassOnce (PassRegistry & Registry)Defined at line 256 of file llvm/unittests/Transforms/Utils/DebugifyTest.cpp
-
Error createSpecFormatError (Twine Format)Defined at line 256 of file llvm/lib/IR/DataLayout.cpp
-
void initializeMachineUniformityInfoPrinterPassPassOnce (PassRegistry & Registry)Defined at line 256 of file llvm/lib/CodeGen/MachineUniformityAnalysis.cpp
-
SDValue emitRepmovsB (const X86Subtarget & Subtarget, SelectionDAG & DAG, const SDLoc & dl, SDValue Chain, SDValue Dst, SDValue Src, uint64_t Size)Emit a single REP MOVSB instruction for a particular constant size.
Defined at line 256 of file llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
-
int openBuffer (StringRef DataPath)Defined at line 256 of file llvm/tools/llvm-cas/llvm-cas.cpp
-
Value * getMaskOperand (IntrinsicInst * II)Defined at line 256 of file llvm/lib/CodeGen/InterleavedAccessPass.cpp
-
lto_module_t lto_module_create_from_fd_at_offset (int fd, const char * path, size_t file_size, size_t map_size, off_t offset)Loads an object file from disk. The seek point of fd is not preserved.
Returns NULL on error (check lto_get_error_message() for details).
Defined at line 256 of file llvm/tools/lto/lto.cpp
-
void getMaxByValAlign (Type * Ty, Align & MaxAlign)Helper for getByValTypeAlignment to determine
the desired ByVal argument alignment.
Defined at line 256 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
bool areLoadsReorderable (const LoadInst * Use, const LoadInst * MayClobber)This does one-way checks to see if Use could theoretically be hoisted above
MayClobber. This will not check the other way around.
This assumes that, for the purposes of MemorySSA, Use comes directly after
MayClobber, with no potentially clobbering operations in between them.
(Where potentially clobbering ops are memory barriers, aliased stores, etc.)
Defined at line 256 of file llvm/lib/Analysis/MemorySSA.cpp
-
void ConnectEpilog (Loop * L, Value * ModVal, BasicBlock * NewExit, BasicBlock * Exit, BasicBlock * PreHeader, BasicBlock * EpilogPreHeader, BasicBlock * NewPreHeader, ValueToValueMapTy & VMap, DominatorTree * DT, LoopInfo * LI, bool PreserveLCSSA, ScalarEvolution & SE, unsigned int Count, AssumptionCache & AC, BranchProbability OriginalLoopProb)Connect the unrolling epilog code to the original loop.
The unrolling epilog code contains code to execute the
'extra' iterations if the run-time trip count modulo the
unroll count is non-zero.
This function performs the following:
- Update PHI nodes at the epilog loop exit
- Create PHI nodes at the unrolling loop exit and epilog preheader to
combine values that exit the unrolling loop code and jump around it.
- Update PHI operands in the epilog loop by the new PHI nodes
- At the unrolling loop exit, branch around the epilog loop if extra iters
(ModVal) is zero.
- At the epilog preheader, add an llvm.assume call that extra iters is
non-zero. If the unrolling loop exit is the predecessor, the above new
branch guarantees that assumption. If the unrolling loop preheader is the
predecessor, then the required first iteration from the original loop has
yet to be executed, so it must be executed in the epilog loop. If we
later unroll the epilog loop, that llvm.assume call somehow enables
ScalarEvolution to compute a epilog loop maximum trip count, which enables
eliminating the branch at the end of the final unrolled epilog iteration.
Defined at line 256 of file llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
-
void emitOptionParser (const RecordKeeper & Records, raw_ostream & OS)OptionParserEmitter - This tablegen backend takes an input .td file
describing a list of options and emits a data structure for parsing and
working with those options when given an input command line.
Defined at line 256 of file llvm/utils/TableGen/OptionParserEmitter.cpp
-
void initializeGCMachineCodeAnalysisPassOnce (PassRegistry & Registry)Defined at line 257 of file llvm/lib/CodeGen/GCRootLowering.cpp
-
void resolveRelativeObjectPath (SmallVectorImpl<char> & Buf, DWARFDie CU)Resolve the relative path to a build artifact referenced by DWARF by
applying DW_AT_comp_dir.
Defined at line 257 of file llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
-
int numberOfTerms (const SCEV * S)Return the number of product terms in S.
Defined at line 257 of file llvm/lib/Analysis/Delinearization.cpp
-
unsigned int getVectorRegSize (MCRegister Reg)Defined at line 257 of file llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
-
LLVMValueRef clone_constant_impl (LLVMValueRef Cst, LLVMModuleRef M)Defined at line 257 of file llvm/tools/llvm-c-test/echo.cpp
-
bool isAArch64MappingSymbol (const Symbol & Sym)Defined at line 258 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
OpenFlags generateFlagsFromConfig (OutputConfig Config)Defined at line 258 of file llvm/lib/Support/VirtualOutputBackends.cpp
-
bool areConsecutiveOrMatch (VPInstruction * A, VPInstruction * B, VPInterleavedAccessInfo & IAI)Returns true if A and B access sequential memory if they are loads or
stores or if they have identical opcodes otherwise.
Defined at line 258 of file llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
-
vector getAllDyLibComponents (const bool IsInDevelopmentTree, const bool GetComponentNames, const std::string & DirSep)Expand the semi-colon delimited LLVM_DYLIB_COMPONENTS into
the full list of components.
Defined at line 258 of file llvm/tools/llvm-config/llvm-config.cpp
-
bool foldAnyOrAllBitsSet (Instruction & I)Match patterns that correspond to "any-bits-set" and "all-bits-set".
These will include a chain of 'or' or 'and'-shifted bits from a
common source value:
and (or (lshr X, C), ...), 1 --> (X
&
CMask) != 0
and (and (lshr X, C), ...), 1 --> (X
&
CMask) == CMask
Note: "any-bits-clear" and "all-bits-clear" are variations of these patterns
that differ only with a final 'not' of the result. We expect that final
'not' to be folded with the compare that we create here (invert predicate).
Defined at line 258 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
void emitDirectivesDecl (const RecordKeeper & Records, raw_ostream & OS)Generate the declaration section for the enumeration in the directive
language.
Defined at line 258 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
template <typename T>T check (Expected<T> E, basic_string Msg)Defined at line 259 of file llvm/tools/llvm-lto2/llvm-lto2.cpp
-
bool containsGCPtrType (Type * Ty)Defined at line 259 of file llvm/lib/IR/SafepointIRVerifier.cpp
-
void emitGetInstructionIndexForOpLookup (raw_ostream & OS, const int & OperandMap, ArrayRef<unsigned int> InstructionIndex)Defined at line 259 of file llvm/utils/TableGen/InstrInfoEmitter.cpp
-
void TestFunctionInfoEncodeDecode (endianness ByteOrder, const FunctionInfo & FI)Defined at line 259 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
uint32_t getAlignment (const MCSectionCOFF & Sec)Defined at line 259 of file llvm/lib/MC/WinCOFFObjectWriter.cpp
-
void initializeGlobalMergePassOnce (PassRegistry & Registry)Defined at line 260 of file llvm/lib/CodeGen/GlobalMerge.cpp
-
void initializeTestPassPassOnce (PassRegistry & Registry)Defined at line 260 of file llvm/unittests/MI/LiveIntervalTest.cpp
-
void LLVMSetTargetMachineGlobalISel (LLVMTargetMachineRef T, LLVMBool Enable)Enable global instruction selection.
Defined at line 260 of file llvm/lib/Target/TargetMachineC.cpp
-
void initializeTwoAddressInstructionLegacyPassPassOnce (PassRegistry & Registry)Defined at line 260 of file llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
-
void initializeInferAddressSpacesPassOnce (PassRegistry & Registry)Defined at line 260 of file llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
-
void initializeCanonicalizeFreezeInLoopsPassOnce (PassRegistry & Registry)Defined at line 260 of file llvm/lib/Transforms/Utils/CanonicalizeFreezeInLoops.cpp
-
void initializeStaticDataSplitterPassOnce (PassRegistry & Registry)Defined at line 260 of file llvm/lib/CodeGen/StaticDataSplitter.cpp
-
bool setWillReturn (Function & F)Defined at line 260 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void initializeVirtRegRewriterLegacyPassOnce (PassRegistry & Registry)Defined at line 260 of file llvm/lib/CodeGen/VirtRegMap.cpp
-
const CodeGenInstruction * GetInstByName (StringRef Name, const int & Insts, const RecordKeeper & Records)Defined at line 260 of file llvm/utils/TableGen/Common/CodeGenTarget.cpp
-
bool cannotHoistOrSinkRecipe (const VPRecipeBase & R)Return true if we do not know how to (mechanically) hoist or sink
out
of a loop region.
Defined at line 260 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
template <typename FatArchTy>Expected<SmallVector<FatArchTy, 2>> buildFatArchList (ArrayRef Slices)Defined at line 260 of file llvm/lib/Object/MachOUniversalWriter.cpp
-
void assignSections (MachineFunction & MF, const int & FuncClusterInfo)This function sorts basic blocks according to the cluster's information.
All explicitly specified clusters of basic blocks will be ordered
accordingly. All non-specified BBs go into a separate "Cold" section.
Additionally, if exception handling landing pads end up in more than one
clusters, they are moved into a single "Exception" section. Eventually,
clusters are ordered in increasing order of their IDs, with the "Exception"
and "Cold" succeeding all other clusters.
FuncClusterInfo represents the cluster information for basic blocks. It
maps from BBID of basic blocks to their cluster information.
Defined at line 260 of file llvm/lib/CodeGen/BasicBlockSections.cpp
-
void printUnwindCode (ArrayRef UCs, bool & SeenFirstEpilog)Prints one unwind code. Because an unwind code can occupy up to 3 slots in
the unwind codes array, this function requires that the correct number of
slots is provided.
Defined at line 260 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
unsigned int parseSectionFlags (const Triple & TT, StringRef flagsStr, bool * UseLastGroup)Defined at line 260 of file llvm/lib/MC/MCParser/ELFAsmParser.cpp
-
void registerEPCallbacks (PassBuilder & PB)If one of the EPPipeline command line options was given, register callbacks
for parsing and inserting the given pipeline
Defined at line 260 of file llvm/tools/opt/NewPMDriver.cpp
-
uint64_t getDwoId (const DWARFDie & CUDie)Defined at line 261 of file llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
-
unsigned int EmitSignedVBRValue (uint64_t Val, raw_ostream & OS)Emit the specified signed value as a VBR. To improve compression we encode
positive numbers shifted left by 1 and negative numbers negated and shifted
left by 1 with bit 0 set.
Defined at line 261 of file llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
-
unsigned int getYMMtoXMMStoreOpcode (unsigned int StoreOpcode)Defined at line 261 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
Expected hasObjCCategoryInModule (BitstreamCursor & Stream)Defined at line 261 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
Expected writeDIE (const DWARFYAML::Data & DI, uint64_t CUIndex, uint64_t AbbrevTableID, const dwarf::FormParams & Params, const DWARFYAML::Entry & Entry, raw_ostream & OS, bool IsLittleEndian)Defined at line 261 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
bool replaceIfIdentical (PHINode & PHI, PHINode & ReplPHI)Defined at line 262 of file llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp
-
Error parseAddrSpace (StringRef Str, unsigned int & AddrSpace)Attempts to parse an address space component of a specification.
Defined at line 262 of file llvm/lib/IR/DataLayout.cpp
-
GenericValue executeICMP_SGT (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 262 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
bool areLoopExitPHIsLoopInvariant (const Loop & L, const BasicBlock & ExitingBB, const BasicBlock & ExitBB)Check that all the LCSSA PHI nodes in the loop exit block have trivial
incoming values along this edge.
Defined at line 262 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
StringRef getPrettyScopeName (const DIScope * Scope)Defined at line 262 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
bool tryFoldCommutativeMathWithArgInBetween (uint64_t Const1, ArrayRef Ops, uint64_t & Loc, DIExpressionCursor & Cursor, SmallVectorImpl<uint64_t> & WorkingOps){DW_OP_constu, Const1, DW_OP_[plus, mul], DW_OP_LLVM_arg, Arg1,
DW_OP_[plus, mul], DW_OP_constu, Const2, DW_OP_[plus, mul]} ->
{DW_OP_constu, Const1 [+, *] Const2, DW_OP_[plus, mul], DW_OP_LLVM_arg,
Arg1, DW_OP_[plus, mul]}
Defined at line 262 of file llvm/lib/IR/DIExpressionOptimizer.cpp
-
bool printSymbolizedStackTrace (StringRef Argv0, void ** StackTrace, int Depth, llvm::raw_ostream & OS)Helper that launches llvm-symbolizer and symbolizes a backtrace.
Defined at line 262 of file llvm/lib/Support/Signals.cpp
-
uint64_t calculateOverlap (DWARFAddressRange A, DWARFAddressRange B)Return the number of bytes in the overlap of ranges A and B.
Defined at line 263 of file llvm/tools/llvm-dwarfdump/Statistics.cpp
-
AllocFnKind getAllocFnKind (const Value * V)Defined at line 263 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
BinaryOperator * CreateMul (Value * S1, Value * S2, const Twine & Name, ilist_iterator_w_bits InsertBefore, Value * FlagsOp)Defined at line 263 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
pair walkToAllocaAndPrependOffsetDeref (const DataLayout & DL, Value * Start, DIExpression * Expression)Walk backwards along constant GEPs and bitcasts to the base storage from
as far as possible. Prepend
with the offset and append it
with a DW_OP_deref that haes been implicit until now. Returns the walked-to
value and modified expression.
Defined at line 263 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
StackDuration mergeStackDuration (const StackDuration & Left, const StackDuration & Right)Defined at line 263 of file llvm/tools/llvm-xray/xray-stacks.cpp
-
bool isCallerPreservedOrConstPhysReg (MCRegister Reg, const MachineOperand & MO, const MachineFunction & MF, const TargetRegisterInfo & TRI, const TargetInstrInfo & TII)Defined at line 263 of file llvm/lib/CodeGen/MachineCSE.cpp
-
const SCEV * removeConstantFactors (ScalarEvolution & SE, const SCEV * T)Defined at line 263 of file llvm/lib/Analysis/Delinearization.cpp
-
basic_string computeAMDDataLayout (const Triple & TT)Defined at line 263 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
const Target * GetTarget (const char * ProgName)Defined at line 263 of file llvm/tools/llvm-mc/llvm-mc.cpp
-
bool isPrefix (unsigned int Opcode, const MCInstrInfo & MCII)Check if the instruction is a prefix.
Defined at line 264 of file llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
-
void dumpMapping (const ValueMapping & VM)Defined at line 264 of file llvm/tools/verify-uselistorder/verify-uselistorder.cpp
-
bool getLabelOffset (const MCAssembler & Asm, const MCSymbol & S, bool ReportError, uint64_t & Val)Simple getSymbolOffset helper for the non-variable case.
Defined at line 264 of file llvm/lib/MC/MCAssembler.cpp
-
void LLVMSetTargetMachineGlobalISelAbort (LLVMTargetMachineRef T, Mode)Set abort behaviour when global instruction selection fails to lower/select
an instruction.
Defined at line 264 of file llvm/lib/Target/TargetMachineC.cpp
-
Constant * getMemSetPattern16Value (MemSetPatternInst * Inst, const TargetLibraryInfo & TLI)Return a value appropriate for use with the memset_pattern16 libcall, if
possible and if we know how. (Adapted from equivalent helper in
LoopIdiomRecognize).
Defined at line 264 of file llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
-
std::optional<FloatingPointIV> maybeFloatingPointRecurrence (Loop * L, PHINode * PN)Analyze a PN to determine whether it represents a simple floating-point
induction variable, with constant fp init, increment, and exit values.
Returns a FloatingPointIV struct if matched, std::nullopt otherwise.
Defined at line 264 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
bool writeReport (LocationInfoTy & LocationInfo)Defined at line 264 of file llvm/tools/llvm-opt-report/OptReport.cpp
-
void emitRiscvTargetDef (const RecordKeeper & RK, raw_ostream & OS)Defined at line 265 of file llvm/utils/TableGen/Basic/RISCVTargetDefEmitter.cpp
-
void handlePointer (ArrayRef Content, SmallVectorImpl<TiReference> & Refs)Defined at line 265 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
Type * getValueType (Value * V)Returns the type of the given value/instruction
If it is store,
returns the type of its value operand, for Cmp - the types of the compare
operands and for insertelement - the type os the inserted operand.
Otherwise, just the type of the value is returned.
Defined at line 265 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
template <typename T>DiffOutput recordDifferences (T LHS, T RHS, basic_string Attr)Defined at line 265 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
void remarkProperty (OptimizationRemarkEmitter & ORE, const Function & F, StringRef Name, int64_t Value)Defined at line 265 of file llvm/lib/Analysis/KernelInfo.cpp
-
bool mayFoldToForm (uint8_t Form)Defined at line 265 of file llvm/utils/TableGen/X86FoldTablesEmitter.cpp
-
bool mergeIntoSinglePredecessor_v1 (Function & F)Merge basic blocks into their single predecessor, if their predecessor has a
single successor. This is the first version and does not preserve the
DominatorTree.
Defined at line 265 of file llvm/examples/IRTransforms/SimplifyCFG.cpp
-
int getSymbolNameOffset (CVRecord Sym)Defined at line 265 of file llvm/lib/DebugInfo/CodeView/RecordName.cpp
-
vector predictUseListOrder (const Module & M)Defined at line 265 of file llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
-
Value * getUnwindDestTokenHelper (Instruction * EHPad, UnwindDestMemoTy & MemoMap)Helper for getUnwindDestToken that does the descendant-ward part of
the search.
Defined at line 265 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
void check (error_code EC, basic_string Msg)Defined at line 266 of file llvm/tools/llvm-lto2/llvm-lto2.cpp
-
void getRelPos ()Extract the member filename from the command line for the [relpos] argument
associated with a, b, and i modifiers
Defined at line 266 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
bool isHandledGCPointerType (Type * T, GCStrategy * GC)Return true if this type is one which a) is a gc pointer or contains a GC
pointer and b) is of a type this code expects to encounter as a live value.
(The insertion code will assert that a type which matches (a) and not (b)
is not encountered.)
Defined at line 266 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool canTransformToMemCmp (CallInst * CI, Value * Str, uint64_t Len, const DataLayout & DL)Defined at line 266 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
Expected<DWARFVerify> getVerifyKind (opt::InputArgList & Args)Defined at line 266 of file llvm/tools/dsymutil/dsymutil.cpp
-
void checkDuplicateCPUFeatures (StringRef CPUName, ArrayRef Features, ArrayRef TuneFeatures)Defined at line 266 of file llvm/utils/TableGen/SubtargetEmitter.cpp
-
Error loadFDRLog (StringRef Data, bool IsLittleEndian, XRayFileHeader & FileHeader, std::vector<XRayRecord> & Records)Reads a log in FDR mode for version 1 of this binary format. FDR mode is
defined as part of the compiler-rt project in xray_fdr_logging.h, and such
a log consists of the familiar 32 bit XRayHeader, followed by sequences of
of interspersed 16 byte Metadata Records and 8 byte Function Records.
The following is an attempt to document the grammar of the format, which is
parsed by this function for little-endian machines. Since the format makes
use of BitFields, when we support big-endian architectures, we will need to
adjust not only the endianness parameter to llvm's RecordExtractor, but also
the bit twiddling logic, which is consistent with the little-endian
convention that BitFields within a struct will first be packed into the
least significant bits the address they belong to.
We expect a format complying with the grammar in the following pseudo-EBNF
in Version 1 of the FDR log.
FDRLog: XRayFileHeader ThreadBuffer*
XRayFileHeader: 32 bytes to identify the log as FDR with machine metadata.
Includes BufferSize
ThreadBuffer: NewBuffer WallClockTime NewCPUId FunctionSequence EOB
BufSize: 8 byte unsigned integer indicating how large the buffer is.
NewBuffer: 16 byte metadata record with Thread Id.
WallClockTime: 16 byte metadata record with human readable time.
Pid: 16 byte metadata record with Pid
NewCPUId: 16 byte metadata record with CPUId and a 64 bit TSC reading.
EOB: 16 byte record in a thread buffer plus mem garbage to fill BufSize.
FunctionSequence: NewCPUId | TSCWrap | FunctionRecord
TSCWrap: 16 byte metadata record with a full 64 bit TSC reading.
FunctionRecord: 8 byte record with FunctionId, entry/exit, and TSC delta.
In Version 2, we make the following changes:
ThreadBuffer: BufferExtents NewBuffer WallClockTime NewCPUId
FunctionSequence
BufferExtents: 16 byte metdata record describing how many usable bytes are
in the buffer. This is measured from the start of the buffer
and must always be at least 48 (bytes).
In Version 3, we make the following changes:
ThreadBuffer: BufferExtents NewBuffer WallClockTime Pid NewCPUId
FunctionSequence
EOB: *deprecated*
In Version 4, we make the following changes:
CustomEventRecord now includes the CPU data.
In Version 5, we make the following changes:
CustomEventRecord and TypedEventRecord now use TSC delta encoding similar to
what FunctionRecord instances use, and we no longer need to include the CPU
id in the CustomEventRecord.
Defined at line 266 of file llvm/lib/XRay/Trace.cpp
-
bool HasAddressTaken (const Instruction * AI, TypeSize AllocSize, Module * M, int & VisitedPHIs)Check whether a stack allocation has its address taken.
Defined at line 266 of file llvm/lib/CodeGen/StackProtector.cpp
-
hash_code hashPartialMapping (unsigned int StartIdx, unsigned int Length, const RegisterBank * RegBank)Hashing function for PartialMapping.
Defined at line 267 of file llvm/lib/CodeGen/RegisterBankInfo.cpp
-
Type * getPtrOrVecOfPtrsWithNewAS (Type * Ty, unsigned int NewAddrSpace)Defined at line 267 of file llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
-
uint64_t GetTotalNumChildren (const InlineInfo & II)Defined at line 267 of file llvm/lib/DebugInfo/GSYM/InlineInfo.cpp
-
bool enablePostRAScheduler (const TargetSubtargetInfo & ST, CodeGenOptLevel OptLevel)Defined at line 267 of file llvm/lib/CodeGen/PostRASchedulerList.cpp
-
const SUnit * CriticalPathStep (const SUnit * SU)CriticalPathStep - Return the next SUnit after SU on the bottom-up
critical path.
Defined at line 267 of file llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
-
SDValue emitConstantSizeRepmov (SelectionDAG & DAG, const X86Subtarget & Subtarget, const SDLoc & dl, SDValue Chain, SDValue Dst, SDValue Src, uint64_t Size, EVT SizeVT, Align Alignment, bool isVolatile, bool AlwaysInline, MachinePointerInfo DstPtrInfo, MachinePointerInfo SrcPtrInfo)Returns a REP MOVS instruction, possibly with a few load/stores to implement
a constant size memory copy. In some cases where we know REP MOVS is
inefficient we return an empty SDValue so the calling code can either
generate a load/store sequence or call the runtime memcpy function.
Defined at line 267 of file llvm/lib/Target/X86/X86SelectionDAGInfo.cpp
-
void PrintPercent (int64_t Num, int64_t Sum)Defined at line 268 of file llvm/lib/Analysis/AliasAnalysisEvaluator.cpp
-
bool setAlignedAllocParam (Function & F, unsigned int ArgNo)Defined at line 268 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
bool isArmMappingSymbol (const Symbol & Sym)Defined at line 268 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
uint64_t XXH3_len_0to16_64b (const uint8_t * input, size_t len, const uint8_t * secret, const uint64_t seed)Defined at line 268 of file llvm/lib/Support/xxhash.cpp
-
void reservePreviousStackSlotForValue (const Value * IncomingValue, SelectionDAGBuilder & Builder)Try to find existing copies of the incoming values in stack slots used for
statepoint spilling. If we can find a spill slot for the incoming value,
mark that slot as allocated, and reuse the same slot for this safepoint.
This helps to avoid series of loads and stores that only serve to reshuffle
values on the stack between calls.
Defined at line 268 of file llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
-
void initializeSinkingLegacyPassPassOnce (PassRegistry & Registry)Defined at line 269 of file llvm/lib/Transforms/Scalar/Sink.cpp
-
bool isFirstMacroFusibleInst (const MCInst & Inst, const MCInstrInfo & MCII)Check if the instruction is valid as the first instruction in macro fusion.
Defined at line 269 of file llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
-
void dumpCLRTokenDefinition (COFFYAML::Symbol * Sym, const object::coff_aux_clr_token * ObjCLRToken)Defined at line 269 of file llvm/tools/obj2yaml/coff2yaml.cpp
-
StringRef getGlobalTypeString (const GlobalValue & G)Defined at line 269 of file llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
-
bool isTileRegister (MachineRegisterInfo * MRI, Register Reg)Defined at line 269 of file llvm/lib/Target/X86/X86FastPreTileConfig.cpp
-
basic_string remapPath (StringRef Path, const int & ObjectPrefixMap)Defined at line 269 of file llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
-
bool mayBeVisibleThroughUnwinding (Value * V, Instruction * Start, Instruction * End)Check that V is either not accessible by the caller, or unwinding cannot
occur between Start and End.
Defined at line 269 of file llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-
Error makeStringError (const char * Msg)Defined at line 270 of file llvm/lib/IR/InlineAsm.cpp
-
basic_string getScopedName (unsigned int Scope, const std::string & Name)Defined at line 270 of file llvm/utils/TableGen/GlobalISelEmitter.cpp
-
unsigned int getRegOperandNumElts (const MCInst * MI, unsigned int ScalarSize, unsigned int OperandIndex)Defined at line 270 of file llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
-
void printRegClassOrBank (Register Reg, yaml::StringValue & Dest, const MachineRegisterInfo & RegInfo, const TargetRegisterInfo * TRI)Defined at line 270 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
template <typename T>T check (ErrorOr<T> E, basic_string Msg)Defined at line 270 of file llvm/tools/llvm-lto2/llvm-lto2.cpp
-
StringRef getProbeFNameForGUID (const GUIDProbeFunctionMap & GUID2FuncMAP, uint64_t GUID)Defined at line 270 of file llvm/lib/MC/MCPseudoProbe.cpp
-
bool AreEquivalentAddressValues (const Value * A, const Value * B)Test if A and B will obviously have the same value.
This includes recognizing that %t0 and %t1 will have the same
value in code like this:
Code
%t0 = getelementptr \@a, 0, 3 store i32 0, i32* %t0 %t1 = getelementptr \@a, 0, 3 %t2 = load i32* %t1Defined at line 270 of file llvm/lib/Analysis/Loads.cpp
-
bool TypeContainsPointers (Type * ty)Defined at line 270 of file llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
-
const Value * getPointerOperand (const Instruction * I, bool AllowVolatile)Get pointer operand of memory accessing instruction. If
is
not a memory accessing instruction, return nullptr. If
is set to false and the instruction is volatile, return nullptr.
Defined at line 270 of file llvm/lib/Transforms/IPO/AttributorAttributes.cpp
-
template <typename NListType>void writeNListEntry (const SymbolEntry & SE, bool IsLittleEndian, char *& Out, uint32_t Nstrx)Defined at line 271 of file llvm/lib/ObjCopy/MachO/MachOWriter.cpp
-
basic_string getIncludePath (const Record * R)This is expensive and slow.
Defined at line 271 of file llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
-
Error parseV5DirFileTables (const DWARFDataExtractor & DebugLineData, uint64_t * OffsetPtr, const dwarf::FormParams & FormParams, const DWARFContext & Ctx, const DWARFUnit * U, DWARFDebugLine::ContentTypeTracker & ContentTypes, std::vector<DWARFFormValue> & IncludeDirectories, std::vector<DWARFDebugLine::FileNameEntry> & FileNames)Defined at line 271 of file llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
-
AllocFnKind getAllocFnKind (const Function * F)Defined at line 272 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
uint64_t getFragmentOffsetInBits (const DIExpression & Expr)Defined at line 272 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
void debugValue (const ValueMapping & M, unsigned int I, StringRef Desc)Defined at line 272 of file llvm/tools/verify-uselistorder/verify-uselistorder.cpp
-
Expected<uint8_t> parseVisibilityType (StringRef VisType)Defined at line 272 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
void CreateSigAltStack ()Defined at line 272 of file llvm/lib/Support/Unix/Signals.inc
-
basic_string getColor (const GraphDiffRenderer::GraphT::VertexValueType & V, const GraphDiffRenderer::GraphT & G, ColorHelper H, StatType T)Defined at line 272 of file llvm/tools/llvm-xray/xray-graph-diff.cpp
-
bool getSymTab (Value * V, ValueSymbolTable *& ST)Defined at line 272 of file llvm/lib/IR/Value.cpp
-
bool simplifyFunctionCFGImpl (Function & F, const TargetTransformInfo & TTI, DominatorTree * DT, const SimplifyCFGOptions & Options)Defined at line 272 of file llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
-
void collectStatsForDie (DWARFDie Die, const std::string & FnPrefix, const std::string & VarPrefix, uint64_t BytesInScope, uint32_t InlineDepth, StringMap<PerFunctionStats> & FnStatMap, GlobalStats & GlobalStats, LocationStats & LocStats, AbstractOriginVarsTy * AbstractOriginVariables)Collect debug info quality metrics for one DIE.
Defined at line 272 of file llvm/tools/llvm-dwarfdump/Statistics.cpp
-
template <typename IteratorTy>void PrintValueSet (raw_ostream & OS, IteratorTy Begin, IteratorTy End)Debugging aid -- prints a [Begin, End) range of values.
Defined at line 273 of file llvm/lib/IR/SafepointIRVerifier.cpp
-
OMPScheduleType computeOpenMPScheduleType (ScheduleKind ClauseKind, bool HasChunks, bool HasSimdModifier, bool HasMonotonicModifier, bool HasNonmonotonicModifier, bool HasOrderedClause, bool HasDistScheduleChunks)Determine the schedule type using schedule and ordering clause arguments.
Defined at line 273 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
Constant * rebuildZeroUpperCst (const Constant * C, unsigned int NumBits, unsigned int , unsigned int ScalarBitWidth)Defined at line 273 of file llvm/lib/Target/X86/X86FixupVectorConstants.cpp
-
StatCollection getSymbolStats (const SymbolGroup & SG, StatCollection & CumulativeStats)Defined at line 273 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
Register isCopyOfBundle (const MachineInstr & FirstMI, Register Reg, const TargetInstrInfo & TII)Check for a copy bundle as formed by SplitKit.
Defined at line 273 of file llvm/lib/CodeGen/InlineSpiller.cpp
-
void attemptToFoldSymbolOffsetDifference (const MCAssembler * Asm, bool InSet, const MCSymbol *& A, const MCSymbol *& B, int64_t & Addend)Helper method for
Defined at line 273 of file llvm/lib/MC/MCExpr.cpp
-
basic_string getMangledRootDefName (StringRef DefOperandName)Defined at line 274 of file llvm/utils/TableGen/GlobalISelEmitter.cpp
-
xmlNodePtr getDominantNode (xmlNodePtr Node1, xmlNodePtr Node2)Given two nodes, return the one with the higher priority namespace.
Defined at line 274 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
void BM_Mustache_LargeOutputString (benchmark::State & state)Tests the performance of the underlying buffer management when generating a
very large output.
Defined at line 274 of file llvm/benchmarks/Mustache.cpp
-
unsigned int getLAScore (VPValue * V1, VPValue * V2, unsigned int MaxLevel, VPInterleavedAccessInfo & IAI)Implements getLAScore from Listing 7 in the paper.
Traverses and compares operands of V1 and V2 to MaxLevel.
Defined at line 274 of file llvm/lib/Transforms/Vectorize/VPlanSLP.cpp
-
void setPGOOptions (TargetMachine & TM)Function to set PGO options on TargetMachine based on command line flags.
Defined at line 274 of file llvm/tools/llc/llc.cpp
-
void handleDiagnostics ( Severity, const char * Msg, void * )Defined at line 274 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
void emitGetNamedOperandIdx (raw_ostream & OS, const int & OperandMap, unsigned int MaxOperandNo, unsigned int NumOperandNames)Defined at line 274 of file llvm/utils/TableGen/InstrInfoEmitter.cpp
-
template <typename AARGetterT>void addMemoryAttrs (const SCCNodeSet & SCCNodes, AARGetterT && AARGetter, SmallPtrSet<Function *, 8> & Changed)Deduce readonly/readnone/writeonly attributes for the SCC.
Defined at line 274 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
void discoverTypeIndices (ArrayRef Content, TypeLeafKind Kind, SmallVectorImpl<TiReference> & Refs)Defined at line 274 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
void initializeReplaceWithVeclibLegacyPassOnce (PassRegistry & Registry)Defined at line 275 of file llvm/lib/CodeGen/ReplaceWithVeclib.cpp
-
bool setAllocatedPointerParam (Function & F, unsigned int ArgNo)Defined at line 275 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void getCountParam ()Extract the parameter from the command line for the [count] argument
associated with the N modifier
Defined at line 275 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
ResultRow getStats (MutableArrayRef Timings)Defined at line 275 of file llvm/tools/llvm-xray/xray-account.cpp
-
void loadCSE (Loop * L, DominatorTree & DT, ScalarEvolution & SE, LoopInfo & LI, BatchAAResults & BAA, function_ref GetMSSA)Defined at line 275 of file llvm/lib/Transforms/Utils/LoopUnroll.cpp
-
size_t llvm_blake3_compress_subtree_wide (const uint8_t * input, size_t input_len, const uint32_t[8] key, uint64_t chunk_counter, uint8_t flags, uint8_t * out, _Bool use_tbb)The wide helper function returns (writes out) an array of chaining values
and returns the length of that array. The number of chaining values returned
is the dynamically detected SIMD degree, at most MAX_SIMD_DEGREE. Or fewer,
if the input is shorter than that many chunks. The reason for maintaining a
wide array of chaining values going back up the tree, is to allow the
implementation to hash as many parents in parallel as possible.
As a special case when the SIMD degree is 1, this function will still return
at least 2 outputs. This guarantees that this function doesn't perform the
root compression. (If it did, it would use the wrong flags, and also we
wouldn't be able to implement extendable output.) Note that this function is
not used when the whole input is only 1 chunk long; that's a different
codepath.
Why not just have the caller split the input on the first update(), instead
of implementing this special rule? Because we don't want to limit SIMD or
multi-threading parallelism for that update().
Defined at line 275 of file llvm/lib/Support/BLAKE3/blake3.c
-
bool fixIrreducible (Cycle & C, CycleInfo & CI, DominatorTree & DT, LoopInfo * LI)Given a set of blocks and headers in an irreducible SCC, convert it into a
natural loop. Also insert this new loop at its appropriate place in the
hierarchy of loops.
Defined at line 275 of file llvm/lib/Transforms/Utils/FixIrreducible.cpp
-
bool checkFnAllocKind (const Value * V, AllocFnKind Wanted)Defined at line 276 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
const char * getRegName (MCRegister Reg)Defined at line 276 of file llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
-
optional parseFnAttrAsInteger (Function & F, StringRef Name)Defined at line 276 of file llvm/lib/Analysis/KernelInfo.cpp
-
bool definedInRegion (const SetVector<BasicBlock *> & Blocks, Value * V)definedInRegion - Return true if the specified value is defined in the
extracted region.
Defined at line 276 of file llvm/lib/Transforms/Utils/CodeExtractor.cpp
-
unsigned int getNumElements (Type * Ty)Defined at line 276 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
template <typename T>DiffOutput recordDifferences (const std::vector<T> & LHS, const std::vector<T> & RHS, basic_string Attr)Defined at line 276 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
Instruction * CreateNeg (Value * S1, const Twine & Name, ilist_iterator_w_bits InsertBefore, Value * FlagsOp)Defined at line 276 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
MachineMemOperand * getStackAlignedMMO (SDValue StackPtr, MachineFunction & MF, bool isObjectScalable)Helper function that generates an MMO that considers the alignment of the
stack, and the size of the stack object
Defined at line 276 of file llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
-
GenericValue executeICMP_ULE (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 276 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
bool isNoopPtrIntCastPair (const Operator * I2P, const DataLayout & DL, const TargetTransformInfo * TTI)Check whether that's no-op pointer bicast using a pair of
`ptrtoint`/`inttoptr` due to the missing no-op pointer bitcast over
different address spaces.
Defined at line 276 of file llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
-
bool getSymbolOffsetImpl (const MCAssembler & Asm, const MCSymbol & S, bool ReportError, uint64_t & Val)Defined at line 276 of file llvm/lib/MC/MCAssembler.cpp
-
Error parseAddrSpaceAndName (StringRef Str, unsigned int & AddrSpace, StringRef & AddrSpaceName)Attempts to parse an address space component of a specification allowing
name to be specified as well. The input is expected to be of the form
<number
> '(' name ' )', with the name otional and the number is optional as
well.
Defined at line 276 of file llvm/lib/IR/DataLayout.cpp
-
void testBlobsParallel (ObjectStore & Read1, ObjectStore & Read2, ObjectStore & Write1, ObjectStore & Write2, uint64_t BlobSize)Common test functionality for creating blobs in parallel. You can vary which
cas instances are the same or different, and the size of the created blobs.
Defined at line 276 of file llvm/unittests/CAS/ObjectStoreTest.cpp
-
template <class BrSelInst>bool handleBrSelExpect (BrSelInst & BSI)Handle both BranchInst and SelectInst.
Defined at line 276 of file llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
-
bool sinkScalarOperands (VPlan & Plan)Defined at line 276 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
std::pair<Value *, APInt> getMask (Value * WideMask, unsigned int Factor, VectorType * LeafValueTy)Defined at line 277 of file llvm/lib/CodeGen/InterleavedAccessPass.cpp
-
int usage ()Defined at line 277 of file llvm/tools/llvm-lto2/llvm-lto2.cpp
-
LLT getTypeFromTypeIdx (const MachineInstr & MI, const MachineRegisterInfo & MRI, unsigned int OpIdx, unsigned int TypeIdx)Helper function to get LLT for the given type index.
Defined at line 277 of file llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
-
basic_string getStageMaskString (ArrayRef<const Record *> Recs)Return a string representation of valid shader stag information denoted
by input records
Parameters
Recs A vector of records of TableGen Stages recordsReturns
std::string string representation of stages mask string
predicated by DXIL Version. E.g.,
{{{1, 0}, Mask1}, {{1, 2}, Mask2}, ...}
Defined at line 277 of file llvm/utils/TableGen/DXILEmitter.cpp
-
FragCalcResult calculateFragment (DILocalVariable * Variable, uint64_t NewStorageSliceOffsetInBits, uint64_t NewStorageSliceSizeInBits, optional StorageFragment, optional CurrentFragment, DIExpression::FragmentInfo & Target)Defined at line 277 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
LoopUnrollResult tryToUnrollAndJamLoop (Loop * L, DominatorTree & DT, LoopInfo * LI, ScalarEvolution & SE, const TargetTransformInfo & TTI, AssumptionCache & AC, DependenceInfo & DI, OptimizationRemarkEmitter & ORE, int OptLevel)Defined at line 277 of file llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
-
LLVMBool LLVMGetSectionContainsSymbol (LLVMSectionIteratorRef SI, LLVMSymbolIteratorRef Sym)Defined at line 278 of file llvm/lib/Object/Object.cpp
-
const char * stringify (const MachineInstr * MI, std::string & S)Defined at line 278 of file llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp
-
unsigned int getMaxShiftAmount (const APInt & MaxValue, unsigned int BitWidth)Defined at line 278 of file llvm/lib/Support/KnownBits.cpp
-
template <typename T>void printStackObjectDbgInfo (const MachineFunction::VariableDbgInfo & DebugVar, T & Object, ModuleSlotTracker & MST)Defined at line 278 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
APInt constructOperandMask (ArrayRef<int64_t> Indices)Used by function `processSTIPredicate` to construct a mask of machine
instruction operands.
Defined at line 278 of file llvm/utils/TableGen/Common/CodeGenSchedule.cpp
-
LogicalResult readLine (std::FILE * In, SmallVectorImpl<char> & Out)Tries to read a line up to and including
.
If failing, feof(), ferror(), or shutdownRequested() will be set.
Defined at line 278 of file llvm/lib/Support/LSP/Transport.cpp
-
basic_string getDescription (const Region & R)Defined at line 279 of file llvm/lib/Analysis/RegionPass.cpp
-
NodeArrayNode * nodeListToNodeArray (ArenaAllocator & Arena, NodeList * Head, size_t Count)Defined at line 279 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
SourcePred validInsertValueIndex ()Defined at line 279 of file llvm/lib/FuzzMutate/Operations.cpp
-
bool checkFnAllocKind (const Function * F, AllocFnKind Wanted)Defined at line 280 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
bool useStringTable (bool Thin, StringRef Name)Defined at line 280 of file llvm/lib/Object/ArchiveWriter.cpp
-
basic_string stringify (const omp::Clause & C)Defined at line 280 of file llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
-
void AddLines (uint64_t FuncAddr, uint32_t FileIdx, FunctionInfo & FI)Defined at line 280 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
bool isRequiredByABISymbol (const Object & Obj, const Symbol & Sym)Check if the symbol should be preserved because it is required by ABI.
Defined at line 280 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
bool applyDebugify (Function & F, DebugifyMode Mode, DebugInfoPerPass * DebugInfoBeforePass, StringRef NameOfWrappedPass)Defined at line 280 of file llvm/lib/Transforms/Utils/Debugify.cpp
-
void annotateDereferenceableBytes (CallInst * CI, ArrayRef ArgNos, uint64_t DereferenceableBytes)Defined at line 280 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
Expected<LLTCodeGen> getInstResultType (const TreePatternNode & Dst, const CodeGenTarget & Target)===- GlobalISelEmitter class --------------------------------------------===//
Defined at line 280 of file llvm/utils/TableGen/GlobalISelEmitter.cpp
-
bool mayFoldFromLeftToRight (uint8_t LHS, uint8_t RHS)Defined at line 280 of file llvm/utils/TableGen/X86FoldTablesEmitter.cpp
-
void getAllocatableSetForRC (const MachineFunction & MF, const TargetRegisterClass * RC, BitVector & R)getAllocatableSetForRC - Toggle the bits that represent allocatable
registers for the specific register class.
Defined at line 281 of file llvm/lib/CodeGen/TargetRegisterInfo.cpp
-
uint64_t XXH3_mix16B (const uint8_t * input, const uint8_t * secret, uint64_t seed)Defined at line 281 of file llvm/lib/Support/xxhash.cpp
-
bool isTileDef (MachineRegisterInfo * MRI, MachineInstr & MI)Defined at line 281 of file llvm/lib/Target/X86/X86FastPreTileConfig.cpp
-
bool containsGCPtrType (Type * Ty, GCStrategy * GC)Returns true if this type contains a gc pointer whether we know how to
handle that type or not.
Defined at line 281 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
template <class ELFT>optional getImageBaseAddress (const object::ELFFile<ELFT> & ELFFile)Determine the virtual address that is considered the base address of an ELF
object file.
The base address of an ELF file is the "p_vaddr" of the first program
header whose "p_type" is PT_LOAD.
Parameters
ELFFile An ELF object file we will search.Defined at line 281 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
lto_module_t lto_module_create_from_memory_with_path (const void * mem, size_t length, const char * path)Loads an object file from memory with an extra path argument.
Returns NULL on error (check lto_get_error_message() for details).
Defined at line 281 of file llvm/tools/lto/lto.cpp
-
ParseRet tryParseAlign (StringRef & ParseString, Align & Alignment)Looks into the
<parameters
> part of the mangled name in search
of a valid 'aligned' clause. The function should be invoked
after parsing a parameter via `tryParseParameter`.
On success, it removes the parsed parameter from `ParseString`,
sets `PKind` to the correspondent enum value, sets `StepOrPos`
accordingly, and return success. On a syntax error, it return a
parsing error. If nothing is parsed, it returns std::nullopt.
Defined at line 281 of file llvm/lib/IR/VFABIDemangler.cpp
-
ItaniumManglingCanonicalizer::Key parseMaybeMangledName (CanonicalizingDemangler & Demangler, StringRef Mangling, bool CreateNewNodes)Defined at line 281 of file llvm/lib/ProfileData/ItaniumManglingCanonicalizer.cpp
-
void printMasking (raw_ostream & OS, const MCInst * MI, const MCInstrInfo & MCII)Wraps the destination register name with AVX512 mask/maskz filtering.
Defined at line 281 of file llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
-
unsigned int HashMachineInstr (const MachineInstr & MI)HashMachineInstr - Compute a hash value for MI and its operands.
Defined at line 281 of file llvm/lib/CodeGen/BranchFolding.cpp
-
template <typename AliasAnalysisType>bool instructionClobbersQuery (const MemoryDef * MD, const MemoryLocation & UseLoc, const Instruction * UseInst, AliasAnalysisType & AA)Defined at line 281 of file llvm/lib/Analysis/MemorySSA.cpp
-
void LLVMSetTargetMachineMachineOutliner (LLVMTargetMachineRef T, LLVMBool Enable)Enable the MachineOutliner pass.
Defined at line 282 of file llvm/lib/Target/TargetMachineC.cpp
-
bool setAllocSize (Function & F, unsigned int ElemSizeArg, optional NumElemsArg)Defined at line 282 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
basic_string getPCMFile (const DWARFDie & CUDie, int * ObjectPrefixMap)Defined at line 282 of file llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.cpp
-
basic_string computeRISCVDataLayout (const Triple & TT, StringRef ABIName)Defined at line 282 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
optional getDerefOffsetInBytes (const DIExpression * DIExpr)Extract the offset used in
Returns std::nullopt if the expression
doesn't explicitly describe a memory location with DW_OP_deref or if the
expression is too complex to interpret.
Defined at line 282 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
template <typename T>void executeCommand (StringRef ModuleName, const T & ModuleSpec, Command Cmd, StringRef Symbol, uint64_t Offset, uint64_t AdjustVMA, bool ShouldInline, OutputStyle Style, LLVMSymbolizer & Symbolizer, DIPrinter & Printer)Defined at line 282 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
bool CleanupConstantGlobalUsers (GlobalVariable * GV, const DataLayout & DL)We just marked GV constant. Loop over all users of the global, cleaning up
the obvious ones. This is largely just a quick scan over the use list to
clean up the easy and obvious cruft. This returns true if it made a change.
Defined at line 282 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
int run (int argc, char ** argv)Defined at line 282 of file llvm/tools/llvm-lto2/llvm-lto2.cpp
-
void linkComponents ()Defined at line 283 of file llvm/tools/lli/lli.cpp
-
unique_ptr GetOutputStream (StringRef Path, OpenFlags Flags)Defined at line 283 of file llvm/tools/llvm-mc/llvm-mc.cpp
-
void debugUserMismatch (const ValueMapping & L, const ValueMapping & R, unsigned int I)Defined at line 283 of file llvm/tools/verify-uselistorder/verify-uselistorder.cpp
-
void getSectionsAndSymbols (MachOObjectFile * MachOObj, int & Sections, int & Symbols, SmallVectorImpl<uint64_t> & FoundFns, uint64_t & BaseSegmentAddress)Defined at line 283 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void parseArgs (int argc, char ** argv)Defined at line 283 of file llvm/tools/llvm-cgdata/llvm-cgdata.cpp
-
bool shouldBeDeferred (Function * Caller, TargetTransformInfo & CalleeTTI, InlineCost IC, int & TotalSecondaryCost, function_ref<InlineCost (CallBase &)> GetInlineCost)Return true if inlining of CB can block the caller from being
inlined which is proved to be more beneficial.
is the
estimated inline cost associated with callsite
will be set to the estimated cost of inlining the
caller if
is suppressed for inlining.
Defined at line 283 of file llvm/lib/Analysis/InlineAdvisor.cpp
-
DriverConfig parseArgs (int argc, char *const * argv)Defined at line 283 of file llvm/tools/llvm-ifs/llvm-ifs.cpp
-
LLVMRelocationIteratorRef LLVMGetRelocations (LLVMSectionIteratorRef Section)Section Relocation iterators
Defined at line 284 of file llvm/lib/Object/Object.cpp
-
basic_string formatWithCommas (unsigned long long Value)Utility function to format numbers with commas.
Defined at line 284 of file llvm/lib/Object/OffloadBundle.cpp
-
basic_string stringify (const omp::DirectiveWithClauses & DWC)Defined at line 284 of file llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
-
unique_ptr ParsePrimary ()primary
::= identifierexpr
::= numberexpr
::= parenexpr
Defined at line 284 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
InstructionCost getOutliningBenefit (ArrayRef Region, TargetTransformInfo & TTI)Get the benefit score of outlining
Defined at line 284 of file llvm/lib/Transforms/IPO/HotColdSplitting.cpp
-
bool is64BitKind (Kind Kind)Defined at line 284 of file llvm/lib/Object/ArchiveWriter.cpp
-
void reorderSubVector (MVT VT, SmallVectorImpl<Value *> & TransposedMatrix, ArrayRef<Value *> Vec, ArrayRef<int> VPShuf, unsigned int VecElems, unsigned int Stride, int & Builder)For VecElems = 64
Invec[0] - |0|3|6|9 | TransposedMatrix[0] - |0|1|2 |3 |
Invec[1] - |1|4|7|10| => TransposedMatrix[1] - |4|5|6 |7 |
Invec[2] - |2|5|8|11| TransposedMatrix[2] - |8|9|10|11|
Defined at line 284 of file llvm/lib/Target/X86/X86InterleavedAccess.cpp
-
bool RegisterCrashPrinter ()Defined at line 285 of file llvm/lib/Support/PrettyStackTrace.cpp
-
FixedVectorType * getWidenedType (Type * ScalarTy, unsigned int VF)Defined at line 285 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool isNoopBitcast (Type * T1, Type * T2, const TargetLoweringBase & TLI)Defined at line 285 of file llvm/lib/CodeGen/Analysis.cpp
-
DiffOutput recordDifferences (iterator_range LHS, iterator_range RHS, basic_string Attr)Defined at line 285 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
void setMemoryPhiValueForBlock (MemoryPhi * MP, const BasicBlock * BB, MemoryAccess * NewDef)Set every incoming edge {BB, MP->getBlock()} of MemoryPhi MP to NewDef.
Defined at line 285 of file llvm/lib/Analysis/MemorySSAUpdater.cpp
-
bool isConvergenceCtrlMachineOp (SDValue Op)Defined at line 285 of file llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
-
Error InitDebuggingDir (PerfState & State)Defined at line 285 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
bool hasInheritedNs (xmlNodePtr Node)Checks if this Node's namespace is inherited or one it defined itself.
Defined at line 286 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
bool definedInCaller (const SetVector<BasicBlock *> & Blocks, Value * V)definedInCaller - Return true if the specified value is defined in the
function being code extracted, but not in the region being extracted.
These values must be passed in as live-ins to the function.
Defined at line 286 of file llvm/lib/Transforms/Utils/CodeExtractor.cpp
-
template <>std::size_t GetValueForStack<AggregationType::TOTAL_TIME> (const StackTrieNode * Node)When computing total time spent in a stack, we're adding the timings from
its callees and the timings from when it was a leaf.
Defined at line 286 of file llvm/tools/llvm-xray/xray-stacks.cpp
-
void DisambiguateGlobalSymbols (Module & M)Give anonymous global values names.
Defined at line 286 of file llvm/tools/bugpoint/Miscompilation.cpp
-
bool processICmp (ICmpInst * Cmp, LazyValueInfo * LVI)Defined at line 286 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
template <typename Segment, typename Section>Error parseSegmentLoadCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, SmallVectorImpl<const char *> & Sections, bool & IsPageZeroSegment, uint32_t LoadCommandIndex, const char * CmdName, uint64_t SizeOfHeaders, std::list<MachOElement> & Elements)Parses LC_SEGMENT or LC_SEGMENT_64 load command, adds addresses of all
sections to
Parameters
Sections, and optionally setsIsPageZeroSegment to true.Defined at line 286 of file llvm/lib/Object/MachOObjectFile.cpp
-
bool splitLoopBound (Loop & L, DominatorTree & DT, LoopInfo & LI, ScalarEvolution & SE, LPMUpdater & U)Defined at line 286 of file llvm/lib/Transforms/Scalar/LoopBoundSplit.cpp
-
LLVMTargetDataRef LLVMCreateTargetDataLayout (LLVMTargetMachineRef T)Create a DataLayout based on the targetMachine.
Defined at line 287 of file llvm/lib/Target/TargetMachineC.cpp
-
void getArchive ()Get the archive file name from the command line
Defined at line 287 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
bool declaresCoroEarlyIntrinsics (const Module & M)Defined at line 287 of file llvm/lib/Transforms/Coroutines/CoroEarly.cpp
-
Error readFileAndProcessRemarks (StringRef InputFileName, StringMap<InstCountAndStackSize> & FuncNameToSizeInfo)Process all of the size-related remarks in a file.
Parameters
InputFileName [in] - Name of file to read from.FuncNameToSizeInfo [in,out] - Maps function names to relevant size info.Defined at line 287 of file llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
-
void printDarwinSegmentSizes (MachOObjectFile * MachO)Print the summary sizes of the standard Mach-O segments in
This is when used when
is berkeley with a Mach-O file and
produces the same output as darwin's size(1) default output.
Defined at line 287 of file llvm/tools/llvm-size/llvm-size.cpp
-
CallBase & versionCallSiteWithCond (CallBase & CB, Value * Cond, MDNode * BranchWeights)Predicate and clone the given call site.
This function creates an if-then-else structure at the location of the call
site. The "if" condition is specified by `Cond`.
The original call site is moved into the "else" block, and a clone of the
call site is placed in the "then" block. The cloned instruction is returned.
For example, the call instruction below:
orig_bb:
%t0 = call i32 %ptr()
...
Is replace by the following:
orig_bb:
%cond = Cond
br i1 %cond, %then_bb, %else_bb
then_bb:
; The clone of the original call instruction is placed in the "then"
; block. It is not yet promoted.
%t1 = call i32 %ptr()
br merge_bb
else_bb:
; The original call instruction is moved to the "else" block.
%t0 = call i32 %ptr()
br merge_bb
merge_bb:
; Uses of the original call instruction are replaced by uses of the phi
; node.
%t2 = phi i32 [ %t0, %else_bb ], [ %t1, %then_bb ]
...
A similar transformation is performed for invoke instructions. However,
since invokes are terminating, more work is required. For example, the
invoke instruction below:
orig_bb:
%t0 = invoke %ptr() to label %normal_dst unwind label %unwind_dst
Is replace by the following:
orig_bb:
%cond = Cond
br i1 %cond, %then_bb, %else_bb
then_bb:
; The clone of the original invoke instruction is placed in the "then"
; block, and its normal destination is set to the "merge" block. It is
; not yet promoted.
%t1 = invoke i32 %ptr() to label %merge_bb unwind label %unwind_dst
else_bb:
; The original invoke instruction is moved into the "else" block, and
; its normal destination is set to the "merge" block.
%t0 = invoke i32 %ptr() to label %merge_bb unwind label %unwind_dst
merge_bb:
; Uses of the original invoke instruction are replaced by uses of the
; phi node, and the merge block branches to the normal destination.
%t2 = phi i32 [ %t0, %else_bb ], [ %t1, %then_bb ]
br %normal_dst
An indirect musttail call is processed slightly differently in that:
1. No merge block needed for the orginal and the cloned callsite, since
either one ends the flow. No phi node is needed either.
2. The return statement following the original call site is duplicated too
and placed immediately after the cloned call site per the IR convention.
For example, the musttail call instruction below:
orig_bb:
%t0 = musttail call i32 %ptr()
...
Is replaced by the following:
cond_bb:
%cond = Cond
br i1 %cond, %then_bb, %orig_bb
then_bb:
; The clone of the original call instruction is placed in the "then"
; block. It is not yet promoted.
%t1 = musttail call i32 %ptr()
ret %t1
orig_bb:
; The original call instruction stays in its original block.
%t0 = musttail call i32 %ptr()
ret %t0
Defined at line 287 of file llvm/lib/Transforms/Utils/CallPromotionUtils.cpp
-
ConstantRange makeExactMulNUWRegion (const APInt & V)Exact mul nuw region for single element RHS.
Defined at line 288 of file llvm/lib/IR/ConstantRange.cpp
-
WasmLimits readLimits (WasmObjectFile::ReadContext & Ctx)Defined at line 288 of file llvm/lib/Object/WasmObjectFile.cpp
-
DenseMap predictUseListOrder (const Module * M)Defined at line 288 of file llvm/lib/IR/AsmWriter.cpp
-
void saveFilteredNewMIBNodes (std::vector<Metadata *> & NewMIBNodes, std::vector<Metadata *> & SavedMIBNodes, unsigned int CallerContextLength, uint64_t TotalBytes, uint64_t ColdBytes, bool BuiltFromExistingMetadata)Copy over some or all of NewMIBNodes to the SavedMIBNodes vector, depending
on options that enable filtering out some NotCold contexts.
Defined at line 288 of file llvm/lib/Analysis/MemoryProfileInfo.cpp
-
void LLVMDisposeRelocationIterator (LLVMRelocationIteratorRef RI)Defined at line 289 of file llvm/lib/Object/Object.cpp
-
BinaryOperator * LowerNegateToMultiply (Instruction * Neg)Replace 0-X with X*-1.
Defined at line 289 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
void indirectGlobals (GlobalVariable * IndirectionTable, SmallVector ToIndirect)Defined at line 289 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
void buildPartialUnswitchConditionalBranch (BasicBlock & BB, ArrayRef Invariants, bool Direction, BasicBlock & UnswitchedSucc, BasicBlock & NormalSucc, bool InsertFreeze, const Instruction * I, AssumptionCache * AC, const DominatorTree & DT, const BranchInst & ComputeProfFrom)Copy a set of loop invariant values
and insert them at the
end of
and conditionally branch on the copied condition. We only
branch on a single value.
We attempt to estimate the profile of the resulting conditional branch from
which is the original conditional branch we're
unswitching.
When
is true, the
form a disjunction, and the
branch conditioned on it exits the loop on the "true" case. When
is false, the
form a conjunction and the branch
exits on the "false" case.
Defined at line 289 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
int getAddrOffset (const MachineInstr * MI)Defined at line 290 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
void addUsedSymbolToPreservedGUID (const lto::InputFile & File, int & PreservedGUID)Defined at line 290 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
bool lookupCandidateBaseReg (Register BaseReg, int64_t BaseOffset, int64_t FrameSizeAdjust, int64_t LocalFrameOffset, const MachineInstr & MI, const TargetRegisterInfo * TRI)Defined at line 290 of file llvm/lib/CodeGen/LocalStackSlotAllocation.cpp
-
bool isNamespaceLikeEntry (const DWARFDebugInfoEntry * Entry)Defined at line 290 of file llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
-
bool getPreviousInstr (int & I, MachineBasicBlock & MBB)getPreviousInstr - Given a reference to an instruction in a basic
block, return a reference to the previous instruction in the block,
wrapping around to the last instruction of the block if the block
branches to itself.
Defined at line 290 of file llvm/lib/Target/X86/X86FixupLEAs.cpp
-
GenericValue executeICMP_SLE (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 290 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
optional hexagonAttrToFeatureString (unsigned int Attr)Defined at line 290 of file llvm/lib/Object/ELFObjectFile.cpp
-
bool propagateLocalCopies (MachineBasicBlock * MBB)Defined at line 290 of file llvm/lib/CodeGen/MIRCanonicalizerPass.cpp
-
bool setAllocFamily (Function & F, StringRef Family)Defined at line 291 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void AddInline (uint64_t FuncAddr, uint64_t FuncSize, FunctionInfo & FI)Defined at line 291 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
LLVMBool LLVMTargetMachineEmit (LLVMTargetMachineRef T, LLVMModuleRef M, raw_pwrite_stream & OS, codegen, char ** ErrorMessage)Defined at line 291 of file llvm/lib/Target/TargetMachineC.cpp
-
Expected<DsymutilOptions> getOptions (opt::InputArgList & Args)Parses the command line options into the LinkOptions struct and performs
some sanity checking. Returns an error in case the latter fails.
Defined at line 291 of file llvm/tools/dsymutil/dsymutil.cpp
-
bool hasInheritedDefaultNs (xmlNodePtr Node)Check if this Node's namespace is a default namespace that it inherited, as
opposed to defining itself.
Defined at line 292 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
StructType * getOrCreateElementStruct (Type * ElemType, StringRef Name)Defined at line 292 of file llvm/lib/Analysis/DXILResource.cpp
-
bool isNonVolatileLoad (const Instruction * I)Defined at line 292 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
IdentifyingPassPtr applyDisable (IdentifyingPassPtr PassID, bool Override)Allow standard passes to be disabled by command line options. This supports
simple binary flags that either suppress the pass or do nothing.
i.e. -disable-mypass=false has no effect.
These should be converted to boolOrDefault in order to use applyOverride.
Defined at line 292 of file llvm/lib/CodeGen/TargetPassConfig.cpp
-
Twine truncateString (const StringRef & S, size_t n)Defined at line 293 of file llvm/tools/llvm-xray/xray-graph-diff.cpp
-
LLVMBool LLVMIsRelocationIteratorAtEnd (LLVMSectionIteratorRef Section, LLVMRelocationIteratorRef RI)Defined at line 293 of file llvm/lib/Object/Object.cpp
-
template <typename T>void printStructField (LinePrinter & P, StringRef Label, T Value)Defined at line 293 of file llvm/tools/llvm-pdbutil/ExplainOutputStyle.cpp
-
bool isUnneededSymbol (const Symbol & Sym)Defined at line 293 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
void printRegFlags (Register Reg, int & RegisterFlags, const MachineFunction & MF, const TargetRegisterInfo * TRI)Defined at line 293 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
basic_string formatCookieKind (FrameCookieKind Kind)Defined at line 293 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
unsigned int getFullVectorNumberOfElements (const TargetTransformInfo & TTI, Type * Ty, unsigned int Sz)Returns the number of elements of the given type
not less than
which forms type, which splits by
into whole vector types during
legalization.
Defined at line 293 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
ShapeT getShape (MachineRegisterInfo * MRI, Register TileReg)Defined at line 293 of file llvm/lib/Target/X86/X86FastPreTileConfig.cpp
-
const char * getImplicitLoaderSectionSymName (int SymIndx)From the XCOFF specification: there are five implicit external symbols, one
each for the .text, .data, .bss, .tdata, and .tbss sections. These symbols
are referenced from the relocation table entries using symbol table index
values 0, 1, 2, -1, and -2, respectively.
Defined at line 293 of file llvm/tools/llvm-readobj/XCOFFDumper.cpp
-
uint64_t XXH3_len_17to128_64b (const uint8_t * input, size_t len, const uint8_t * secret, const uint64_t seed)For mid range keys, XXH3 uses a Mum-hash variant.
Defined at line 293 of file llvm/lib/Support/xxhash.cpp
-
template <typename FatArchTy>Error writeUniversalArchsToStream (fat_header FatHeader, ArrayRef Slices, raw_ostream & Out)Defined at line 293 of file llvm/lib/Object/MachOUniversalWriter.cpp
-
bool isCompatibleReplacement (const Instruction * I, const Use & Operand, const Value * Replacement)Defined at line 293 of file llvm/lib/FuzzMutate/RandomIRBuilder.cpp
-
void initializeShrinkWrapLegacyPassOnce (PassRegistry & Registry)Defined at line 294 of file llvm/lib/CodeGen/ShrinkWrap.cpp
-
bool applyDebugify (Module & M, DebugifyMode Mode, DebugInfoPerPass * DebugInfoBeforePass, StringRef NameOfWrappedPass)Defined at line 294 of file llvm/lib/Transforms/Utils/Debugify.cpp
-
object::Archive & readLibrary (const Twine & Library)Defined at line 294 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
basic_string stringify (ErrorCode E)Defined at line 294 of file llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
-
lto_module_t lto_module_create_in_local_context (const void * mem, size_t length, const char * path)Loads an object file in its own context.
Loads an object file in its own LLVMContext. This function call is
thread-safe. However, modules created this way should not be merged into an
lto_code_gen_t using
Returns NULL on error (check lto_get_error_message() for details).
Defined at line 294 of file llvm/tools/lto/lto.cpp
-
void initializeRAGreedyLegacyPassOnce (PassRegistry & Registry)Defined at line 294 of file llvm/lib/CodeGen/RegAllocGreedy.cpp
-
BasicBlock * getCommonExitBlock (const SetVector<BasicBlock *> & Blocks)Defined at line 294 of file llvm/lib/Transforms/Utils/CodeExtractor.cpp
-
bool globalVariableNeedsRedirect (GlobalVariable * GV)Returns true if GV needs redirection through a __ref_* variable.
Defined at line 294 of file llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
-
void processSTIPredicate (STIPredicateFunction & Fn, const ProcModelMapTy & ProcModelMap)Defined at line 294 of file llvm/utils/TableGen/Common/CodeGenSchedule.cpp
-
void initializeBlockFrequencyInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 295 of file llvm/lib/Analysis/BlockFrequencyInfo.cpp
-
void debugSizeMismatch (const ValueMapping & L, const ValueMapping & R)Defined at line 295 of file llvm/tools/verify-uselistorder/verify-uselistorder.cpp
-
Instruction * findRetainForStoreStrongContraction (Value * New, StoreInst * Store, Instruction * Release, ProvenanceAnalysis & PA)Defined at line 295 of file llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
-
void RegisterHandlers ()Defined at line 295 of file llvm/lib/Support/Unix/Signals.inc
-
void setDwarfDebugFlags (int argc, char ** argv)Defined at line 296 of file llvm/tools/llvm-mc/llvm-mc.cpp
-
Value * constructPointer (Value * Ptr, int64_t Offset, int & IRB)Helper function to create a pointer based on
and advanced by
bytes.
Defined at line 296 of file llvm/lib/Transforms/IPO/AttributorAttributes.cpp
-
void reportError (Twine Msg, StringRef Filename)Defined at line 296 of file llvm/tools/llc/llc.cpp
-
void redirectTo (BasicBlock * Source, BasicBlock * Target, DebugLoc DL)Make
branch to
Handles two situations:
*
already has an unconditional branch.
*
is a degenerate block (no terminator because the BB is
the current head of the IR construction).
Defined at line 296 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
bool isUnhandledGCPointerType (Type * Ty, GCStrategy * GC)Returns true if this is a type which a) is a gc pointer or contains a GC
pointer and b) is of a type which the code doesn't expect (i.e. first class
aggregates). Used to trip assertions.
Defined at line 297 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool hasDefinedDefaultNamespace (xmlNodePtr Node)Check if this Node's namespace is a default namespace it defined itself.
Defined at line 297 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
template <typename T>bool containsNullptr (const T & Collection)Defined at line 297 of file llvm/tools/llvm-xray/xray-graph-diff.cpp
-
template <>std::size_t GetValueForStack<AggregationType::INVOCATION_COUNT> (const StackTrieNode * Node)Calculates how many times a function was invoked.
TODO: Hook up option to produce stacks
Defined at line 297 of file llvm/tools/llvm-xray/xray-stacks.cpp
-
bool subRangeLiveAt (const LiveInterval & LI, SlotIndex Pos)Defined at line 297 of file llvm/lib/CodeGen/RenameIndependentSubregs.cpp
-
const char * lstep_back (struct re_guts * g, const char * start, const char * stop, sopno startst, sopno stopst)Step back from "stop" to a position where the strip startst..stopst might
match. This can always conservatively return "stop - 1", but may return an
earlier position if matches at later positions are impossible.
Defined at line 297 of file llvm/lib/Support/regengine.inc
-
const char * sstep_back (struct re_guts * g, const char * start, const char * stop, sopno startst, sopno stopst)Step back from "stop" to a position where the strip startst..stopst might
match. This can always conservatively return "stop - 1", but may return an
earlier position if matches at later positions are impossible.
Defined at line 297 of file llvm/lib/Support/regengine.inc
-
bool CC_X86_Intr (unsigned int & ValNo, MVT & ValVT, MVT & LocVT, CCValAssign::LocInfo & LocInfo, ISD::ArgFlagsTy & ArgFlags, CCState & State)X86 interrupt handlers can only take one or two stack arguments, but if
there are two arguments, they are in the opposite order from the standard
convention. Therefore, we have to look at the argument count up front before
allocating stack for each argument.
Defined at line 297 of file llvm/lib/Target/X86/X86CallingConv.cpp
-
bool sinkLoopInvariantInstructions (Loop & L, AAResults & AA, LoopInfo & LI, DominatorTree & DT, BlockFrequencyInfo & BFI, MemorySSA & MSSA, ScalarEvolution * SE)Sinks instructions from loop's preheader to the loop body if the
sum frequency of inserted copy is smaller than preheader's frequency.
Defined at line 297 of file llvm/lib/Transforms/Scalar/LoopSink.cpp
-
Value * simplifyX86varShift (const IntrinsicInst & II, InstCombiner::BuilderTy & Builder)Attempt to simplify AVX2 per-element shift intrinsics to a generic IR shift.
Unlike the generic IR shifts, the intrinsics have defined behaviour for out
of range shift amounts (logical - set to zero, arithmetic - splat sign bit).
Defined at line 297 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
bool targetSupportsBF16Type (const MachineFunction * MF)Defined at line 298 of file llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
-
bool isInstHardMergeHazard (MachineInstr & MI)Returns true if the instruction creates an unavoidable hazard that
forces a boundary between store merge candidates.
Defined at line 298 of file llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
-
void LLVMMoveToNextRelocation (LLVMRelocationIteratorRef RI)Defined at line 298 of file llvm/lib/Object/Object.cpp
-
CodeGenOptLevel GetCodeGenOptLevel ()===----------------------------------------------------------------------===//
CodeGen-related helper functions.
Defined at line 298 of file llvm/tools/opt/optdriver.cpp
-
MachineOperand & getBaseOperand (MachineInstr * MI)Defined at line 298 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
bool setAllocKind (Function & F, AllocFnKind K)Defined at line 298 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
basic_string buildDWODescription (StringRef Name, StringRef DWPName, StringRef DWOName)Defined at line 298 of file llvm/lib/DWP/DWP.cpp
-
void explainDbiHeaderOffset (LinePrinter & P, DbiStream & Dbi, uint32_t Offset)Defined at line 298 of file llvm/tools/llvm-pdbutil/ExplainOutputStyle.cpp
-
void streamMapping (yaml::IO & IO, RawContentStream & Stream)Defined at line 299 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
ValueAsMetadata * getAsMetadata (Value * V)Defined at line 299 of file llvm/lib/IR/DebugProgramInstruction.cpp
-
bool isNonVolatileStore (const Instruction * I)Defined at line 299 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
Cursor maybeLexIdentifier (Cursor C, MIToken & Token)Defined at line 299 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
bool accessedBetween (BatchAAResults & AA, MemoryLocation Loc, const MemoryUseOrDef * Start, const MemoryUseOrDef * End, Instruction ** SkippedLifetimeStart)Check for mod or ref of Loc between Start and End, excluding both boundaries.
Start and End must be in the same block.
If SkippedLifetimeStart is provided, skip over one clobbering lifetime.start
intrinsic and store it inside SkippedLifetimeStart.
Defined at line 299 of file llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-
Constant * rebuildExtCst (const Constant * C, bool IsSExt, unsigned int NumBits, unsigned int NumElts, unsigned int SrcEltBitWidth)Defined at line 299 of file llvm/lib/Target/X86/X86FixupVectorConstants.cpp
-
Type * getTypeWithoutPadding (Type * Ty)Defined at line 299 of file llvm/lib/Analysis/DXILResource.cpp
-
void printMemberHeader (raw_ostream & Out, uint64_t Pos, raw_ostream & StringTable, StringMap<uint64_t> & MemberNames, Kind Kind, bool Thin, const NewArchiveMember & M, time_point ModTime, uint64_t Size)Defined at line 299 of file llvm/lib/Object/ArchiveWriter.cpp
-
unique_ptr ParseBinOpRHS (int ExprPrec, unique_ptr LHS)binoprhs
::= ('+' primary)*
Defined at line 299 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
bool importFunctions (const char * argv0, Module & DestModule)Import any functions requested via the -import option.
Defined at line 299 of file llvm/tools/llvm-link/llvm-link.cpp
-
int getOutliningPenalty (ArrayRef Region, unsigned int NumInputs, unsigned int NumOutputs)Get the penalty score for outlining
Defined at line 299 of file llvm/lib/Transforms/IPO/HotColdSplitting.cpp
-
Error updateAndRemoveSymbols (const CommonConfig & Config, const ELFConfig & ELFConfig, Object & Obj)Defined at line 299 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
void deduplicatePass (ArrayRef Worklist)Defined at line 300 of file llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp
-
Printable printFPOReg (const MCRegisterInfo * MRI, unsigned int LLVMReg)Defined at line 300 of file llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
-
Expected ExtractLoops (BugDriver & BD, Expected<bool> (*)(BugDriver &, std::unique_ptr<Module>, std::unique_ptr<Module>) TestFn, std::vector<Function *> & MiscompiledFunctions)Given a reduced list of functions that still exposed the bug, check to see
if we can extract the loops in the region without obscuring the bug. If so,
it reduces the amount of code identified.
Defined at line 300 of file llvm/tools/bugpoint/Miscompilation.cpp
-
StatCollection getChunkStats (const SymbolGroup & SG, StatCollection & CumulativeStats)Defined at line 301 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
basic_string formatNestedName (ArrayRef<StringRef> QualifiedNameComponents, StringRef TypeName)Defined at line 301 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
void dropRegDescribedVar (int & RegVars, unsigned int RegNo, InlinedEntity Var)Claim that
is not described by
anymore.
Defined at line 301 of file llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
-
Error checkChars (StringRef Line)Checks that IHEX line contains valid characters.
This allows converting hexadecimal data to integers
without extra verification.
Defined at line 301 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
void computeGUIDPreservedSymbols (const lto::InputFile & File, const int & PreservedSymbols, const Triple & TheTriple, int & GUIDs)Convert the PreservedSymbols map from "Name" based to "GUID" based.
Defined at line 301 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
bool simplifyFunctionCFG (Function & F, const TargetTransformInfo & TTI, DominatorTree * DT, const SimplifyCFGOptions & Options)Defined at line 301 of file llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
-
basic_string getLabel (const GraphDiffRenderer::GraphT::EdgeValueType & E, StatType EL)Defined at line 301 of file llvm/tools/llvm-xray/xray-graph-diff.cpp
-
ConstantRange makeExactMulNSWRegion (const APInt & V)Exact mul nsw region for single element RHS.
Defined at line 301 of file llvm/lib/IR/ConstantRange.cpp
-
const GlobalValueSummary * selectCallee (const ModuleSummaryIndex & Index, ArrayRef CalleeSummaryList, unsigned int Threshold, StringRef CallerModulePath, const GlobalValueSummary *& TooLargeOrNoInlineSummary, FunctionImporter::ImportFailureReason & Reason)Given a list of possible callee implementation for a call site, select one
that fits the
for function definition import. If none are
found, the Reason will give the last reason for the failure (last, in the
order of CalleeSummaryList entries). While looking for a callee definition,
sets
to the last seen too-large or noinline
candidate; other modules may want to know the function summary or
declaration even if a definition is not needed.
FIXME: select "best" instead of first that fits. But what is "best"?
- The smallest: more likely to be inlined.
- The one with the least outgoing edges (already well optimized).
- One from a module already being imported from in order to reduce the
number of source modules parsed/linked.
- One that has PGO data attached.
- [insert you fancy metric here]
Defined at line 301 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
bool containsBF16Type (const User & U)Defined at line 302 of file llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
-
hash_code hashValueMapping (const RegisterBankInfo::PartialMapping * BreakDown, unsigned int NumBreakDowns)Defined at line 302 of file llvm/lib/CodeGen/RegisterBankInfo.cpp
-
optional getImageBaseAddress (const object::MachOObjectFile * MachO)Determine the virtual address that is considered the base address of mach-o
object file.
The base address of a mach-o file is the vmaddr of the "__TEXT" segment.
Parameters
MachO A mach-o object file we will search.Defined at line 302 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
bool isAlreadyMarked (const CompileUnit::DIEInfo & Info, DieOutputPlacement NewPlacement)Defined at line 302 of file llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
-
bool tryToRecognizePopCount (Instruction & I)Try to recognize below function as popcount intrinsic.
This is the "best" algorithm from
http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetParallel
Also used in TargetLowering::expandCTPOP().
int popcount(unsigned int i) {
i = i - ((i >> 1)
&
0x55555555);
i = (i
&
0x33333333) + ((i >> 2)
&
0x33333333);
i = ((i + (i >> 4))
&
0x0F0F0F0F);
return (i * 0x01010101) >> 24;
}
Defined at line 302 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
void ParseConstraint (StringRef CStr, CGIOperandList & Ops, const Record * Rec)Defined at line 302 of file llvm/utils/TableGen/Common/CodeGenInstruction.cpp
-
void splitCallSite (CallBase & CB, ArrayRef<std::pair<BasicBlock *, ConditionsTy>> Preds, DomTreeUpdater & DTU)For each (predecessor, conditions from predecessors) pair, it will split the
basic block containing the call site, hook it up to the predecessor and
replace the call instruction with new call instructions, which contain
constraints based on the conditions from their predecessors.
For example, in the IR below with an OR condition, the call-site can
be split. In this case, Preds for Tail is [(Header, a == null),
(TBB, a != null, b == null)]. Tail is replaced by 2 split blocks, containing
CallInst1, which has constraints based on the conditions from Head and
CallInst2, which has constraints based on the conditions coming from TBB.
From :
Header:
%c = icmp eq i32* %a, null
br i1 %c %Tail, %TBB
TBB:
%c2 = icmp eq i32* %b, null
br i1 %c %Tail, %End
Tail:
%ca = call i1
(i32* %a, i32* %b)
to :
Header: // PredBB1 is Header
%c = icmp eq i32* %a, null
br i1 %c %Tail-split1, %TBB
TBB: // PredBB2 is TBB
%c2 = icmp eq i32* %b, null
br i1 %c %Tail-split2, %End
Tail-split1:
%ca1 = call
(i32* null, i32* %b) // CallInst1
br %Tail
Tail-split2:
%ca2 = call
(i32* nonnull %a, i32* null) // CallInst2
br %Tail
Tail:
%p = phi i1 [%ca1, %Tail-split1],[%ca2, %Tail-split2]
Note that in case any arguments at the call-site are constrained by its
predecessors, new call-sites with more constrained arguments will be
created in createCallSitesOnPredicatedArgument().
Defined at line 302 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
void darwinPrintSymbol (SymbolicFile & Obj, const NMSymbol & S, char * SymbolAddrStr, const char * printBlanks, const char * printDashes, const char * printFormat)darwinPrintSymbol() is used to print a symbol from a Mach-O file when the
the OutputFormat is darwin or we are printing Mach-O symbols in hex. For
the darwin format it produces the same output as darwin's nm(1) -m output
and when printing Mach-O symbols in hex it produces the same output as
darwin's nm(1) -x format.
Defined at line 302 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
MachineOperand & getDispOperand (MachineInstr * MI)Defined at line 303 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
std::optional<StringRef> nameOrNone (const Value * V)Defined at line 303 of file llvm/lib/Transforms/Utils/MemoryOpRemark.cpp
-
template <typename F>void sortByKey (std::vector<TupleType> & Results, F Fn)Defined at line 303 of file llvm/tools/llvm-xray/xray-account.cpp
-
WasmTableType readTableType (WasmObjectFile::ReadContext & Ctx)Defined at line 303 of file llvm/lib/Object/WasmObjectFile.cpp
-
basic_string formatRegisterId (RegisterId Id, CPUType Cpu)Defined at line 303 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
const Value * getNoopInput (const Value * V, SmallVectorImpl<unsigned int> & ValLoc, unsigned int & DataBits, const TargetLoweringBase & TLI, const DataLayout & DL)Look through operations that will be free to find the earliest source of
this value.
Parameters
ValLoc If V has aggregate type, we will be interested in a particular scalar component. This records its address; the reverse of this list gives a sequence of indices appropriate for an extractvalue to locate the important value. This value is updated during the function and on exit will indicate similar information for the Value returned.DataBits If this function looks through truncate instructions, this will record the smallest size attained.Defined at line 303 of file llvm/lib/CodeGen/Analysis.cpp
-
OverwriteResult isPartialOverwrite (const MemoryLocation & KillingLoc, const MemoryLocation & DeadLoc, int64_t KillingOff, int64_t DeadOff, Instruction * DeadI, int & IOL)Return 'OW_Complete' if a store to the 'KillingLoc' location completely
overwrites a store to the 'DeadLoc' location, 'OW_End' if the end of the
'DeadLoc' location is completely overwritten by 'KillingLoc', 'OW_Begin'
if the beginning of the 'DeadLoc' location is overwritten by 'KillingLoc'.
'OW_PartialEarlierWithFullLater' means that a dead (big) store was
overwritten by a killing (smaller) store which doesn't write outside the big
store's memory locations. Returns 'OW_Unknown' if nothing can be determined.
NOTE: This function must only be called if both
and
belong to the same underlying object with valid
and
Defined at line 303 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
basic_string suffixed_name_or (Value * V, StringRef Suffix, StringRef DefaultName)Return the name of the value suffixed with the provided value, or if the
value didn't have a name, the default value specified.
Defined at line 304 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
basic_string streamValidate (RawContentStream & Stream)Defined at line 304 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
void cleanup (BlockFrequencyInfoImplBase & BFI)Clear all memory not needed downstream.
Releases all memory not used downstream. In particular, saves Freqs.
Defined at line 304 of file llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
-
const char * LLVMGetSymbolName (LLVMSymbolIteratorRef SI)SymbolRef accessors
Defined at line 304 of file llvm/lib/Object/Object.cpp
-
bool setLoopComponents (Value *& TC, Value *& TripCount, BinaryOperator *& Increment, SmallPtrSetImpl<Instruction *> & IterationInstructions)Defined at line 304 of file llvm/lib/Transforms/Scalar/LoopFlatten.cpp
-
GenericValue executeICMP_UGE (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 304 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
size_t llvm_blake3_simd_degree ()The dynamically detected SIMD degree of the current platform.
Defined at line 304 of file llvm/lib/Support/BLAKE3/blake3_dispatch.c
-
unique_ptr createInterfaceFile (const Records & Slices, StringRef InstallName)Defined at line 304 of file llvm/lib/TextAPI/RecordsSlice.cpp
-
int LogError (const char * Str)Error* - These are little helper functions for error handling.
Defined at line 305 of file llvm/examples/Kaleidoscope/Chapter6/toy.cpp
-
bool isDefLiveOut (Register Reg, MachineBasicBlock * BB, const MachineRegisterInfo * MRI)Defined at line 305 of file llvm/lib/CodeGen/TailDuplicator.cpp
-
optional getElementCountForTy (VFISAKind ISA, const Type * Ty)Returns the 'natural' VF for a given scalar element type, based on the
current architecture.
For SVE (currently the only scalable architecture with a defined name
mangling), we assume a minimum vector size of 128b and return a VF based on
the number of elements of the given type which would fit in such a vector.
Defined at line 305 of file llvm/lib/IR/VFABIDemangler.cpp
-
void UnescapeAliasString (std::string & Str)UnescapeAliasString - Supports literal braces in InstAlias asm string which
are escaped with '
\
' to avoid being interpreted as variants. Braces must
be unescaped before c++ code is generated as (e.g.):
AsmString = "foo \{$\x01\}";
causes non-standard escape character warnings.
Defined at line 305 of file llvm/utils/TableGen/AsmWriterEmitter.cpp
-
void annotateNonNullNoUndefBasedOnAccess (CallInst * CI, ArrayRef ArgNos)Defined at line 305 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
void emitGetOperandIdxName (raw_ostream & OS, const int & OperandNameToID, const int & OperandMap, unsigned int MaxNumOperands, unsigned int NumOperandNames)Defined at line 305 of file llvm/utils/TableGen/InstrInfoEmitter.cpp
-
bool mergeIntoSinglePredecessor_v2 (Function & F, DominatorTree & DT)Merge basic blocks into their single predecessor, if their predecessor has a
single successor. This is the second version and does preserve the
DominatorTree.
Defined at line 305 of file llvm/examples/IRTransforms/SimplifyCFG.cpp
-
bool matches (const ValueMapping & LM, const ValueMapping & RM)Defined at line 305 of file llvm/tools/verify-uselistorder/verify-uselistorder.cpp
-
bool printFMAComments (const MCInst * MI, raw_ostream & OS, const MCInstrInfo & MCII)Defined at line 305 of file llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
-
void initializeStackFrameLayoutAnalysisLegacyPassOnce (PassRegistry & Registry)Defined at line 306 of file llvm/lib/CodeGen/StackFrameLayoutAnalysisPass.cpp
-
void initializeCFGuardPassOnce (PassRegistry & Registry)Defined at line 306 of file llvm/lib/Transforms/CFGuard/CFGuard.cpp
-
bool checkConstHashCompatible (const DenseMap<IndexPair, stable_hash> & OldInstOpndIndexToConstHash, const DenseMap<IndexPair, stable_hash> & CurrInstOpndIndexToConstHash)Check if the old merged/optimized IndexOperandHashMap is compatible with
the current IndexOperandHashMap. An operand hash may not be stable across
different builds due to varying modules combined. To address this, we relax
the hash check condition by comparing Const hash patterns instead of absolute
hash values. For example, let's assume we have three Consts located at idx1,
idx3, and idx6, where their corresponding hashes are hash1, hash2, and hash1
in the old merged map below:
Old (Merged): [(idx1, hash1), (idx3, hash2), (idx6, hash1)]
Current: [(idx1, hash1'), (idx3, hash2'), (idx6, hash1')]
If the current function also has three Consts in the same locations,
with hash sequences hash1', hash2', and hash1' where the first and third
are the same as the old hash sequences, we consider them matched.
Defined at line 306 of file llvm/lib/CodeGen/GlobalMergeFunctions.cpp
-
void explicateNamespace (xmlNsPtr PrefixDef, xmlNodePtr Node)For the given explicit prefix-definition of a namespace, travel downwards
from a node recursively, and for every implicit, inherited default usage of
that namespace replace it with that explicit prefix use. This is important
when namespace overriding occurs when merging, so that elements unique to a
namespace will still stay in that namespace.
Defined at line 306 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
void setDwarfDebugProducer ()Defined at line 307 of file llvm/tools/llvm-mc/llvm-mc.cpp
-
void reportError (Error Err, StringRef Filename)Defined at line 307 of file llvm/tools/llc/llc.cpp
-
unsigned int getFloorFullVectorNumberOfElements (const TargetTransformInfo & TTI, Type * Ty, unsigned int Sz)Returns the number of elements of the given type
not greater than
which forms type, which splits by
into whole vector types during
legalization.
Defined at line 307 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
const Value * stripAndAccumulateOffsets (Attributor & A, const AbstractAttribute & QueryingAA, const Value * Val, const DataLayout & DL, APInt & Offset, bool GetMinOffset, bool AllowNonInbounds, bool UseAssumed)Defined at line 307 of file llvm/lib/Transforms/IPO/AttributorAttributes.cpp
-
template <AggregationType AggType>std::size_t GetValueForStack (const StackTrieNode * Node)Defined at line 308 of file llvm/tools/llvm-xray/xray-stacks.cpp
-
iterator_range getShapedOperandsForInst (Instruction * I)Return an iterator over the operands of
that should share shape
information with
Defined at line 308 of file llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
-
basic_string stringify (std::pair<const omp::Clause *, tomp::ErrorCode> & ER)Defined at line 308 of file llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
-
template <typename value_type>raw_ostream & operator<< (raw_ostream & OS, const binary_le_impl<value_type> & BLE)Defined at line 308 of file llvm/lib/ObjectYAML/COFFEmitter.cpp
-
Error dumpSectionToFile (StringRef SecName, StringRef Filename, StringRef InputFilename, Object & Obj)Defined at line 308 of file llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
-
void initializeAssumptionCacheTrackerPassOnce (PassRegistry & Registry)Defined at line 309 of file llvm/lib/Analysis/AssumptionCache.cpp
-
void getVDefInterval (const MachineInstr & MI, LiveIntervals & LIS)Defined at line 309 of file llvm/lib/CodeGen/InlineSpiller.cpp
-
int LogErrorP (const char * Str)Defined at line 310 of file llvm/examples/Kaleidoscope/Chapter6/toy.cpp
-
LLVMBool LLVMExecutionEngineGetErrMsg (LLVMExecutionEngineRef EE, char ** OutError)Returns true on error, false on success. If true is returned then the error
message is copied to OutStr and cleared in the ExecutionEngine instance.
Defined at line 310 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
unsigned int getColumns (int FileID)Defined at line 310 of file llvm/lib/Support/Unix/Process.inc
-
AccelTableKind computeAccelTableKind (unsigned int DwarfVersion, bool GenerateTypeUnits, DebuggerKind Tuning, const Triple & TT)Defined at line 310 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
void processConstantStringArg (StringData * SD, IRBuilder<> & Builder, SmallVectorImpl<Value *> & WhatToStore)Prepare constant string argument to push onto the buffer
Defined at line 310 of file llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
-
void GetCostForDef (const ScheduleDAGSDNodes::RegDefIter & RegDefPos, const TargetLowering * TLI, const TargetInstrInfo * TII, const TargetRegisterInfo * TRI, unsigned int & RegClass, unsigned int & Cost, const MachineFunction & MF)GetCostForDef - Looks up the register class and cost for a given definition.
Typically this just means looking up the representative register class,
but for untyped values (MVT::Untyped) it means inspecting the node's
opcode to determine what register class is being generated.
Defined at line 310 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
void convertFunctionLineTable (OutputAggregator & Out, CUInfo & CUI, DWARFDie Die, GsymCreator & Gsym, FunctionInfo & FI)Defined at line 310 of file llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
-
basic_string formatModuleDetailKind (DebugSubsectionKind K)Defined at line 311 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
void initializeX86FPStackifierLegacyPassOnce (PassRegistry & Registry)Defined at line 311 of file llvm/lib/Target/X86/X86FloatingPoint.cpp
-
bool mustBeUnreachableFunction (const Function & F)Returns true if the function definition must be unreachable.
Note if this helper function returns true, `F` is guaranteed
to be unreachable; if it returns false, `F` might still
be unreachable but not covered by this helper function.
Defined at line 311 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
const TargetRegisterClass * firstCommonClass (const uint32_t * A, const uint32_t * B, const TargetRegisterInfo * TRI)Defined at line 311 of file llvm/lib/CodeGen/TargetRegisterInfo.cpp
-
bool isRelevantAddressingMode (MachineInstr * MI)Relevant addressing modes contain only base register and immediate
displacement or frameindex and immediate displacement.
TODO: Consider expanding to other addressing modes in the future
Defined at line 311 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
bool isAddressExpression (const Value & V, const DataLayout & DL, const TargetTransformInfo * TTI)Returns true if V is an address expression.
TODO: Currently, we only consider:
- arguments
- phi, bitcast, addrspacecast, and getelementptr operators
Defined at line 311 of file llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
-
Cursor maybeLexMachineBasicBlock (Cursor C, MIToken & Token, function_ref ErrorCallback)Defined at line 311 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
Error readSection (WasmSection & Section, WasmObjectFile::ReadContext & Ctx, WasmSectionOrderChecker & Checker)Defined at line 311 of file llvm/lib/Object/WasmObjectFile.cpp
-
IdentifyingPassPtr overridePass (AnalysisID StandardID, IdentifyingPassPtr TargetID)Allow standard passes to be disabled by the command line, regardless of who
is adding the pass.
StandardID is the pass identified in the standard pass pipeline and provided
to addPass(). It may be a target-specific ID in the case that the target
directly adds its own pass, but in that case we harmlessly fall through.
TargetID is the pass that the target has configured to override StandardID.
StandardID may be a pseudo ID. In that case TargetID is the name of the real
pass to run. This allows multiple options to control a single pass depending
on where in the pipeline that pass is added.
Defined at line 311 of file llvm/lib/CodeGen/TargetPassConfig.cpp
-
lto_module_t lto_module_create_in_codegen_context (const void * mem, size_t length, const char * path, lto_code_gen_t cg)Loads an object file in the codegen context.
Loads an object file into the same context as
The module is safe to
add using
Returns NULL on error (check lto_get_error_message() for details).
Defined at line 312 of file llvm/tools/lto/lto.cpp
-
void commitFpm (WritableBinaryStream & MsfBuffer, const MSFLayout & Layout, BumpPtrAllocator & Allocator)Defined at line 312 of file llvm/lib/DebugInfo/MSF/MSFBuilder.cpp
-
std::optional<BCECmp> visitICmp (const ICmpInst *const CmpI, Predicate ExpectedPredicate, BaseIdentifier & BaseId)Visit the given comparison. If this is a comparison between two valid
BCE atoms, returns the comparison.
Defined at line 312 of file llvm/lib/Transforms/Scalar/MergeICmps.cpp
-
ArchiveOperation parseCommandLine ()Parse the command line options as presented and return the operation
specified. Process all modifiers and check to make sure that constraints on
modifier/operation pairs have not been violated.
Defined at line 312 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
void testErrorFilename (const llvm::SMDiagnostic & Error, void * )Test YAML filename handling.
Defined at line 313 of file llvm/unittests/Support/YAMLIOTest.cpp
-
int AsLexInput (SourceMgr & SrcMgr, MCAsmInfo & MAI, raw_ostream & OS)Defined at line 313 of file llvm/tools/llvm-mc/llvm-mc.cpp
-
void analyzeParsePointLiveness (DominatorTree & DT, GCPtrLivenessData & OriginalLivenessData, CallBase * Call, PartiallyConstructedSafepointRecord & Result, GCStrategy * GC)Conservatively identifies any definitions which might be live at the
given instruction. The analysis is performed immediately before the
given instruction. Values defined by that instruction are not considered
live. Values used by that instruction are considered live.
Defined at line 313 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
const Module * getModuleFromVal (const Value * V)Defined at line 313 of file llvm/lib/IR/AsmWriter.cpp
-
void markCoroutineAsDone (int & Builder, const coro::Shape & Shape, Value * FramePtr)Mark a coroutine as done, which implies that the coroutine is finished and
never gets resumed.
In resume-switched ABI, the done state is represented by storing zero in
ResumeFnAddr.
NOTE: We couldn't omit the argument `FramePtr`. It is necessary because the
pointer to the frame in splitted function is not stored in `Shape`.
Defined at line 313 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
const BasicBlock * getFirstFunctionBlock (const Function * Func)Defined at line 314 of file llvm/lib/IR/DiagnosticInfo.cpp
-
Error getError (const Twine & Message)Defined at line 314 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
void emitDXILVersions (const RecordKeeper & Records, raw_ostream & OS)Emit a list valid DXIL Version records
Defined at line 314 of file llvm/utils/TableGen/DXILEmitter.cpp
-
basic_string computeSparcDataLayout (const Triple & T)Defined at line 314 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
int GetOutputStream (OSType OS)Defined at line 314 of file llvm/tools/llc/llc.cpp
-
void initializeCallGraphWrapperPassPassOnce (PassRegistry & Registry)Defined at line 315 of file llvm/lib/Analysis/CallGraph.cpp
-
void initializeX86OptimizeLEAPassPassOnce (PassRegistry & Registry)Defined at line 315 of file llvm/lib/Target/X86/X86OptimizeLEAs.cpp
-
basic_string formatModuleDetailKind (SymbolKind K)Defined at line 315 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
void addRegDescribedVar (int & RegVars, unsigned int RegNo, InlinedEntity Var)Claim that
is now described by
.
Defined at line 315 of file llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
-
int computeGUIDPreservedSymbols (const lto::InputFile & File, const int & PreservedSymbols, const Triple & TheTriple)Defined at line 315 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
Error parseSize (StringRef Str, unsigned int & BitWidth, StringRef Name)Attempts to parse a size component of a specification.
Defined at line 315 of file llvm/lib/IR/DataLayout.cpp
-
uint64_t LLVMGetSymbolAddress (LLVMSymbolIteratorRef SI)Defined at line 315 of file llvm/lib/Object/Object.cpp
-
Predicate getFPPredicateFromMD (const Value * Op)Defined at line 315 of file llvm/lib/IR/IntrinsicInst.cpp
-
void executionSessionLookupHandlerCallback (LLVMErrorRef Err, LLVMOrcCSymbolMapPairs Result, size_t NumPairs, void * RawCtx)Defined at line 315 of file llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
-
FunctionSummary * calculatePrevailingSummary (ValueInfo VI, int & CachedPrevailingSummary, function_ref<bool (GlobalValue::GUID, const GlobalValueSummary *)> IsPrevailing)Compute definitive function attributes for a function taking into account
prevailing definitions and linkage types
Defined at line 315 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
bool checkLoopsStructure (const Loop & OuterLoop, const Loop & InnerLoop, ScalarEvolution & SE)Determine whether the loops structure violates basic requirements for
perfect nesting:
- the inner loop should be the outer loop's only child
- the outer loop header should 'flow' into the inner loop preheader
or jump around the inner loop to the outer loop latch
- if the inner loop latch exits the inner loop, it should 'flow' into
the outer loop latch.
Returns true if the loop structure satisfies the basic requirements and
false otherwise.
Defined at line 315 of file llvm/lib/Analysis/LoopNestAnalysis.cpp
-
bool isExitingLoop (const MachineLoop * From, const MachineLoop * To)We never allow traces that leave loops, but we do allow traces to enter
nested loops. We also never allow traces to contain back-edges.
This means that a loop header can never appear above the center block of a
trace, except as the trace head. Below the center block, loop exiting edges
are banned.
Return true if an edge from the From loop to the To loop is leaving a loop.
Either of To and From can be null.
Defined at line 316 of file llvm/lib/CodeGen/MachineTraceMetrics.cpp
-
void streamMapping (yaml::IO & IO, MemoryInfoListStream & Stream)Defined at line 316 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
unsigned int getPHISrcRegOpIdx (MachineInstr * MI, MachineBasicBlock * SrcBB)Defined at line 316 of file llvm/lib/CodeGen/TailDuplicator.cpp
-
void maybeHandleGlobals (Module & M)Defined at line 316 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
bool isNOREXRegClass (const Record * Op)Defined at line 317 of file llvm/utils/TableGen/X86FoldTablesEmitter.cpp
-
void deleteDeadInstruction (Instruction * I)Defined at line 317 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
Expected hasObjCCategory (BitstreamCursor & Stream)Defined at line 317 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
optional computeShapeInfoForInst (Instruction * I, const DenseMap<Value *, ShapeInfo> & ShapeMap)Return the ShapeInfo for the result of
it it can be determined.
Defined at line 317 of file llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
-
void scalarizeMaskedStore (const DataLayout & DL, bool HasBranchDivergence, CallInst * CI, DomTreeUpdater * DTU, bool & ModifiedDT)Translate a masked store intrinsic, like
void
.masked.store(
<
16 x i32> %src,
<
16 x i32>* %addr,
<
16 x i1> %mask)
to a chain of basic blocks, that stores element one-by-one if
the appropriate mask bit is set
%1 = bitcast i8* %addr to i32*
%2 = extractelement
<
16 x i1> %mask, i32 0
br i1 %2, label %cond.store, label %else
cond.store: ; preds = %0
%3 = extractelement
<
16 x i32> %val, i32 0
%4 = getelementptr i32* %1, i32 0
store i32 %3, i32* %4
br label %else
else: ; preds = %0, %cond.store
%5 = extractelement
<
16 x i1> %mask, i32 1
br i1 %5, label %cond.store1, label %else2
cond.store1: ; preds = %else
%6 = extractelement
<
16 x i32> %val, i32 1
%7 = getelementptr i32* %1, i32 1
store i32 %6, i32* %7
br label %else2
. . .
Defined at line 317 of file llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
-
template <typename value_type>binary_le_impl<value_type> binary_le (value_type V)Defined at line 318 of file llvm/lib/ObjectYAML/COFFEmitter.cpp
-
bool AnyAliasLiveIn (const TargetRegisterInfo * TRI, MachineBasicBlock * MBB, Register Reg)Return true if any register aliasing
is live-in into
Defined at line 318 of file llvm/lib/CodeGen/ImplicitNullChecks.cpp
-
Error getErrorForInvalidExt (StringRef ExtName)Defined at line 318 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
GenericValue executeICMP_SGE (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 318 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
void diagnosePossiblyInvalidConstraint (LLVMContext & Ctx, const Value * V, const Twine & ErrMsg)Defined at line 318 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
int computeHostNumHardwareThreads ()Defined at line 318 of file llvm/lib/Support/Unix/Threading.inc
-
int import (ObjectStore & FromCAS, ObjectStore & ToCAS, ArrayRef<std::string> Objects)Defined at line 318 of file llvm/tools/llvm-cas/llvm-cas.cpp
-
void applyCommandLineOverridesToOptions (SimplifyCFGOptions & Options)Command-line settings override compile-time settings.
Defined at line 318 of file llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
-
SmallVector<OwningBinary<Binary>, 1> readInputBinaries (LLVMContext & LLVMCtx, ArrayRef<InputFile> InputFiles)Defined at line 318 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
std::pair<SDValue, SDNode *> lowerCallFromStatepointLoweringInfo (SelectionDAGBuilder::StatepointLoweringInfo & SI, SelectionDAGBuilder & Builder)Extract call from statepoint, lower it and return pointer to the
call node. Also update NodeMap so that getValue(statepoint) will
reference lowered call result
Defined at line 318 of file llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
-
void computeFunctionSummary (ModuleSummaryIndex & Index, const Module & M, const Function & F, BlockFrequencyInfo * BFI, ProfileSummaryInfo * PSI, DominatorTree & DT, bool HasLocalsInUsedOrAsm, DenseSet<GlobalValue::GUID> & CantBePromoted, bool IsThinLTO, function GetSSICallback)Defined at line 318 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
uint64_t XXH3_len_129to240_64b (const uint8_t * input, size_t len, const uint8_t * secret, uint64_t seed)Defined at line 319 of file llvm/lib/Support/xxhash.cpp
-
basic_string getLabel (const GraphDiffRenderer::GraphT::VertexValueType & V, StatType VL, int TrunLen)Defined at line 319 of file llvm/tools/llvm-xray/xray-graph-diff.cpp
-
void streamMapping (yaml::IO & IO, MemoryListStream & Stream)Defined at line 320 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
bool isMustExecuteIn (const Instruction & I, Loop * L, DominatorTree * DT)Defined at line 320 of file llvm/lib/Analysis/MustExecute.cpp
-
bool prepareDwarfEH (CodeGenOptLevel OptLevel, Function & F, const TargetLowering & TLI, DominatorTree * DT, const TargetTransformInfo * TTI, const Triple & TargetTriple)Defined at line 320 of file llvm/lib/CodeGen/DwarfEHPrepare.cpp
-
void computeBlocksDominatingExits (Loop & L, const DominatorTree & DT, ArrayRef ExitBlocks, SmallSetVector<BasicBlock *, 8> & BlocksDominatingExits)Compute the set of BasicBlocks in the loop `L` dominating at least one exit.
Defined at line 320 of file llvm/lib/Transforms/Utils/LCSSA.cpp
-
void processOptionImpl (cl::opt<bool> & O, const cl::opt<bool> & Default)Defined at line 321 of file llvm/tools/llvm-mca/llvm-mca.cpp
-
unsigned int HashEndOfMBB (const MachineBasicBlock & MBB)HashEndOfMBB - Hash the last instruction in the MBB.
Defined at line 321 of file llvm/lib/CodeGen/BranchFolding.cpp
-
optional getRecurrences (BasicBlock * LoopLatch, const PHINode * IndVar, const Loop & L)Iterates over all the phis in
and attempts to extract a
Conditional Recurrence and an optional Simple Recurrence.
Defined at line 321 of file llvm/lib/Analysis/HashRecognize.cpp
-
bool verifyTripCount (Value * RHS, Loop * L, SmallPtrSetImpl<Instruction *> & IterationInstructions, PHINode *& InductionPHI, Value *& TripCount, BinaryOperator *& Increment, BranchInst *& BackBranch, ScalarEvolution * SE, bool IsWidened)Given the RHS of the loop latch compare instruction, verify with SCEV
that this is indeed the loop tripcount.
TODO: This used to be a straightforward check but has grown to be quite
complicated now. It is therefore worth revisiting what the additional
benefits are of this (compared to relying on canonical loops and pattern
matching).
Defined at line 321 of file llvm/lib/Transforms/Scalar/LoopFlatten.cpp
-
void transformScalarShuffleIndiciesToVector (unsigned int VecTyNumElements, SmallVectorImpl<int> & Mask)Defined at line 322 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
unsigned int getFPReg (const MachineOperand & MO)getFPReg - Return the X86::FPx register number for the specified operand.
For example, this returns 3 for X86::FP3.
Defined at line 323 of file llvm/lib/Target/X86/X86FloatingPoint.cpp
-
GenericValue lle_X_atexit (FunctionType * FT, ArrayRef Args)void atexit(Function*)
Defined at line 323 of file llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
-
template <class ELFT>Expected<ELFObjectFile<ELFT>> toBinary (SmallVectorImpl<char> & Storage, StringRef Yaml)Defined at line 323 of file llvm/unittests/Object/ELFObjectFileTest.cpp
-
bool writtenBetween (MemorySSA * MSSA, BatchAAResults & AA, MemoryLocation Loc, const MemoryUseOrDef * Start, const MemoryUseOrDef * End)Check for mod of Loc between Start and End, excluding both boundaries.
Start and End can be in different blocks.
Defined at line 323 of file llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-
BasicBlock * findIBRPredecessor (BasicBlock * BB, SmallVectorImpl<BasicBlock *> & OtherPreds)Return the unique indirectbr predecessor of a block. This may return null
even if such a predecessor exists, if it's not useful for splitting.
If a predecessor is found, OtherPreds will contain all other (non-indirectbr)
predecessors of BB.
Defined at line 323 of file llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
-
template <typename CallbackT>void iterateOneModule (PDBFile & File, LinePrinter & P, const DbiModuleList & Modules, uint32_t I, uint32_t Digits, uint32_t IndentLevel, CallbackT Callback)Defined at line 323 of file llvm/tools/llvm-pdbutil/BytesOutputStyle.cpp
-
void streamMapping (yaml::IO & IO, Memory64ListStream & Stream)Defined at line 324 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
bool isAlreadyMarked (const UnitEntryPairTy & Entry, DieOutputPlacement NewPlacement)Defined at line 324 of file llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
-
DebugVariable getAggregateVariable (DbgVariableRecord * DVR)Defined at line 324 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
Error createError (StringRef Name, Error E)Defined at line 324 of file llvm/lib/DWP/DWP.cpp
-
void initializeMachineSinkingLegacyPassOnce (PassRegistry & Registry)Defined at line 324 of file llvm/lib/CodeGen/MachineSink.cpp
-
bool DumpAndSkipDataInCode (uint64_t PC, const uint8_t * bytes, DiceTable & Dices, uint64_t & InstSize)Defined at line 324 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool TypesAreContradictory (MVT T1, MVT T2)isContradictoryImpl Implementations.
Defined at line 324 of file llvm/utils/TableGen/Common/DAGISelMatcher.cpp
-
optional getScalableECFromSignature (const FunctionType * Signature, VFISAKind ISA, const SmallVectorImpl<VFParameter> & Params)Extract the VectorizationFactor from a given function signature, based
on the widest scalar element types that will become vector parameters.
Defined at line 324 of file llvm/lib/IR/VFABIDemangler.cpp
-
template <size_t NumBytes>raw_ostream & operator<< (raw_ostream & OS, const zeros_impl<NumBytes> & )Defined at line 325 of file llvm/lib/ObjectYAML/COFFEmitter.cpp
-
Matcher * FindNodeWithKind (Matcher * M, KindTy Kind)FindNodeWithKind - Scan a series of matchers looking for a matcher with a
specified kind. Return null if we didn't find one otherwise return the
matcher.
Defined at line 325 of file llvm/utils/TableGen/DAGISelMatcherOpt.cpp
-
SmallVector ComputeTypeSignature (const CodeGenIntrinsic & Int)Computes type signature of the intrinsic
Defined at line 325 of file llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
-
void parseBad (StringRef Input, const char * ErrorMsg)Defined at line 325 of file llvm/unittests/Remarks/BitstreamRemarksParsingTest.cpp
-
LLVMBool LLVMTargetMachineEmitToFile (LLVMTargetMachineRef T, LLVMModuleRef M, const char * Filename, codegen, char ** ErrorMessage)Emits an asm or object file for the given module to the filename. This
wraps several c++ only classes (among them a file stream). Returns any
error in ErrorMessage. Use LLVMDisposeMessage to dispose the message.
Defined at line 325 of file llvm/lib/Target/TargetMachineC.cpp
-
const RecordRecTy * resolveRecordTypes (const RecordRecTy * T1, const RecordRecTy * T2)Defined at line 325 of file llvm/lib/TableGen/Record.cpp
-
void printAllUnwindCodes (ArrayRef UCs)Defined at line 325 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
int codegenModule (Module & TheModule, TargetMachine & TM)Defined at line 325 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
void canonicalizePHIOperands (MachineFunction & MF)Removing duplicate PHI operands to leave the PHI in a canonical and
predictable form.
FIXME: It's really frustrating that we have to do this, but SSA-form in MIR
isn't what you might expect. We may have multiple entries in PHI nodes for
a single predecessor. This makes CFG-updating extremely complex, so here we
simplify all PHI nodes to a model even simpler than the IR's model: exactly
one entry per predecessor, regardless of how many edges there are.
Defined at line 325 of file llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
-
BaseType getBaseType (const Value * Val)Return the baseType for Val which states whether Val is exclusively
derived from constant/null, or not exclusively derived from constant.
Val is exclusively derived off a constant base when all operands of phi and
selects are derived off a constant base.
Defined at line 325 of file llvm/lib/IR/SafepointIRVerifier.cpp
-
uint64_t LLVMGetSymbolSize (LLVMSymbolIteratorRef SI)Defined at line 326 of file llvm/lib/Object/Object.cpp
-
void lto_module_dispose (lto_module_t mod)Frees all memory internally allocated by the module.
Upon return the lto_module_t is no longer valid.
Defined at line 326 of file llvm/tools/lto/lto.cpp
-
pair getAggregate (const DebugVariable & Var)Defined at line 326 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
bool isImplicitlyDefined (Register VirtReg, const MachineRegisterInfo & MRI)Return true if all defs of VirtReg are implicit-defs.
This includes registers with no defs.
Defined at line 326 of file llvm/lib/CodeGen/PHIElimination.cpp
-
void getRegsUsedByPHIs (const MachineBasicBlock & BB, int * UsedByPhi)Remember which registers are used by phis in this block. This is
used to determine which registers are liveout while modifying the
block (which is why we need to copy the information).
Defined at line 326 of file llvm/lib/CodeGen/TailDuplicator.cpp
-
bool constantFoldCmp (CmpInst * Cmp, LazyValueInfo * LVI)See if LazyValueInfo's ability to exploit edge conditions or range
information is sufficient to prove this comparison. Even for local
conditions, this can sometimes prove conditions instcombine can't by
exploiting range information.
Defined at line 326 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void processViewOptions (bool IsOutOfOrder)Defined at line 326 of file llvm/tools/llvm-mca/llvm-mca.cpp
-
bool shouldPinPassToLegacyPM (StringRef Pass)For use in NPM transition. Currently this contains most codegen-specific
passes. Remove passes from here when porting to the NPM.
TODO: use a codegen version of PassRegistry.def/PassBuilder::is*Pass() once
it exists.
Defined at line 326 of file llvm/tools/opt/optdriver.cpp
-
bool isInefficientLEAReg (Register Reg)Defined at line 327 of file llvm/lib/Target/X86/X86FixupLEAs.cpp
-
bool instructionDoesNotReturn (const Instruction & I)Defined at line 327 of file llvm/lib/Analysis/CFG.cpp
-
void interChangeDependencies (CharMatrix & DepMatrix, unsigned int FromIndx, unsigned int ToIndx)A loop is moved from index 'from' to an index 'to'. Update the Dependence
matrix by exchanging the two columns.
Defined at line 327 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
template <typename AliasAnalysisType>bool instructionClobbersQuery (MemoryDef * MD, const MemoryUseOrDef * MU, const MemoryLocOrCall & UseMLOC, AliasAnalysisType & AA)Defined at line 327 of file llvm/lib/Analysis/MemorySSA.cpp
-
void annotateNonNullAndDereferenceable (CallInst * CI, ArrayRef ArgNos, Value * Size, const DataLayout & DL)Defined at line 327 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
void clobberRegEntries (InlinedEntity Var, unsigned int RegNo, const MachineInstr & ClobberingInstr, int & LiveEntries, DbgValueHistoryMap & HistMap, SmallVectorImpl<Register> & FellowRegisters)Create a clobbering entry and end all open debug value entries
for
that are described by
using that entry. Inserts into
the set of Registers that were also used to describe
alongside
Defined at line 327 of file llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
-
const char * lto_module_get_target_triple (lto_module_t mod)Returns triple string which the object module was compiled under.
Defined at line 328 of file llvm/tools/lto/lto.cpp
-
bool isGEPFoldable (GetElementPtrInst * GEP, const TargetTransformInfo * TTI)Defined at line 328 of file llvm/lib/Transforms/Scalar/NaryReassociate.cpp
-
unsigned int ComputeNumSignBits (const Value * V, const SimplifyQuery & Q, unsigned int Depth)Defined at line 328 of file llvm/lib/Analysis/ValueTracking.cpp
-
basic_string streamValidate (Memory64ListStream & Stream)Defined at line 328 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
Error tryReadFileAndProcessRemarks (StringRef InputFileName, StringMap<InstCountAndStackSize> & FuncNameToSizeInfo)Wrapper function for readFileAndProcessRemarks which handles errors.
Parameters
InputFileName [in] - Name of file to read from.FuncNameToSizeInfo [out] - Populated with information from size remarks in the input file.Defined at line 328 of file llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
-
void emitDXILOpCodes (ArrayRef<DXILOperationDesc> Ops, raw_ostream & OS)Emit a mapping of DXIL opcode to opname
Defined at line 328 of file llvm/utils/TableGen/DXILEmitter.cpp
-
void emitInstBits (raw_ostream & IS, raw_ostream & SS, const APInt & Bits, unsigned int & Index)Defined at line 328 of file llvm/utils/TableGen/Common/VarLenCodeEmitterGen.cpp
-
bool checkConstLocationCompatible (const StableFunctionMap::StableFunctionEntry & SF, const IndexInstrMap & IndexInstruction, const ParamLocsVecTy & ParamLocsVec)Validate the locations pointed by a param has the same hash and Constant.
Defined at line 328 of file llvm/lib/CodeGen/GlobalMergeFunctions.cpp
-
Error mergeNamespaces (xmlNodePtr OriginalNode, xmlNodePtr AdditionalNode)Perform the namespace merge between two nodes.
Defined at line 328 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
Constant * rebuildSExtCst (const Constant * C, unsigned int NumBits, unsigned int NumElts, unsigned int SrcEltBitWidth)Defined at line 329 of file llvm/lib/Target/X86/X86FixupVectorConstants.cpp
-
uint16_t toSecMapFlags (uint32_t Flags)Defined at line 329 of file llvm/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp
-
bool findDemandedEltsBySingleUser (Value * V, Instruction * UserInstr, APInt & UnionUsedElts)Find elements of V demanded by UserInstr. If returns false, we were not able
to determine all elements.
Defined at line 329 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
APInt getVariantMatchScore (const VariantMatchInfo & VMI, const OMPContext & Ctx, SmallVectorImpl<unsigned int> & ConstructMatches)Defined at line 329 of file llvm/lib/Frontend/OpenMP/OMPContext.cpp
-
bool countsAsInstruction (const MachineInstr & MI)Whether MI should be counted as an instruction when calculating common tail.
Defined at line 330 of file llvm/lib/CodeGen/BranchFolding.cpp
-
void error (const Twine & Msg)Defined at line 330 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
void printUnknownLineInfo (std::string ModuleName, DIPrinter & Printer)Defined at line 330 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
void testBlobsParallel1 (ObjectStore & CAS, uint64_t BlobSize)Defined at line 330 of file llvm/unittests/CAS/ObjectStoreTest.cpp
-
bool shouldCoalesceFragments (Function & F)Defined at line 330 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
int fillCommandLineSymbols (MCAsmParser & Parser)Defined at line 330 of file llvm/tools/llvm-mc/llvm-mc.cpp
-
Error addSection (const NewSectionInfo & NewSection, Object & Obj)Defined at line 330 of file llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
-
Error registerJITLoaderPerfStartImpl ()Defined at line 330 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
uint64_t LLVMGetRelocationOffset (LLVMRelocationIteratorRef RI)RelocationRef accessors
Defined at line 331 of file llvm/lib/Object/Object.cpp
-
Error createAllocatorOutOfSpaceError ()Defined at line 331 of file llvm/lib/CAS/MappedFileRegionArena.cpp
-
void initializeXRayInstrumentationLegacyPassOnce (PassRegistry & Registry)Defined at line 331 of file llvm/lib/CodeGen/XRayInstrumentation.cpp
-
void normalizeTimeStat (GraphRenderer::TimeStat & S, double CycleFrequency)A Helper function for normalizeStatistics which normalises a single
TimeStat element.
Defined at line 331 of file llvm/tools/llvm-xray/xray-graph.cpp
-
template <typename Kind>void printModuleDetailStats (LinePrinter & P, StringRef Label, const StatCollection & Stats)Defined at line 331 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
Error handleCompressedSection (std::deque<SmallString<32>> & UncompressedSections, SectionRef Sec, StringRef Name, StringRef & Contents)Defined at line 331 of file llvm/lib/DWP/DWP.cpp
-
MachineInstrBuilder mergeVectorRegsToResultRegs (MachineIRBuilder & B, ArrayRef<Register> DstRegs, ArrayRef<Register> SrcRegs)Pack values
to cover the vector type result
Defined at line 331 of file llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
-
template <typename T>zeros_impl<sizeof(T)> zeros (const T & )Defined at line 332 of file llvm/lib/ObjectYAML/COFFEmitter.cpp
-
optional getImageBaseAddress (object::ObjectFile & Obj)Determine the virtual address that is considered the base address of an
object file.
Since GSYM files are used for symbolication, many clients will need to
easily adjust addresses they find in stack traces so the lookups happen
on unslid addresses from the original object file. If the base address of
a GSYM file is set to the base address of the image, then this address
adjusting is much easier.
Parameters
Obj An object file we will search.Defined at line 332 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
void removeSectionByPatternImpl (const char * YamlCreationString, function_ref IsValidFormat, StringRef SectionWildcard, StringRef SectionName)Defined at line 332 of file llvm/unittests/ObjCopy/ObjCopyTest.cpp
-
std::optional<IntegerIV> tryConvertToIntegerIV (const FloatingPointIV & FPIV)Ensure that the floating-point IV can be converted to a semantics-preserving
signed 32-bit integer IV.
Returns a IntegerIV struct if possible, std::nullopt otherwise.
Defined at line 332 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
Error getExtensionVersion (StringRef Ext, StringRef In, unsigned int & Major, unsigned int & Minor, unsigned int & ConsumeLength, bool EnableExperimentalExtension, bool ExperimentalExtensionVersionCheck)Extensions may have a version number, and may be separated by
an underscore '_' e.g.: rv32i2_m2.
Version number is divided into major and minor version numbers,
separated by a 'p'. If the minor version is 0 then 'p0' can be
omitted from the version string. E.g., rv32i2p0, rv32i2, rv32i2p1.
Defined at line 332 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
bool isARegister (MCRegister Reg)Defined at line 333 of file llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
-
GenericValue lle_X_exit (FunctionType * FT, ArrayRef Args)void exit(int)
Defined at line 333 of file llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
-
Constant * rebuildZExtCst (const Constant * C, unsigned int NumBits, unsigned int NumElts, unsigned int SrcEltBitWidth)Defined at line 333 of file llvm/lib/Target/X86/X86FixupVectorConstants.cpp
-
bool isSupportedGuardInstruction (const Instruction * Insn)Defined at line 333 of file llvm/lib/Transforms/Scalar/GuardWidening.cpp
-
bool CC_X86_64_Pointer (unsigned int & ValNo, MVT & ValVT, MVT & LocVT, CCValAssign::LocInfo & LocInfo, ISD::ArgFlagsTy & ArgFlags, CCState & State)Defined at line 333 of file llvm/lib/Target/X86/X86CallingConv.cpp
-
template <class ELFT>Expected<ELFObjectFile<ELFT>> toBinary (SmallVectorImpl<char> & Storage, StringRef Yaml)Defined at line 333 of file llvm/unittests/Object/ELFTest.cpp
-
unsigned int numRetVals (const Function * F)Convenience function that returns the number of return values. It returns 0
for void functions and 1 for functions not returning a struct. It returns
the number of struct elements for functions returning a struct.
Defined at line 333 of file llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
-
void initializeMachineLICMPassOnce (PassRegistry & Registry)Defined at line 334 of file llvm/lib/CodeGen/MachineLICM.cpp
-
unsigned int getRetOpcode (const X86Subtarget & Subtarget)Defined at line 335 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
void error (error_code EC, const Twine & Prefix)Defined at line 335 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
bool basicBlockCanReturn (const BasicBlock & BB)A basic block can only return if it terminates with a ReturnInst and does not
contain calls to noreturn functions.
Defined at line 335 of file llvm/lib/Analysis/CFG.cpp
-
bool allPhiOperandsUndefined (const MachineInstr & MPhi, const MachineRegisterInfo & MRI)Return true if all sources of the phi node are implicit_def's, or undef's.
Defined at line 335 of file llvm/lib/CodeGen/PHIElimination.cpp
-
SourcePred validShuffleVectorIndex ()Defined at line 335 of file llvm/lib/FuzzMutate/Operations.cpp
-
void symbolizeInput (const opt::InputArgList & Args, object::BuildIDRef IncomingBuildID, uint64_t AdjustVMA, bool IsAddr2Line, OutputStyle Style, StringRef InputString, LLVMSymbolizer & Symbolizer, DIPrinter & Printer)Defined at line 335 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
template <class T>size_t arrayDataSize (ArrayRef<T> A)Defined at line 336 of file llvm/lib/ObjectYAML/ELFEmitter.cpp
-
void streamMapping (yaml::IO & IO, ModuleListStream & Stream)Defined at line 336 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
void LLVMEnablePrettyStackTrace ()Enable LLVM's built-in stack trace code. This intercepts the OS's crash
signals and prints which component of LLVM you were in at the time if the
crash.
Defined at line 336 of file llvm/lib/Support/PrettyStackTrace.cpp
-
const char * ldissect (struct lmat * , const char * , const char * , sopno , sopno )- dissect - figure out what matched what, no back references
Defined at line 335 of file llvm/lib/Support/regengine.inc
-
const char * sdissect (struct smat * , const char * , const char * , sopno , sopno )- dissect - figure out what matched what, no back references
Defined at line 335 of file llvm/lib/Support/regengine.inc
-
int putCacheKey (ObjectStore & CAS, ActionCache & AC, ArrayRef<std::string> Objects)Defined at line 334 of file llvm/tools/llvm-cas/llvm-cas.cpp
-
bool blockPrologueInterferes (const MachineBasicBlock * BB, int End, const MachineInstr & MI, const TargetRegisterInfo * TRI, const TargetInstrInfo * TII, const MachineRegisterInfo * MRI)Return true if a target defined block prologue instruction interferes
with a sink candidate.
Defined at line 336 of file llvm/lib/CodeGen/MachineSink.cpp
-
SDValue getCopyFromPartsVector (SelectionDAG & DAG, const SDLoc & DL, const SDValue * Parts, unsigned int NumParts, MVT PartVT, EVT ValueVT, const Value * V, SDValue InChain, std::optional<CallingConv::ID> CC)getCopyFromPartsVector - Create a value that contains the specified legal
parts combined into the value they represent. If the parts combine to a
type larger than ValueVT then AssertOp can be used to specify whether the
extra bits are known to be zero (ISD::AssertZext) or sign extended from
ValueVT (ISD::AssertSext).
Defined at line 338 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
LLVMSymbolIteratorRef LLVMGetRelocationSymbol (LLVMRelocationIteratorRef RI)Defined at line 335 of file llvm/lib/Object/Object.cpp
-
bool hasInefficientLEABaseReg (const MachineOperand & Base, const MachineOperand & Index)Returns true if this LEA uses base and index registers, and the base
register is known to be inefficient for the subtarget.
TODO: use a variant scheduling class to model the latency profile
of LEA instructions, and implement this logic as a scheduling predicate.
Defined at line 336 of file llvm/lib/Target/X86/X86FixupLEAs.cpp
-
basic_string getMask (uint32_t prot)Defined at line 336 of file llvm/tools/llvm-readobj/MachODumper.cpp
-
optional encodePacked (const TypeSigTy & TypeSig)Pack the type signature into 32-bit fixed encoding word.
Defined at line 336 of file llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
-
Error load (MachOObjectFile * Obj, RecordsSlice & Slice, const ParseOption & Opt, Architecture Arch)Defined at line 336 of file llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
-
void TestInlineInfoEncodeDecode (endianness ByteOrder, const InlineInfo & Inline)Defined at line 336 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
unique_ptr ParseExpression ()expression
::= primary binoprhs
Defined at line 337 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
void lto_module_set_target_triple (lto_module_t mod, const char * triple)Sets triple string with which the object will be codegened.
Defined at line 332 of file llvm/tools/lto/lto.cpp
-
unsigned int lto_module_get_num_symbols (lto_module_t mod)Returns the number of symbols in the object module.
Defined at line 336 of file llvm/tools/lto/lto.cpp
-
void SkipIgnoredIntegerSuffix (const char *& CurPtr)Defined at line 337 of file llvm/lib/MC/MCParser/AsmLexer.cpp
-
int skipBackwardPastNonInstructions (int I, MachineBasicBlock * MBB)Iterate backwards from the given iterator
towards the beginning of the
block. If a MI satisfying 'countsAsInstruction' is found, return an iterator
pointing to that MI. If no such MI is found, return the end iterator.
Defined at line 337 of file llvm/lib/CodeGen/BranchFolding.cpp
-
bool doDefKillClear (MachineBasicBlock * MBB)Defined at line 337 of file llvm/lib/CodeGen/MIRCanonicalizerPass.cpp
-
Error parseAlignment (StringRef Str, Align & Alignment, StringRef Name, bool AllowZero)Attempts to parse an alignment component of a specification.
On success, returns the value converted to byte amount in
If the value is zero and
is true,
is set to one.
Return an error in a number of cases:
-
is empty or contains characters other than decimal digits;
- the value is zero and
is false;
- the value is too large;
- the value is not a multiple of the byte width;
- the value converted to byte amount is not not a power of two.
Defined at line 337 of file llvm/lib/IR/DataLayout.cpp
-
SmallVector<MachineInstr *, 2> findPotentialBlockers (MachineInstr * LoadInst)Collect potentially blocking stores.
Limit the number of instructions backwards we want to inspect
since the effect of store block won't be visible if the store
and load instructions have enough instructions in between to
keep the core busy.
Defined at line 337 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
Register scavengeVReg (MachineRegisterInfo & MRI, RegScavenger & RS, Register VReg, bool ReserveAfter)Allocate a register for the virtual register
The last use of
is around the current position of the register scavenger
controls whether the scavenged register needs to be reserved
after the current instruction, otherwise it will only be reserved before the
current instruction.
Defined at line 337 of file llvm/lib/CodeGen/RegisterScavenging.cpp
-
template <typename T>uint32_t initializeOptionalHeader (COFFParser & CP, uint16_t Magic, T Header)Defined at line 337 of file llvm/lib/ObjectYAML/COFFEmitter.cpp
-
void buildPartialInvariantUnswitchConditionalBranch (BasicBlock & BB, ArrayRef ToDuplicate, bool Direction, BasicBlock & UnswitchedSucc, BasicBlock & NormalSucc, Loop & L, MemorySSAUpdater * MSSAU, const BranchInst & OriginalBranch)Copy a set of loop invariant values, and conditionally branch on them.
Defined at line 337 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
void emitDXILOpClasses (const RecordKeeper & Records, raw_ostream & OS)Emit a list of DXIL op classes
Defined at line 338 of file llvm/utils/TableGen/DXILEmitter.cpp
-
optional isLexicographicallyPositive (ArrayRef DV, unsigned int Begin, unsigned int End)Check if a direction vector is lexicographically positive. Return true if it
is positive, nullopt if it is "zero", otherwise false.
[Theorem] A permutation of the loops in a perfect nest is legal if and only
if the direction matrix, after the same permutation is applied to its
columns, has no ">" direction as the leftmost non-"=" direction in any row.
Defined at line 338 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
bool printMarkupStackTrace (StringRef Argv0, void ** StackTrace, int Depth, raw_ostream & OS)Defined at line 338 of file llvm/lib/Support/Signals.cpp
-
Expected<TargetInfo> getOutputTargetInfoByTargetName (StringRef TargetName)Defined at line 338 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
bool isIntOrIntVectorValue (const std::pair<const Value *, unsigned int> & V)Defined at line 339 of file llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
-
basic_string getArchName (const object::MachOObjectFile & Obj)Defined at line 339 of file llvm/tools/dsymutil/MachODebugMapParser.cpp
-
const Module * getModuleFromDPI (const DbgMarker * Marker)Defined at line 339 of file llvm/lib/IR/AsmWriter.cpp
-
GenericValue lle_X_abort (FunctionType * FT, ArrayRef Args)void abort(void)
Defined at line 339 of file llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
-
const SCEVAddRecExpr * findAddRecForLoop (const SCEV * S, const Loop * L)Defined at line 339 of file llvm/lib/Analysis/IVUsers.cpp
-
bool containsUndefinedElement (const Constant * C, function_ref HasFn)Defined at line 339 of file llvm/lib/IR/Constants.cpp
-
void emitDesc (raw_ostream & OS, StringRef EnumName, ArrayRef<SDNodeInfo> Nodes, unsigned int NameOffset, unsigned int ConstraintsOffset, unsigned int ConstraintCount)Defined at line 339 of file llvm/utils/TableGen/SDNodeInfoEmitter.cpp
-
uint64_t LLVMGetRelocationType (LLVMRelocationIteratorRef RI)Defined at line 340 of file llvm/lib/Object/Object.cpp
-
template <class T>void writeArrayData (raw_ostream & OS, ArrayRef<T> A)Defined at line 340 of file llvm/lib/ObjectYAML/ELFEmitter.cpp
-
template <typename T>void copyBytesForDefRange (SmallString<20> & BytePrefix, SymbolKind SymKind, const T & DefRangeHeader)Only call this on endian-specific types like ulittle16_t and little32_t, or
structs composed of them.
Defined at line 340 of file llvm/lib/MC/MCStreamer.cpp
-
bool processCmp (CmpInst * Cmp, LazyValueInfo * LVI)Defined at line 340 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
LLVMBool LLVMTargetMachineEmitToMemoryBuffer (LLVMTargetMachineRef T, LLVMModuleRef M, codegen, char ** ErrorMessage, LLVMMemoryBufferRef * OutMemBuf)Compile the LLVM IR stored in
and store the result in
Defined at line 340 of file llvm/lib/Target/TargetMachineC.cpp
-
void streamMapping (yaml::IO & IO, SystemInfoStream & Stream)Defined at line 340 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
template <typename T>void error (const ErrorOr<T> & V, const Twine & Prefix)Defined at line 341 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
basic_string formatRegisterId (uint16_t Reg16, CPUType Cpu)Defined at line 341 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
const Value * getMinimalBaseOfPointer (Attributor & A, const AbstractAttribute & QueryingAA, const Value * Ptr, int64_t & BytesOffset, const DataLayout & DL, bool AllowNonInbounds)Defined at line 341 of file llvm/lib/Transforms/IPO/AttributorAttributes.cpp
-
double getLineWidth (const GraphDiffRenderer::GraphT::EdgeValueType & E, StatType EL)Defined at line 341 of file llvm/tools/llvm-xray/xray-graph-diff.cpp
-
void initializeCallGraphViewerPassOnce (PassRegistry & Registry)Defined at line 342 of file llvm/lib/Analysis/CallPrinter.cpp
-
bool hasLEAOffset (const MachineOperand & Offset)Defined at line 342 of file llvm/lib/Target/X86/X86FixupLEAs.cpp
-
void initializeSelectOptimizePassOnce (PassRegistry & Registry)Defined at line 342 of file llvm/lib/CodeGen/SelectOptimize.cpp
-
uint64_t getSymbolValue (const MCSymbolCOFF & Symbol, const MCAssembler & Asm)Defined at line 342 of file llvm/lib/MC/WinCOFFObjectWriter.cpp
-
MemberData computeStringTable (StringRef Names)Defined at line 342 of file llvm/lib/Object/ArchiveWriter.cpp
-
std::optional<BCECmpBlock> visitCmpBlock (Value *const Val, BasicBlock *const Block, const BasicBlock *const PhiBlock, BaseIdentifier & BaseId)Visit the given comparison block. If this is a comparison between two valid
BCE atoms, returns the comparison.
Defined at line 342 of file llvm/lib/Transforms/Scalar/MergeICmps.cpp
-
SmallVector makeTagVector (const list<std::string> & TagStrings)@
}
===----------------------------------------------------------------------===//
Defined at line 343 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
void initializeEarlyMachineLICMPassOnce (PassRegistry & Registry)Defined at line 343 of file llvm/lib/CodeGen/MachineLICM.cpp
-
uint64_t sectionPhysicalAddr (const SectionBase * Sec)Defined at line 343 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
Error resolveSectionAndAddress (const COFFObjectFile * Obj, const SymbolRef & Sym, const coff_section *& ResolvedSection, uint64_t & ResolvedAddr)Given a symbol sym this functions returns the address and section of it.
Defined at line 343 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
ModFlagBehavior map_to_llvmModFlagBehavior ( Behavior)Defined at line 343 of file llvm/lib/IR/Core.cpp
-
void lexCommand (const char * Argv0, std::string & Message, const std::string & CommandLine, std::string & CmdPath, std::vector<std::string> & Args)Tokenize the CommandLine to the command and the args to allow
defining a full command line as the command instead of just the
executed program. We cannot just pass the whole string after the command
as a single argument because then the program sees only a single
command line argument (with spaces in it: "foo bar" instead
of "foo" and "bar").
Spaces are used as a delimiter; however repeated, leading, and trailing
whitespace are ignored. Simple escaping is allowed via the '
\
'
character, as seen below:
Two consecutive '
\
' evaluate to a single '
\
'.
A space after a '
\
' evaluates to a space that is not interpreted as a
delimiter.
Any other instances of the '
\
' character are removed.
Example:
'
\
' -> '
\
'
'
\
' -> ' '
'exa
' -> 'example'
Defined at line 343 of file llvm/tools/bugpoint/ToolRunner.cpp
-
void migrateDebugInfo (AllocaInst * OldAlloca, bool IsSplit, uint64_t OldAllocaOffsetInBits, uint64_t SliceSizeInBits, Instruction * OldInst, Instruction * Inst, Value * Dest, Value * Value, const DataLayout & DL)Find linked dbg.assign and generate a new one with the correct
FragmentInfo. Link Inst to the new dbg.assign. If Value is nullptr the
value component is copied from the old dbg.assign to the new.
Parameters
OldAlloca Alloca for the variable before splitting.IsSplit True if the store (not necessarily alloca) is being split.OldAllocaOffsetInBits Offset of the slice taken from OldAlloca.SliceSizeInBits New number of bits being written to.OldInst Instruction that is being split.Inst New instruction performing this part of the split store.Dest Store destination.Value Stored value.DL Datalayout.Defined at line 343 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
template <class T>void zero (T & Obj)Defined at line 344 of file llvm/lib/ObjectYAML/ELFEmitter.cpp
-
bool canSkipClobberingStore (const StoreInst * SI, const MemoryLocation & MemLoc, Align MemLocAlign, BatchAAResults & BatchAA, unsigned int ScanLimit)Check if SI that may alias with MemLoc can be safely skipped. This is
possible in case if SI can only must alias or no alias with MemLoc (no
partial overlapping possible) and it writes the same value that MemLoc
contains now (it was loaded before this store and was not modified in
between).
Defined at line 344 of file llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
-
void convertMFI (ModuleSlotTracker & MST, yaml::MachineFrameInfo & YamlMFI, const MachineFrameInfo & MFI, const TargetRegisterInfo * TRI)Defined at line 344 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
bool canMoveAboveCall (Instruction * I, CallInst * CI, AliasAnalysis * AA)Return true if it is safe to move the specified
instruction from after the call to before the call, assuming that all
instructions between the call and this instruction are movable.
Defined at line 344 of file llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
-
const Module * getModuleFromDPI (const DbgRecord * DR)Defined at line 345 of file llvm/lib/IR/AsmWriter.cpp
-
basic_string formatRegisterId (ulittle16_t & Reg16, CPUType Cpu)Defined at line 345 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
void maybeVerifyModule (const Module & Mod)Defined at line 345 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
const char * LLVMGetRelocationTypeName (LLVMRelocationIteratorRef RI)NOTE: Caller takes ownership of returned string of the two
following functions.
Defined at line 345 of file llvm/lib/Object/Object.cpp
-
bool dumpFileEntry (DataExtractor & Data, uint64_t & Offset, DWARFYAML::File & File)Defined at line 345 of file llvm/tools/obj2yaml/dwarf2yaml.cpp
-
void linkComponents ()Defined at line 345 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
void initializeCallGraphDOTPrinterPassOnce (PassRegistry & Registry)Defined at line 346 of file llvm/lib/Analysis/CallPrinter.cpp
-
Cursor maybeLexIndex (Cursor C, MIToken & Token, StringRef Rule, TokenKind Kind)Defined at line 346 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void computeDiff (const StringMap<InstCountAndStackSize> & FuncNameToSizeInfoA, const StringMap<InstCountAndStackSize> & FuncNameToSizeInfoB, DiffsCategorizedByFilesPresent & DiffsByFilesPresent)Populates
with the difference between
and
Parameters
FuncNameToSizeInfoA [in] - Size info collected from the first remarks file.FuncNameToSizeInfoB [in] - Size info collected from the second remarks file.DiffsByFilesPresent [out] - Filled with the diff between andDefined at line 346 of file llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
-
bool terminalHasColors ()Defined at line 346 of file llvm/lib/Support/Unix/Process.inc
-
bool CC_X86_64_I128 (unsigned int & ValNo, MVT & ValVT, MVT & LocVT, CCValAssign::LocInfo & LocInfo, ISD::ArgFlagsTy & ArgFlags, CCState & State)Special handling for i128: Either allocate the value to two consecutive
i64 registers, or to the stack. Do not partially allocate in registers,
and do not reserve any registers when allocating to the stack.
Defined at line 346 of file llvm/lib/Target/X86/X86CallingConv.cpp
-
basic_string GetCheckTypeAbbreviation (FileCheckType Ty)Get an abbreviation for the check type.
Defined at line 346 of file llvm/utils/FileCheck/FileCheck.cpp
-
GlobalVariable * getOrCreateRefVariable (Function & F, SmallDenseMap<GlobalVariable *, GlobalVariable *> & RefMapping, GlobalVariable * GV)Get or create a new global variable that points to the old one and whose
name begins with `__ref_`.
In hot-patched images, the __ref_* variables point to global variables in
the original (unpatched) image. Hot-patched functions in the hot-patch
image use these __ref_* variables to access global variables. This ensures
that all code (both unpatched and patched) is using the same instances of
global variables.
The Windows hot-patch infrastructure handles modifying these __ref_*
variables. By default, they are initialized with pointers to the equivalent
global variables, so when a hot-patch module is loaded *as* a base image
(such as after a system reboot), hot-patch functions will access the
instances of global variables that are compiled into the hot-patch image.
This is the desired outcome, since in this situation (normal boot) the
hot-patch image *is* the base image.
When we create the GlobalVariable for the __ref_* variable, we must create
it as a *non-constant* global variable. The __ref_* pointers will not change
during the runtime of the program, so it is tempting to think that they
should be constant. However, they still need to be updateable by the
hot-patching infrastructure. Also, if the GlobalVariable is created as a
constant, then the LLVM optimizer will assume that it can dereference the
definition of the __ref_* variable at compile time, which defeats the
purpose of the indirection (pointer).
The RefMapping table spans the entire module, not just a single function.
Defined at line 346 of file llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
-
Error handleObjectFile (ObjectFile & Obj, const std::string & OutFile, OutputAggregator & Out)Defined at line 346 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
void FactorScope (int & MatcherPtr)Turn matches like this:
Scope
OPC_CheckType i32
ABC
OPC_CheckType i32
XYZ
into:
OPC_CheckType i32
Scope
ABC
XYZ
Defined at line 346 of file llvm/utils/TableGen/DAGISelMatcherOpt.cpp
-
void emitDXILOpParamTypes (const RecordKeeper & Records, raw_ostream & OS)Emit a list of DXIL op parameter types
Defined at line 347 of file llvm/utils/TableGen/DXILEmitter.cpp
-
Type * getRetComponentType (const Function * F, unsigned int Idx)Returns the sub-type a function will return at a given Idx. Should
correspond to the result type of an ExtractValue instruction executed with
just that one Idx (i.e. only top-level structure is considered).
Defined at line 347 of file llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
-
unsigned int getADDrrFromLEA (unsigned int LEAOpcode)Defined at line 347 of file llvm/lib/Target/X86/X86FixupLEAs.cpp
-
unique_ptr ParsePrototype ()prototype
::= id '(' id* ')'
Defined at line 347 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
SmallVector getPointerOperands (const Value & V, const DataLayout & DL, const TargetTransformInfo * TTI)Returns the pointer operands of V.
Precondition: V is an address expression.
Defined at line 347 of file llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
-
void replaceUnwindCoroEnd (AnyCoroEndInst * End, const coro::Shape & Shape, Value * FramePtr, bool InRamp, CallGraph * CG)Replace an unwind call to llvm.coro.end.
Defined at line 347 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
basic_string computeSystemZDataLayout (const Triple & TT)Defined at line 347 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
void printRelocationTargetName (const MachOObjectFile * O, const MachO::any_relocation_info & RE, raw_string_ostream & Fmt)Defined at line 347 of file llvm/tools/llvm-objdump/MachODump.cpp
-
Value * copyFlags (const CallInst & Old, Value * New)Copy CallInst "flags" like musttail, notail, and tail. Return New param for
easier chaining. Calls to emit* and B.createCall should probably be wrapped
in this function when New is created to replace Old. Callers should take
care to check Old.isMustTailCall() if they aren't replacing Old directly
with New.
Defined at line 348 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
template <unsigned N>void removeUnreachableFunctions (const SmallPtrSet<const Function *, N> & Reachable, Module & M)Defined at line 348 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
int createDumper (const ObjectFile & Obj, ScopedPrinter & Writer)Creates an format-specific object file dumper.
Defined at line 348 of file llvm/tools/llvm-readobj/llvm-readobj.cpp
-
void getSection (const MachOObjectFile * Obj, DataRefImpl Sec, MachOSection & Section)Defined at line 348 of file llvm/tools/llvm-readobj/MachODumper.cpp
-
Expected readModuleTriple (BitstreamCursor & Stream)Defined at line 348 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
basic_string formatRange (LocalVariableAddrRange Range)Defined at line 349 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
void replaceRegUsesAfterLoop (Register FromReg, Register ToReg, MachineBasicBlock * MBB, MachineRegisterInfo & MRI)Replace all uses of FromReg that appear outside the specified
basic block with ToReg.
Defined at line 349 of file llvm/lib/CodeGen/ModuloSchedule.cpp
-
int getCacheResult (ObjectStore & CAS, ActionCache & AC, const CASID & ID)Defined at line 349 of file llvm/tools/llvm-cas/llvm-cas.cpp
-
unsigned int doHexLookAhead (const char *& CurPtr, unsigned int DefaultRadix, bool LexHex)Look ahead to search for first non-hex digit, if it's [hH], then we treat the
integer as a hexadecimal, possibly with leading zeroes.
Defined at line 349 of file llvm/lib/MC/MCParser/AsmLexer.cpp
-
Instruction * foldShiftOfShiftedBinOp (BinaryOperator & I, InstCombiner::BuilderTy & Builder)If we have a shift-by-constant of a bin op (bitwise logic op or add/sub w/
shl) that itself has a shift-by-constant operand with identical opcode, we
may be able to convert that into 2 independent shifts followed by the logic
op. This eliminates a use of an intermediate value (reduces dependency
chain).
Defined at line 349 of file llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
-
void printCallingConv (unsigned int cc, raw_ostream & Out)Defined at line 349 of file llvm/lib/IR/AsmWriter.cpp
-
void error (Error Err)Defined at line 350 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
int getLocalLTOModule (StringRef Path, int & Buffer, const TargetOptions & Options)Defined at line 350 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
bool isLegalToInterChangeLoops (CharMatrix & DepMatrix, unsigned int InnerLoopId, unsigned int OuterLoopId)Checks if it is legal to interchange 2 loops.
Defined at line 350 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
Error loadYAMLLog (StringRef Data, XRayFileHeader & FileHeader, std::vector<XRayRecord> & Records)Defined at line 350 of file llvm/lib/XRay/Trace.cpp
-
bool isEqualImpl (SimpleValue LHS, SimpleValue RHS)Defined at line 350 of file llvm/lib/Transforms/Scalar/EarlyCSE.cpp
-
bool isVtableAccess (Instruction * I)Defined at line 351 of file llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
-
void mapValueToSlot (const Value * V, ModuleSlotTracker & MST, int & Slots2Values)Defined at line 351 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
int AssembleInput (const char * ProgName, const Target * TheTarget, SourceMgr & SrcMgr, MCContext & Ctx, MCStreamer & Str, MCAsmInfo & MAI, MCSubtargetInfo & STI, MCInstrInfo & MCII, const MCTargetOptions & MCOptions)Defined at line 351 of file llvm/tools/llvm-mc/llvm-mc.cpp
-
Value * findBaseDefiningValueOfVector (Value * I, int & Cache, int & KnownBases)Return a base defining value for the 'Index' element of the given vector
instruction 'I'. If Index is null, returns a BDV for the entire vector
'I'. As an optimization, this method will try to determine when the
element is known to already be a base pointer. If this can be established,
the second value in the returned pair will be true. Note that either a
vector or a pointer typed value can be returned. For the former, the
vector returned is a BDV (and possibly a base) of the entire vector 'I'.
If the later, the return pointer is a BDV (or possibly a base) for the
particular element in 'I'.
Defined at line 351 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void emitInstBits (raw_ostream & OS, const APInt & Bits)Defined at line 352 of file llvm/utils/TableGen/CodeEmitterGen.cpp
-
bool runPipeline (mca::Pipeline & P)Returns true on success.
Defined at line 352 of file llvm/tools/llvm-mca/llvm-mca.cpp
-
void verifyArch (ArrayRef<OwningBinary<Binary>> InputBinaries, ArrayRef<std::string> VerifyArchList)Defined at line 352 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
void CrashRecoverySignalHandler (int Signal)Defined at line 352 of file llvm/lib/Support/CrashRecoveryContext.cpp
-
int computeHostNumPhysicalCores ()On Linux, the number of physical cores can be computed from /proc/cpuinfo,
using the number of unique physical/core id pairs. The following
implementation reads the /proc/cpuinfo format on an x86_64 system.
Defined at line 352 of file llvm/lib/Support/Unix/Threading.inc
-
char * LLVMGetDefaultTargetTriple ()===-- Triple ------------------------------------------------------------===
Get a triple for the host machine as a string. The result needs to be
disposed with LLVMDisposeMessage.
Defined at line 353 of file llvm/lib/Target/TargetMachineC.cpp
-
bool isBitAligned (Align Alignment, uint64_t SizeInBits)Defined at line 353 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
Value * processNonStringArg (Value * Arg, IRBuilder<> & Builder)Defined at line 353 of file llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
-
SmallVector computeParamInfo (const StableFunctionMap::StableFunctionEntries & SFS)Defined at line 353 of file llvm/lib/CodeGen/GlobalMergeFunctions.cpp
-
Value * foldLogOpOfMaskedICmps_NotAllZeros_BMask_Mixed (Value * LHS, Value * RHS, bool IsAnd, Value * A, Value * B, Value * D, Value * E, Predicate PredL, Predicate PredR, InstCombiner::BuilderTy & Builder)Try to fold (icmp(A
&
B) ==/!= C)
&
/| (icmp(A
&
D) ==/!= E) into a single
(icmp(A
&
X) ==/!= Y), where the left-hand side is of type Mask_NotAllZeros
and the right hand side is of type BMask_Mixed. For example,
(icmp (A
&
12) != 0)
&
(icmp (A
&
15) == 8) -> (icmp (A
&
15) == 8).
Also used for logical and/or, must be poison safe.
Defined at line 353 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
const char * LLVMGetRelocationValueString (LLVMRelocationIteratorRef RI)NOTE: Caller takes ownership of returned string.
Defined at line 354 of file llvm/lib/Object/Object.cpp
-
time_point now (bool Deterministic)Defined at line 354 of file llvm/lib/Object/ArchiveWriter.cpp
-
template <typename CallbackT>void iterateModules (PDBFile & File, LinePrinter & P, uint32_t IndentLevel, CallbackT Callback)Defined at line 354 of file llvm/tools/llvm-pdbutil/BytesOutputStyle.cpp
-
unsigned int ComputeCommonTailLength (MachineBasicBlock * MBB1, MachineBasicBlock * MBB2, int & I1, int & I2)Given two machine basic blocks, return the number of instructions they
actually have in common together at their end. If a common tail is found (at
least by one instruction), then iterators for the first shared instruction
in each block are returned as well.
Non-instructions according to countsAsInstruction are ignored.
Defined at line 354 of file llvm/lib/CodeGen/BranchFolding.cpp
-
Value * threadBinOpOverSelect (BinaryOps Opcode, Value * LHS, Value * RHS, const SimplifyQuery & Q, unsigned int MaxRecurse)In the case of a binary operation with a select instruction as an operand,
try to simplify the binop by seeing whether evaluating it on both branches
of the select results in the same value. Returns the common value if so,
otherwise returns null.
Defined at line 354 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
GenericValue lle_X_sprintf (FunctionType * FT, ArrayRef Args)int sprintf(char *, const char *, ...) - a very rough implementation to make
output useful.
Defined at line 354 of file llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
-
bool doSimplify_v1 (Function & F)Defined at line 355 of file llvm/examples/IRTransforms/SimplifyCFG.cpp
-
bool CheckedZextOrTrunc (APInt & I, unsigned int IntTyBits)When we're compiling N-bit code, and the user uses parameters that are
greater than N bits (e.g. uint64_t on a 32-bit build), we can run into
trouble with APInt size issues. This function handles resizing + overflow
checks for us. Check and zext or trunc
depending on IntTyBits and
I's value.
Defined at line 355 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
void TestInlineInfoDecodeError (endianness ByteOrder, StringRef Bytes, const uint64_t BaseAddr, basic_string ExpectedErrorMsg)Defined at line 355 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
uint32_t getNumberOfRelocations (const coff_section * Sec, MemoryBufferRef M, const uint8_t * base)Defined at line 355 of file llvm/lib/Object/COFFObjectFile.cpp
-
void compress_subtree_to_parent_node (const uint8_t * input, size_t input_len, const uint32_t[8] key, uint64_t chunk_counter, uint8_t flags, uint8_t[64] out, _Bool use_tbb)Hash a subtree with compress_subtree_wide(), and then condense the resulting
list of chaining values down to a single parent node. Don't compress that
last parent node, however. Instead, return its message bytes (the
concatenated chaining values of its children). This is necessary when the
first call to update() supplies a complete subtree, because the topmost
parent node of that subtree could end up being the root. It's also necessary
for extended output in the general case.
As with compress_subtree_wide(), this function is not used on inputs of 1
chunk or less. That's a different codepath.
Defined at line 355 of file llvm/lib/Support/BLAKE3/blake3.c
-
BasicBlock * insertUniqueBackedgeBlock (Loop * L, BasicBlock * Preheader, DominatorTree * DT, LoopInfo * LI, MemorySSAUpdater * MSSAU)This method is called when the specified loop has more than one
backedge in it.
If this occurs, revector all of these backedges to target a new basic block
and have that block branch to the loop header. This ensures that loops
have exactly one backedge.
Defined at line 355 of file llvm/lib/Transforms/Utils/LoopSimplify.cpp
-
void RemoveFilesToRemove ()Process the FilesToRemove list.
Defined at line 356 of file llvm/lib/Support/Unix/Signals.inc
-
bool stripNegationPrefix (StringRef & Name)Defined at line 356 of file llvm/lib/TargetParser/ARMTargetParser.cpp
-
basic_string formatGaps (uint32_t IndentLevel, ArrayRef Gaps)Defined at line 356 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
bool hasLoc (const Instruction & I)Defined at line 356 of file llvm/lib/Transforms/Utils/Debugify.cpp
-
Value * mergeAttributesAndFlags (CallInst * NewCI, const CallInst & Old)Defined at line 356 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
void dumpDebugLines (llvm::DWARFContext & DCtx, llvm::DWARFYAML::Data & Y)Defined at line 356 of file llvm/tools/obj2yaml/dwarf2yaml.cpp
-
char * LLVMNormalizeTargetTriple (const char * triple)Normalize a target triple. The result needs to be disposed with
LLVMDisposeMessage.
Defined at line 357 of file llvm/lib/Target/TargetMachineC.cpp
-
bool handleBranchExpect (BranchInst & BI)Defined at line 357 of file llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
-
void error (StringRef Prefix, Error Err)Defined at line 357 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
bool isEmptyModule (const Module & Mod)Defined at line 357 of file llvm/lib/LTO/LTOBackend.cpp
-
void emitDXILAttributes (const RecordKeeper & Records, raw_ostream & OS)Emit a list of DXIL op function attributes
Defined at line 357 of file llvm/utils/TableGen/DXILEmitter.cpp
-
bool hasVariantSymbol (const MCInst & MI)Check if the instruction has a variant symbol operand.
Defined at line 357 of file llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
-
bool maintainNoSignedWrap (BinaryOperator & I, Value * B, Value * C)Return true, if No Signed Wrap should be maintained for I.
The No Signed Wrap flag can be kept if the operation "B (I.getOpcode) C",
where both B and C should be ConstantInts, results in a constant that does
not overflow. This function only handles the Add/Sub/Mul opcodes. For
all other opcodes, the function conservatively returns false.
Defined at line 357 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
optional analyzeLoopUnrollCost (const Loop * L, unsigned int TripCount, DominatorTree & DT, ScalarEvolution & SE, const SmallPtrSetImpl<const Value *> & EphValues, const TargetTransformInfo & TTI, unsigned int MaxUnrolledLoopSize, unsigned int MaxIterationsCountToAnalyze)Figure out if the loop is worth full unrolling.
Complete loop unrolling can make some loads constant, and we need to know
if that would expose any further optimization opportunities. This routine
estimates this optimization. It computes cost of unrolled loop
(UnrolledCost) and dynamic cost of the original loop (RolledDynamicCost). By
dynamic cost we mean that we won't count costs of blocks that are known not
to be executed (i.e. if we have a branch in the loop and we know that at the
given iteration its condition would be resolved to true, we won't add up the
cost of the 'false'-block).
Defined at line 357 of file llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
-
void initializeCompressEVEXPassPassOnce (PassRegistry & Registry)Defined at line 358 of file llvm/lib/Target/X86/X86CompressEVEX.cpp
-
Type * getReducedType (Value * V, Type * Ty)Given a reduced scalar type
and a
value, return a reduced type
for
according to its type, if it vector type, return the vector
version of
otherwise return
Defined at line 358 of file llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
-
void verifyAfterRoundTrip (const Module & M, unique_ptr OtherM)Defined at line 358 of file llvm/tools/verify-uselistorder/verify-uselistorder.cpp
-
MachineMemOperand * getMachineMemOperand (MachineFunction & MF, FrameIndexSDNode & FI)Defined at line 358 of file llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
-
const BasicBlock * getEHPadFromPredecessor (const BasicBlock * BB, Value * ParentPad)Given BB which ends in an unwind edge, return the EHPad that this BB belongs
to. If the unwind edge came from an invoke, return null.
Defined at line 358 of file llvm/lib/CodeGen/WinEHPrepare.cpp
-
Value * matchAddReduction (const ExtractElementInst & EE, bool & ReduceInOneBB)Walk backwards from the ExtractElementInst and determine if it is the end of
a horizontal reduction. Return the input to the reduction if we find one.
Defined at line 358 of file llvm/lib/Target/X86/X86PartialReduction.cpp
-
bool processSwitch (SwitchInst * I, LazyValueInfo * LVI, DominatorTree * DT)Simplify a switch instruction by removing cases which can never fire. If the
uselessness of a case could be determined locally then constant propagation
would already have figured it out. Instead, walk the predecessors and
statically evaluate cases based on information available on that edge. Cases
that cannot fire no matter what the incoming edge can safely be removed. If
a case fires on every incoming edge then the entire switch can be removed
and replaced with a branch to the case destination.
Defined at line 358 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
error_code coff2yaml (llvm::raw_ostream & Out, const llvm::object::COFFObjectFile & Obj)Defined at line 359 of file llvm/tools/obj2yaml/coff2yaml.cpp
-
unsigned int getSUBrrFromLEA (unsigned int LEAOpcode)Defined at line 359 of file llvm/lib/Target/X86/X86FixupLEAs.cpp
-
Cursor maybeLexIndexAndName (Cursor C, MIToken & Token, StringRef Rule, TokenKind Kind)Defined at line 359 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void explainDbiModiSubstreamOffset (LinePrinter & P, DbiStream & Dbi, uint32_t Offset)Defined at line 359 of file llvm/tools/llvm-pdbutil/ExplainOutputStyle.cpp
-
bool shouldInstrumentReadWriteFromAddress (const Module * M, Value * Addr)Do not instrument known races/"benign races" that come from compiler
instrumentation. The user has no way of suppressing them.
Defined at line 359 of file llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
-
bool runOnBasicBlock (MachineBasicBlock * MBB, unsigned int BasicBlockNum, VRegRenamer & Renamer)Defined at line 359 of file llvm/lib/CodeGen/MIRCanonicalizerPass.cpp
-
template <typename AAType, typename StateType = typename AAType::StateType, Attribute::AttrKind IRAttributeKind = AAType::IRAttributeKind, bool RecurseForSelectAndPHI = true>void clampReturnedValueStates (Attributor & A, const AAType & QueryingAA, StateType & S, const IRPosition::CallBaseContext * CBContext)Clamp the information known for all returned values of a function
(identified by
into
Defined at line 359 of file llvm/lib/Transforms/IPO/AttributorAttributes.cpp
-
bool doSimplify_v2 (Function & F, DominatorTree & DT)Defined at line 360 of file llvm/examples/IRTransforms/SimplifyCFG.cpp
-
bool hasUseAfterLoop (Register Reg, MachineBasicBlock * BB, MachineRegisterInfo & MRI)Return true if the register has a use that occurs outside the
specified loop.
Defined at line 360 of file llvm/lib/CodeGen/ModuloSchedule.cpp
-
basic_string getFSProfileFile (const TargetMachine * TM)Find the FSProfile file name. The internal option takes the precedence
before getting from TargetMachine.
Defined at line 360 of file llvm/lib/CodeGen/TargetPassConfig.cpp
-
Error resolveSymbol (const std::vector<RelocationRef> & Rels, uint64_t Offset, SymbolRef & Sym)Given a vector of relocations for a section and an offset into this section
the function returns the symbol used for the relocation at the offset.
Defined at line 360 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
void initSlots2Values (const Function & F, int & Slots2Values)Creates the mapping from slot numbers to function's unnamed IR values.
Defined at line 360 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
uint8_t mergeTypeForSet (uint8_t origType, uint8_t newType)Defined at line 360 of file llvm/lib/MC/ELFObjectWriter.cpp
-
Expected findSection (StringRef SecName, Object & O)Defined at line 360 of file llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
-
bool discoverTypeIndices (ArrayRef Content, SymbolKind Kind, SmallVectorImpl<TiReference> & Refs)Defined at line 360 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
int validateObject (ObjectStore & CAS, const CASID & ID)Defined at line 361 of file llvm/tools/llvm-cas/llvm-cas.cpp
-
char * LLVMGetHostCPUName ()Get the host CPU as a string. The result needs to be disposed with
LLVMDisposeMessage.
Defined at line 361 of file llvm/lib/Target/TargetMachineC.cpp
-
void writeCString (StringRef Str, AsmPrinter & Asm)Defined at line 361 of file llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
-
void llvm_jitlink_setTestResultOverride (int64_t Value)Defined at line 361 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
unsigned int getShufflevectorNumGroups (ArrayRef VL)Defined at line 361 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool collectSRATypes (int & Parts, GlobalVariable * GV, const DataLayout & DL)Look at all uses of the global and determine which (offset, type) pairs it
can be split into.
Defined at line 361 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool isArchiveSymbol (const object::BasicSymbolRef & S)Defined at line 362 of file llvm/lib/Object/ArchiveWriter.cpp
-
void BeginEmitFunction (raw_ostream & OS, StringRef RetType, StringRef Decl, bool AddOverride)Defined at line 362 of file llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
-
map_from_llvmModFlagBehavior (ModFlagBehavior Behavior)Defined at line 362 of file llvm/lib/IR/Core.cpp
-
Error addSymbolsFromFile (NameMatcher & Symbols, BumpPtrAllocator & Alloc, StringRef Filename, MatchStyle MS, function_ref<Error (Error)> ErrorCallback)Defined at line 362 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
void finalizeDwarfRegNumsKeys (int & DwarfRegNums)Defined at line 362 of file llvm/utils/TableGen/RegisterInfoEmitter.cpp
-
bool formLCSSAImpl (Loop & L, const DominatorTree & DT, const LoopInfo * LI, ScalarEvolution * SE, LoopExitBlocksTy & LoopExitBlocks)Defined at line 362 of file llvm/lib/Transforms/Utils/LCSSA.cpp
-
bool incomingValuesAreCompatible (BasicBlock * BB, ArrayRef IncomingBlocks, SmallPtrSetImpl<Value *> * EquivalenceSet)Return true if all the PHI nodes in the basic block
receive compatible (identical) incoming values when coming from
all of the predecessor blocks that are specified in
Note that if the values aren't exactly identical, but
is provided, and *both* of the values are present in the set,
then they are considered equal.
Defined at line 363 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void error (StringRef Prefix, error_code EC)Defined at line 364 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
void initializeScalarizerLegacyPassPassOnce (PassRegistry & Registry)Defined at line 364 of file llvm/lib/Transforms/Scalar/Scalarizer.cpp
-
char popFront (StringRef & S)Parsing helper function that strips the first character in S and returns it.
Defined at line 364 of file llvm/lib/FileCheck/FileCheck.cpp
-
ErrorOr getOutputStream ()Attempt to get the output stream for writing the diff.
Defined at line 364 of file llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
-
bool lowerExpectIntrinsic (Function & F)Defined at line 364 of file llvm/lib/Transforms/Scalar/LowerExpectIntrinsic.cpp
-
bool doSimplify_v3 (Function & F, DominatorTree & DT)Defined at line 365 of file llvm/examples/IRTransforms/SimplifyCFG.cpp
-
bool isAcceleratorExecutionRoot (const Function * F)Defined at line 365 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
void initializeLoopTermFoldPassOnce (PassRegistry & Registry)Defined at line 365 of file llvm/lib/Transforms/Scalar/LoopTermFold.cpp
-
basic_string formatJumpTableEntrySize (JumpTableEntrySize EntrySize)Defined at line 365 of file llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
-
void writeV2IncludeAndFileTable (const DWARFDebugLine::Prologue & Prologue, AsmPrinter & Asm)Defined at line 366 of file llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
-
bool shouldUseMmap (sys::fs::file_t FD, size_t FileSize, size_t MapSize, off_t Offset, bool RequiresNullTerminator, int PageSize, bool IsVolatile)Defined at line 366 of file llvm/lib/Support/MemoryBuffer.cpp
-
basic_string getDescription (const Loop & L)Defined at line 367 of file llvm/lib/Analysis/LoopPass.cpp
-
void tcComplement (APInt::WordType * dst, unsigned int parts)Complement a bignum in-place.
Defined at line 367 of file llvm/lib/Support/APInt.cpp
-
bool attrIsDefined (int Attrs, const Record * Attr)Helper function to determine if the given Attr is defined in the vector
Attrs, by comparing the names
Defined at line 367 of file llvm/utils/TableGen/DXILEmitter.cpp
-
void TestInlineInfoEncodeError (endianness ByteOrder, const InlineInfo & Inline, basic_string ExpectedErrorMsg)Defined at line 367 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
int llvm_cgdata_main (int argc, char ** , const llvm::ToolContext & )Defined at line 369 of file llvm/tools/llvm-cgdata/llvm-cgdata.cpp
-
int validate (ObjectStore & CAS, ActionCache & AC, bool CheckHash)Defined at line 368 of file llvm/tools/llvm-cas/llvm-cas.cpp
-
char * LLVMGetHostCPUFeatures ()Get the host CPU's features as a string. The result needs to be disposed
with LLVMDisposeMessage.
Defined at line 365 of file llvm/lib/Target/TargetMachineC.cpp
-
vector orderSpellings (ArrayRef Spellings)Given a list of spellings (for a given clause/directive), order them
in a way that allows the use of binary search to locate a spelling
for a specified version.
Defined at line 368 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
const MCExpr * forceExpAbs (MCStreamer & OS, const MCExpr * Expr)Defined at line 368 of file llvm/lib/MC/MCDwarf.cpp
-
void verifyBitcodeUseListOrder (const Module & M)Defined at line 368 of file llvm/tools/verify-uselistorder/verify-uselistorder.cpp
-
void undriftMemProfRecord (const int & UndriftMaps, memprof::MemProfRecord & MemProfRec)Given a MemProfRecord, undrift all the source locations present in the
record in place.
Defined at line 368 of file llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
-
DIDumpOptions getDumpOpts (DWARFContext & C)Defined at line 368 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
VPValue * getPredicatedMask (VPRegionBlock * R)If
is a region with a VPBranchOnMaskRecipe in the entry block, return
the mask.
Defined at line 369 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
StringRef removeTemplateArgs (StringRef Name)Defined at line 369 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
bool hasVulnerableLoad (MachineFunction & MF)Helper to scan a function for loads vulnerable to misspeculation that we
want to harden.
We use this to avoid making changes to functions where there is nothing we
need to do to harden against misspeculation.
Defined at line 369 of file llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
-
pair insertWaveSizeFeature (StringRef GPU, const Triple & T, const StringMap<bool> & DefaultFeatures, StringMap<bool> & Features)Defined at line 369 of file llvm/lib/TargetParser/TargetParser.cpp
-
void handleNewDebugValue (InlinedEntity Var, const MachineInstr & DV, int & RegVars, int & LiveEntries, DbgValueHistoryMap & HistMap)Add a new debug value for
Closes all overlapping debug values.
Defined at line 369 of file llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
-
void thinLTOResolvePrevailingGUID (const Config & C, ValueInfo VI, int & GlobalInvolvedWithAlias, function_ref<bool (GlobalValue::GUID, const GlobalValueSummary *)> isPrevailing, function_ref<void (StringRef, GlobalValue::GUID, GlobalValue::LinkageTypes)> recordNewLinkage, const int & GUIDPreservedSymbols)Defined at line 369 of file llvm/lib/LTO/LTO.cpp
-
template <bool IsLoad, typename Ty>bool getPotentialCopiesOfMemoryValue (Attributor & A, Ty & I, SmallSetVector<Value *, 4> & PotentialCopies, SmallSetVector<Instruction *, 4> * PotentialValueOrigins, const AbstractAttribute & QueryingAA, bool & UsedAssumedInformation, bool OnlyExact)Defined at line 369 of file llvm/lib/Transforms/IPO/Attributor.cpp
-
void streamMapping (yaml::IO & IO, TextContentStream & Stream)Defined at line 370 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
StringRef substr (StringRef Str, uint64_t Len)Helper to avoid truncating the length if size_t is 32-bits.
Defined at line 370 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
bool isStructPathTBAA (const MDNode * MD)Check the first operand of the tbaa tag node, if it is a MDNode, we treat
it as struct-path aware TBAA format, otherwise, we treat it as scalar TBAA
format.
Defined at line 370 of file llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
-
LaneBitmask getRegLanes (ArrayRef<VRegMaskOrUnit> RegUnits, VirtRegOrUnit VRegOrUnit)Defined at line 370 of file llvm/lib/CodeGen/RegisterPressure.cpp
-
unique_ptr ParseDefinition ()definition ::= 'def' prototype expression
Defined at line 370 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
FPUKind findDoublePrecisionFPU (FPUKind InputFPUKind)Defined at line 370 of file llvm/lib/TargetParser/ARMTargetParser.cpp
-
void printIndexStats ()Print some statistics on the index for each input files.
Defined at line 370 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
Expected upgrade (ArrayRef BMs)Upgrade a vector of bitcode modules created by an old version of LLVM by
creating an irsymtab for them in the current format.
Defined at line 370 of file llvm/lib/Object/IRSymtab.cpp
-
void printObjectSectionSizes (ObjectFile * Obj)Print the size of each section in
The format used is determined by
and
Defined at line 370 of file llvm/tools/llvm-size/llvm-size.cpp
-
void dumpObject (ObjectFile & Obj, ScopedPrinter & Writer, const Archive * A)Dumps the specified object file.
Defined at line 370 of file llvm/tools/llvm-readobj/llvm-readobj.cpp
-
const CallInst * findStackProtectorIntrinsic (Function & F)Search for the first call to the llvm.stackprotector intrinsic and return it
if present.
Defined at line 371 of file llvm/lib/CodeGen/StackProtector.cpp
-
basic_string getFSRemappingFile (const TargetMachine * TM)Find the Profile remapping file name. The internal option takes the
precedence before getting from TargetMachine.
Defined at line 371 of file llvm/lib/CodeGen/TargetPassConfig.cpp
-
template <typename AliasAnalysisType>bool isUseTriviallyOptimizableToLiveOnEntry (AliasAnalysisType & AA, const Instruction * I)Defined at line 371 of file llvm/lib/Analysis/MemorySSA.cpp
-
unsigned int getADDriFromLEA (unsigned int LEAOpcode, const MachineOperand & Offset)Defined at line 371 of file llvm/lib/Target/X86/X86FixupLEAs.cpp
-
void convertEntryValueObjects (yaml::MachineFunction & YMF, const MachineFunction & MF, ModuleSlotTracker & MST)Defined at line 372 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
bool mayHaveInterruptDelaySlot (unsigned int InstOpcode)X86 has certain instructions which enable interrupts exactly one
instruction *after* the instruction which stores to SS. Return true if the
given instruction may have such an interrupt delay slot.
Defined at line 372 of file llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
-
APInt findDemandedEltsByAllUsers (Value * V)Find union of elements of V demanded by all its users.
If it is known by querying findDemandedEltsBySingleUser that
no user demands an element of V, then the corresponding bit
remains unset in the returned value.
Defined at line 372 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
bool checkIfSupported (const Function * F, const CallBase * CB)Defined at line 372 of file llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
-
void addCygMingExtraModule (ExecutionEngine & EE, LLVMContext & Context, const Triple & TargetTriple)On Mingw and Cygwin, an external symbol named '__main' is called from the
generated 'main' function to allow static initialization. To avoid linking
problems with remote targets (because lli's remote target support does not
currently handle external linking) we add a secondary module which defines
an empty '__main' function.
Defined at line 372 of file llvm/tools/lli/lli.cpp
-
void callBufferedPrintfArgPush (IRBuilder<> & Builder, ArrayRef Args, Value * PtrToStore, SparseBitVector<8> & SpecIsCString, SmallVectorImpl<StringData> & StringContents, bool IsConstFmtStr)Defined at line 372 of file llvm/lib/Transforms/Utils/AMDGPUEmitPrintf.cpp
-
void computeKnownBitsFromLerpPattern (const Value * Op0, const Value * Op1, const APInt & DemandedElts, KnownBits & KnownOut, const SimplifyQuery & Q, unsigned int Depth)Try to detect the lerp pattern: a * (b - c) + c * d
where a >= 0, b >= 0, c >= 0, d >= 0, and b >= c.
In that particular case, we can use the following chain of reasoning:
a * (b - c) + c * d
<
= a' * (b - c) + a' * c = a' * b where a' = max(a, d)
Since that is true for arbitrary a, b, c and d within our constraints, we
can conclude that:
max(a * (b - c) + c * d)
<
= max(max(a), max(d)) * max(b) = U
Considering that any result of the lerp would be less or equal to U, it
would have at least the number of leading 0s as in U.
While being quite a specific situation, it is fairly common in computer
graphics in the shape of alpha blending.
Modifies given KnownOut in-place with the inferred information.
Defined at line 372 of file llvm/lib/Analysis/ValueTracking.cpp
-
int validateIfNeeded (StringRef Path, bool CheckHash, bool Force, bool AllowRecovery, bool InProcess, const char * Argv0)Defined at line 376 of file llvm/tools/llvm-cas/llvm-cas.cpp
-
void LLVMAddAnalysisPasses (LLVMTargetMachineRef T, LLVMPassManagerRef PM)Adds the target-specific analysis passes to the pass manager.
Defined at line 373 of file llvm/lib/Target/TargetMachineC.cpp
-
const char * lto_module_get_symbol_name (lto_module_t mod, unsigned int index)Returns the name of the ith symbol in the object module.
Defined at line 340 of file llvm/tools/lto/lto.cpp
-
lto_module_get_symbol_attribute (lto_module_t mod, unsigned int index)Returns the attributes of the ith symbol in the object module.
Defined at line 344 of file llvm/tools/lto/lto.cpp
-
unsigned int lto_module_get_num_asm_undef_symbols (lto_module_t mod)Returns the number of asm undefined symbols in the object module.
Defined at line 349 of file llvm/tools/lto/lto.cpp
-
const char * lto_module_get_asm_undef_symbol_name (lto_module_t mod, unsigned int index)Returns the name of the ith asm undefined symbol in the object module.
Defined at line 353 of file llvm/tools/lto/lto.cpp
-
const char * lto_module_get_linkeropts (lto_module_t mod)Returns the module's linker options.
The linker options may consist of multiple flags. It is the linker's
responsibility to split the flags using a platform-specific mechanism.
Defined at line 358 of file llvm/tools/lto/lto.cpp
-
lto_bool_t lto_module_get_macho_cputype (lto_module_t mod, unsigned int * out_cputype, unsigned int * out_cpusubtype)If targeting mach-o on darwin, this function gets the CPU type and subtype
that will end up being encoded in the mach-o header. These are the values
that can be found in mach/machine.h.
and
must be non-NULL.
Returns true on error (check lto_get_error_message() for details).
Defined at line 362 of file llvm/tools/lto/lto.cpp
-
hash_code hashInstructionMapping (unsigned int ID, unsigned int Cost, const RegisterBankInfo::ValueMapping * OperandsMapping, unsigned int NumOperands)Defined at line 373 of file llvm/lib/CodeGen/RegisterBankInfo.cpp
-
bool isSSA (const MachineFunction & MF)Defined at line 373 of file llvm/lib/CodeGen/MIRParser/MIRParser.cpp
-
unsigned int convertTailJumpOpcode (unsigned int Opcode)Replace TAILJMP opcodes with their equivalent opcodes that have encoding
information.
Defined at line 373 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
const char * findLastDigit (const char * CurPtr, unsigned int DefaultRadix)Defined at line 374 of file llvm/lib/MC/MCParser/AsmLexer.cpp
-
int ParseIfExpr ()ifexpr ::= 'if' expression 'then' expression 'else' expression
Defined at line 374 of file llvm/examples/Kaleidoscope/Chapter6/toy.cpp
-
const coff_relocation * getFirstReloc (const coff_section * Sec, MemoryBufferRef M, const uint8_t * Base)Defined at line 375 of file llvm/lib/Object/COFFObjectFile.cpp
-
bool runCVP (Module & M)Defined at line 375 of file llvm/lib/Transforms/IPO/CalledValuePropagation.cpp
-
std::tuple<SDValue, SDValue, MachineMemOperand *> spillIncomingStatepointValue (SDValue Incoming, SDValue Chain, SelectionDAGBuilder & Builder)Spill a value incoming to the statepoint. It might be either part of
vmstate
or gcstate. In both cases unconditionally spill it on the stack unless it
is a null constant. Return pair with first element being frame index
containing saved value and second element with outgoing chain from the
emitted store
Defined at line 375 of file llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
-
void printNBits (raw_ostream & Out, Kind Kind, uint64_t Val)Defined at line 376 of file llvm/lib/Object/ArchiveWriter.cpp
-
void initializeLegacyLICMPassPassOnce (PassRegistry & Registry)Defined at line 376 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
void printHelp (StringRef ToolName, const SymbolizerOptTable & Tbl, raw_ostream & OS)Defined at line 376 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
Error getSectionContents (const COFFObjectFile * Obj, const std::vector<RelocationRef> & Rels, uint64_t Offset, ArrayRef<uint8_t> & Contents, uint64_t & Addr)Given a vector of relocations for a section and an offset into this section
the function resolves the symbol used for the relocation at the offset and
returns the section content and the address inside the content pointed to
by the symbol.
Defined at line 376 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
void emitDXILOpAttributes (const RecordKeeper & Records, ArrayRef<DXILOperationDesc> Ops, raw_ostream & OS)Emit a table of bools denoting a DXIL op's function attributes
Defined at line 376 of file llvm/utils/TableGen/DXILEmitter.cpp
-
bool linkFiles (const char * argv0, LLVMContext & Context, Linker & L, const cl::list<std::string> & Files, unsigned int Flags)Defined at line 376 of file llvm/tools/llvm-link/llvm-link.cpp
-
bool canTransformAccumulatorRecursion (Instruction * I, CallInst * CI)Defined at line 377 of file llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
-
void getSegment (const MachOObjectFile * Obj, const MachOObjectFile::LoadCommandInfo & L, MachOSegment & Segment)Defined at line 377 of file llvm/tools/llvm-readobj/MachODumper.cpp
-
void RunEliminateNewDuplicatePHINode (const char * AsmText, function Check)Helper to run both versions on the same input.
Defined at line 378 of file llvm/unittests/Transforms/Utils/SSAUpdaterBulkTest.cpp
-
Array getFunctionDiffListAsJSON (const SmallVector<FunctionDiff> & FunctionDiffs, const FilesPresent & WhichFiles)Returns
a json::Array representing all FunctionDiffs in
represents which files the functions in
appeared in (A, B, or both).
Defined at line 378 of file llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
-
bool canonicalHeaderAndLatch (VPBlockBase * HeaderVPB, const VPDominatorTree & VPDT)Checks if
is a loop header block in the plain CFG; that is, it
has exactly 2 predecessors (preheader and latch), where the block
dominates the latch and the preheader dominates the block. If it is a
header block return true and canonicalize the predecessors of the header
(making sure the preheader appears first and the latch second) and the
successors of the latch (making sure the loop exit comes first). Otherwise
return false.
Defined at line 378 of file llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
-
void calculateCXXStateNumbers (WinEHFuncInfo & FuncInfo, const Instruction * FirstNonPHI, int ParentState)Starting from a EHPad, Backward walk through control-flow graph
to produce two primary outputs:
FuncInfo.EHPadStateMap[] and FuncInfo.CxxUnwindMap[]
Defined at line 378 of file llvm/lib/CodeGen/WinEHPrepare.cpp
-
void buildCopyFromRegs (MachineIRBuilder & B, ArrayRef<Register> OrigRegs, ArrayRef<Register> Regs, LLT LLTy, LLT PartLLT, ArgFlagsTy Flags)Create a sequence of instructions to combine pieces split into register
typed values to the original IR value.
contains the destination
value registers of type
and
contains the legalized pieces
with type
This is used for incoming values (physregs to vregs).
Defined at line 378 of file llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
-
void EndEmitFunction (raw_ostream & OS)Defined at line 379 of file llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
-
int createDumper (const ObjectFile & Obj)Defined at line 379 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
VPBasicBlock * getPredicatedThenBlock (VPRegionBlock * R)If
is a triangle region, return the 'then' block of the triangle.
Defined at line 379 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void populateWorklist (Loop & L, LoopVector & LoopList)Defined at line 379 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
void emitAbsValue (MCStreamer & OS, const MCExpr * Value, unsigned int Size)Defined at line 380 of file llvm/lib/MC/MCDwarf.cpp
-
void verifyAssemblyUseListOrder (const Module & M)Defined at line 380 of file llvm/tools/verify-uselistorder/verify-uselistorder.cpp
-
void addRegLanes (SmallVectorImpl<VRegMaskOrUnit> & RegUnits, VRegMaskOrUnit Pair)Defined at line 380 of file llvm/lib/CodeGen/RegisterPressure.cpp
-
GenericValue executeFCMP_OEQ (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 380 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
Error registerJITLoaderPerfEndImpl ()Defined at line 380 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
void generateGetName (ArrayRef Records, raw_ostream & OS, StringRef Enum, const DirectiveLanguage & DirLang, StringRef Prefix)Generate function implementation for get
<Enum
>Name(StringRef Str)
Defined at line 380 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
void SignalHandler (int Sig, siginfo_t * Info, void * )The signal handler that runs.
Defined at line 380 of file llvm/lib/Support/Unix/Signals.inc
-
void BuildInputAnnotations (const SourceMgr & SM, unsigned int CheckFileBufferID, const std::pair<unsigned int, unsigned int> & ImpPatBufferIDRange, const std::vector<FileCheckDiag> & Diags, std::vector<InputAnnotation> & Annotations, unsigned int & LabelWidth)Defined at line 380 of file llvm/utils/FileCheck/FileCheck.cpp
-
AsmToken intToken (StringRef Ref, APInt & Value)Defined at line 381 of file llvm/lib/MC/MCParser/AsmLexer.cpp
-
bool CC_X86_32_I128_FP128 (unsigned int & ValNo, MVT & ValVT, MVT & LocVT, CCValAssign::LocInfo & LocInfo, ISD::ArgFlagsTy & ArgFlags, CCState & State)Special handling for i128 and fp128: on x86-32, i128 and fp128 get legalized
as four i32s, but fp128 must be passed on the stack with 16-byte alignment.
Technically only fp128 has a specified ABI, but it makes sense to handle
i128 the same until we hear differently.
Defined at line 381 of file llvm/lib/Target/X86/X86CallingConv.cpp
-
Libcall getRTLibDesc (unsigned int Opcode, unsigned int Size)Defined at line 381 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
Cursor maybeLexJumpTableIndex (Cursor C, MIToken & Token)Defined at line 382 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
bool hasDuplicates (const SmallVectorImpl<VPBlockBase *> & VPBlockVec)Utility function that checks whether
has duplicate
VPBlockBases.
Defined at line 382 of file llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
-
unique_ptr ParseTopLevelExpr ()toplevelexpr ::= expression
Defined at line 382 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
unsigned int getDepthOfOptCmov (unsigned int TrueOpDepth, unsigned int FalseOpDepth)Parameters
TrueOpDepth depth cost of CMOV true value operand.FalseOpDepth depth cost of CMOV false value operand.Defined at line 382 of file llvm/lib/Target/X86/X86CmovConversion.cpp
-
void writeV5IncludeAndFileTable (const DWARFDebugLine::Prologue & Prologue, AsmPrinter & Asm)Defined at line 382 of file llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp
-
void printBinaryArchs (LLVMContext & LLVMCtx, const Binary * Binary, raw_ostream & OS)Defined at line 382 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
bool LinearizeExprTree (Instruction * I, SmallVectorImpl<RepeatedValue> & Ops, ReassociatePass::OrderedSet & ToRedo, OverflowTracking & Flags)Given an associative binary expression, return the leaf
nodes in Ops along with their weights (how many times the leaf occurs). The
original expression is the same as
(Ops[0].first op Ops[0].first op ... Ops[0].first)
<
- Ops[0].second times
op
(Ops[1].first op Ops[1].first op ... Ops[1].first)
<
- Ops[1].second times
op
...
op
(Ops[N].first op Ops[N].first op ... Ops[N].first)
<
- Ops[N].second times
Note that the values Ops[0].first, ..., Ops[N].first are all distinct.
This routine may modify the function, in which case it returns 'true'. The
changes it makes may well be destructive, changing the value computed by 'I'
to something completely different. Thus if the routine returns 'true' then
you MUST either replace I with a new expression computed from the Ops array,
or use RewriteExprTree to put the values back in.
A leaf node is either not a binary operation of the same kind as the root
node 'I' (i.e. is not a binary operator at all, or is, but with a different
opcode), or is the same kind of binary operator but has a use which either
does not belong to the expression, or does belong to the expression but is
a leaf node. Every leaf node has at least one use that is a non-leaf node
of the expression, while for non-leaf nodes (except for the root 'I') every
use is a non-leaf node of the expression.
For example:
expression graph node names
+ | I
/
\
|
+ + | A, B
/
\
/
\
|
* + * | C, D, E
/
\
/
\
/
\
|
+ * | F, G
The leaf nodes are C, E, F and G. The Ops array will contain (maybe not in
that order) (C, 1), (E, 1), (F, 2), (G, 2).
The expression is maximal: if some instruction is a binary operator of the
same kind as 'I', and all of its uses are non-leaf nodes of the expression,
then the instruction also belongs to the expression, is not a leaf node of
it, and its operands also belong to the expression (but may be leaf nodes).
NOTE: This routine will set operands of non-leaf non-root nodes to undef in
order to ensure that every non-root node in the expression has *exactly one*
use by a non-leaf node of the expression. This destruction means that the
caller MUST either replace 'I' with a new expression or use something like
RewriteExprTree to put the values back in if the routine indicates that it
made a change by returning 'true'.
In the above example either the right operand of A or the left operand of B
will be replaced by undef. If it is B's operand then this gives:
+ | I
/
\
|
+ + | A, B - operand of B replaced with undef
/
\
\
|
* + * | C, D, E
/
\
/
\
/
\
|
+ * | F, G
Note that such undef operands can only be reached by passing through 'I'.
For example, if you visit operands recursively starting from a leaf node
then you will never see such an undef operand unless you get back to 'I',
which requires passing through a phi node.
Note that this routine may also mutate binary operators of the wrong type
that have all uses inside the expression (i.e. only used by non-leaf nodes
of the expression) if it can turn them into binary operators of the right
type and thus make the expression bigger.
Defined at line 382 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
void lto_codegen_set_diagnostic_handler (lto_code_gen_t , lto_diagnostic_handler_t , void * )Set a diagnostic handler and the related context (void *).
This is more general than lto_get_error_message, as the diagnostic handler
can be called at anytime within lto.
Defined at line 383 of file llvm/tools/lto/lto.cpp
-
uint64_t getUniqueCaseValue (int & CasesTaken, uint64_t MaxValue, RandomIRBuilder & IB)Return a case value that is not already taken to make sure we don't have two
cases with same value.
Defined at line 383 of file llvm/lib/FuzzMutate/IRMutator.cpp
-
Expected loadSectionHeaders (PDBFile & File, DbgHeaderType Type)Defined at line 383 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
bool tryToFPToSat (Instruction & I, TargetTransformInfo & TTI)Fold smin(smax(fptosi(x), C1), C2) to llvm.fptosi.sat(x), providing C1 and
C2 saturate the value of the fp conversion. The transform is not reversable
as the fptosi.sat is more defined than the input - all values produce a
valid value for the fptosi.sat, where as some produce poison for original
that were out of range of the integer conversion. The reversed pattern may
use fmax and fmin instead. As we cannot directly reverse the transform, and
it is not always profitable, we make it conditional on the cost being
reported as lower by TTI.
Defined at line 383 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
int llvm_ifs_main (int argc, char ** argv, const llvm::ToolContext & )Defined at line 383 of file llvm/tools/llvm-ifs/llvm-ifs.cpp
-
void initializeTargetPassConfigPassOnce (PassRegistry & Registry)===---------------------------------------------------------------------===//
TargetPassConfig
===---------------------------------------------------------------------===//
Defined at line 384 of file llvm/lib/CodeGen/TargetPassConfig.cpp
-
template <typename T>void dontExplain (LinePrinter & Printer, T & Stream, uint32_t Offset)Defined at line 384 of file llvm/tools/llvm-pdbutil/ExplainOutputStyle.cpp
-
bool maybeEndlessLoop (const Loop & L)Return true if
might be an endless loop.
Defined at line 384 of file llvm/lib/Analysis/MustExecute.cpp
-
void replaceCoroEnd (AnyCoroEndInst * End, const coro::Shape & Shape, Value * FramePtr, bool InRamp, CallGraph * CG)Defined at line 384 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
unsigned int getINCDECFromLEA (unsigned int LEAOpcode, bool IsINC)Defined at line 384 of file llvm/lib/Target/X86/X86FixupLEAs.cpp
-
uint64_t computeSymbolTableSize (Kind Kind, uint64_t NumSyms, uint64_t OffsetSize, uint64_t StringTableSize, uint32_t * Padding)Defined at line 384 of file llvm/lib/Object/ArchiveWriter.cpp
-
void writeFragment (raw_ostream & OS, const MCAssembler & Asm, const MCFragment & F)Write the fragment
to the output file.
Defined at line 384 of file llvm/lib/MC/MCAssembler.cpp
-
bool isYAMLTextStub (const FileType & Kind)Defined at line 385 of file llvm/lib/TextAPI/InterfaceFile.cpp
-
bool hasNoUnsignedWrap (BinaryOperator & I)Defined at line 385 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
void printStackObjectReference (raw_ostream & OS, const MFPrintState & State, int FrameIndex)Defined at line 385 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
Error addSymbolsToRenameFromFile (int & SymbolsToRename, BumpPtrAllocator & Alloc, StringRef Filename)Defined at line 385 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
InputArgList parseOptions (int Argc, char *[] Argv, bool IsAddr2Line, StringSaver & Saver, SymbolizerOptTable & Tbl)Defined at line 385 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
bool slotOnlyDiscardsData (const Value * RetVal, const Value * CallVal, SmallVectorImpl<unsigned int> & RetIndices, SmallVectorImpl<unsigned int> & CallIndices, bool AllowDifferingSizes, const TargetLoweringBase & TLI, const DataLayout & DL)Return true if this scalar return value only has bits discarded on its path
from the "tail call" to the "ret". This includes the obvious noop
instructions handled by getNoopInput above as well as free truncations (or
extensions prior to the call).
Defined at line 385 of file llvm/lib/CodeGen/Analysis.cpp
-
DeltaTreeNode * getRoot (void * Root)Defined at line 386 of file llvm/lib/Support/DeltaTree.cpp
-
Cursor maybeLexStackObject (Cursor C, MIToken & Token)Defined at line 386 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
bool safeToMergeTerminators (Instruction * SI1, Instruction * SI2, SmallSetVector<BasicBlock *, 4> * FailBlocks)Return true if it is safe to merge these two
terminator instructions together.
Defined at line 386 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void p_ere (struct parse * , int )- p_ere - ERE parser top level, concatenation and alternation
Defined at line 386 of file llvm/lib/Support/regcomp.c
-
basic_string computeX86DataLayout (const Triple & TT)Defined at line 386 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
bool parseBasicType (char C, BasicType & Type)Defined at line 386 of file llvm/lib/Demangle/RustDemangle.cpp
-
raw_ostream & operator<< (raw_ostream & OS, const PathType & Path)Defined at line 387 of file llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
-
template <typename ListOfBBs, typename DominanceAnalysis>MachineBasicBlock * FindIDom (MachineBasicBlock & Block, ListOfBBs BBs, DominanceAnalysis & Dom, bool Strict)Helper function to find the immediate (post) dominator.
Defined at line 387 of file llvm/lib/CodeGen/ShrinkWrap.cpp
-
bool needsStatepoint (CallBase * Call, const TargetLibraryInfo & TLI)Defined at line 387 of file llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
-
basic_string radixName (unsigned int Radix)Defined at line 387 of file llvm/lib/MC/MCParser/AsmLexer.cpp
-
template <typename T, typename SubstreamRangeT>void explainSubstreamOffset (LinePrinter & P, uint32_t OffsetInStream, T & Stream, const SubstreamRangeT & Substreams)Defined at line 387 of file llvm/tools/llvm-pdbutil/ExplainOutputStyle.cpp
-
bool findLoopComponents (Loop * L, SmallPtrSetImpl<Instruction *> & IterationInstructions, PHINode *& InductionPHI, Value *& TripCount, BinaryOperator *& Increment, BranchInst *& BackBranch, ScalarEvolution * SE, bool IsWidened)Finds the induction variable, increment and trip count for a simple loop that
we can flatten.
Defined at line 388 of file llvm/lib/Transforms/Scalar/LoopFlatten.cpp
-
bool isNotExclusivelyConstantDerived (const Value * V)Defined at line 389 of file llvm/lib/IR/SafepointIRVerifier.cpp
-
NamedIdentifierNode * synthesizeNamedIdentifier (ArenaAllocator & Arena, basic_string_view Name)Defined at line 389 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
void hasher_init_base (llvm_blake3_hasher * self, const uint32_t[8] key, uint8_t flags)Defined at line 389 of file llvm/lib/Support/BLAKE3/blake3.c
-
StringRef checkStr (StringRef Str, unsigned int ExpectedLen)Defined at line 389 of file llvm/unittests/Remarks/YAMLRemarksParsingTest.cpp
-
lto_code_gen_t createCodeGen (bool InLocalContext)Defined at line 389 of file llvm/tools/lto/lto.cpp
-
Cursor maybeLexFixedStackObject (Cursor C, MIToken & Token)Defined at line 390 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
bool hasNoSignedWrap (BinaryOperator & I)Defined at line 390 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
DieOutputPlacement getFinalPlacementForEntry (const UnitEntryPairTy & Entry, DieOutputPlacement Placement)This function tries to set specified
for the
Depending on the concrete entry, the placement could be:
a) changed to another.
b) joined with current entry placement.
c) set as requested.
Defined at line 390 of file llvm/lib/DWARFLinker/Parallel/DependencyTracker.cpp
-
bool CanGenerateTest (Loop * L, Value * Count)Defined at line 390 of file llvm/lib/CodeGen/HardwareLoops.cpp
-
bool scavengeFrameVirtualRegsInBlock (MachineRegisterInfo & MRI, RegScavenger & RS, MachineBasicBlock & MBB)Allocate (scavenge) vregs inside a single basic block.
Returns true if the target spill callback created new vregs and a 2nd pass
is necessary.
Defined at line 390 of file llvm/lib/CodeGen/RegisterScavenging.cpp
-
Error error (const Twine & Message)Defined at line 391 of file llvm/lib/Bitcode/Reader/MetadataLoader.cpp
-
void printLoopVector (const LoopVector & LV)Defined at line 391 of file llvm/lib/Transforms/Scalar/LoopFuse.cpp
-
Error writePublics (BinaryStreamWriter & Writer, ArrayRef Publics)Serialize each public and write it.
Defined at line 391 of file llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
-
bool writeCOFF (COFFParser & CP, raw_ostream & OS)Defined at line 391 of file llvm/lib/ObjectYAML/COFFEmitter.cpp
-
void ErrorAndExit (const Twine & Msg)Defined at line 392 of file llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
-
void verifyUseListOrder (const Module & M)Defined at line 392 of file llvm/tools/verify-uselistorder/verify-uselistorder.cpp
-
void createSegmentsForValues (LiveRange & LR, int VNIs)Defined at line 392 of file llvm/lib/CodeGen/LiveIntervals.cpp
-
Error resolveSymbolName (const std::vector<RelocationRef> & Rels, uint64_t Offset, StringRef & Name)Given a vector of relocations for a section and an offset into this section
the function returns the name of the symbol used for the relocation at the
offset.
Defined at line 392 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
bool replaceFoldableUses (Instruction * Cond, Value * ToVal, BasicBlock * KnownAtEndOfBB)Replace uses of Cond with ToVal when safe to do so. If all uses are
replaced, we can remove Cond. We cannot blindly replace all uses of Cond
because we may incorrectly replace uses when guards/assumes are uses of
of `Cond` and we used the guards/assume to reason about the `Cond` value
at the end of block. RAUW unconditionally replaces all uses
including the guards/assumes themselves and the uses before the
guard/assume.
Defined at line 392 of file llvm/lib/Transforms/Scalar/JumpThreading.cpp
-
template <typename Operation>const GlobalObject * findBaseObject (const Constant * C, DenseSet<const GlobalAlias *> & Aliases, const Operation & Op)Defined at line 392 of file llvm/lib/IR/Globals.cpp
-
unique_ptr ParseExtern ()external ::= 'extern' prototype
Defined at line 393 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
void installExceptionOrSignalHandlers ()Defined at line 393 of file llvm/lib/Support/CrashRecoveryContext.cpp
-
void enqueueBlock (int & Comparisons, BCECmpBlock && Comparison)Defined at line 393 of file llvm/lib/Transforms/Scalar/MergeICmps.cpp
-
bool isConditionalOnXorOfPHIs (const SelectInst * SI, const PHINode * P1, const PHINode * P2, const Loop & L)Checks that
and
are used together in an XOR in the use-def chain
of
condition, ignoring any casts. The purpose of this function is to
ensure that LHSAux from the SimpleRecurrence is used correctly in the CRC
computation.
In other words, it checks for the following pattern:
loop:
%P1 = phi [_, %entry], [%P1.next, %loop]
%P2 = phi [_, %entry], [%P2.next, %loop]
...
%xor = xor (CastOrSelf %P1), (CastOrSelf %P2)
where %xor is in the use-def chain of
condition.
Defined at line 393 of file llvm/lib/Analysis/HashRecognize.cpp
-
Expected readTriple (BitstreamCursor & Stream)Defined at line 393 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
bool canRewriteGEPAsOffset (Value * Start, Value * Base, GEPNoWrapFlags & NW, const DataLayout & DL, SetVector<Value *> & Explored)Returns true if we can rewrite Start as a GEP with pointer Base
and some integer offset. The nodes that need to be re-written
for this transformation will be added to Explored.
Defined at line 393 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
void initializeLCSSAVerificationPassPassOnce (PassRegistry & Registry)Defined at line 394 of file llvm/lib/Analysis/LoopPass.cpp
-
Cursor maybeLexConstantPoolItem (Cursor C, MIToken & Token)Defined at line 394 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
uint32_t getCPUType (MachOObjectFile & MachO)Defined at line 394 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
bool shouldForceLegacyPM ()For use in NPM transition.
Defined at line 394 of file llvm/tools/opt/optdriver.cpp
-
void setRegZero (SmallVectorImpl<VRegMaskOrUnit> & RegUnits, VirtRegOrUnit VRegOrUnit)Defined at line 394 of file llvm/lib/CodeGen/RegisterPressure.cpp
-
void addVPMetadata (Module & M, Instruction & I, ArrayRef CalleeGuids)Helper function to process CalleeGuids and create value profile metadata
Defined at line 394 of file llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
-
bool isAnalyzableBB (const TargetInstrInfo & TII, MachineBasicBlock & Entry)Defined at line 395 of file llvm/lib/CodeGen/ShrinkWrap.cpp
-
bool isIFunc (const MCSymbolELF * Symbol)Defined at line 395 of file llvm/lib/MC/ELFObjectWriter.cpp
-
PassPluginLibraryInfo getExampleIRTransformsPluginInfo ()New PM Registration
Defined at line 395 of file llvm/examples/IRTransforms/SimplifyCFG.cpp
-
Expected areFilesDifferent (const llvm::Twine & Source, const llvm::Twine & Destination)Defined at line 395 of file llvm/lib/Support/VirtualOutputBackends.cpp
-
void llvm_blake3_hasher_init (llvm_blake3_hasher * self)Defined at line 396 of file llvm/lib/Support/BLAKE3/blake3.c
-
ConstantInt * getPreferredVectorIndex (ConstantInt * IndexC)Given a constant index for a extractelement or insertelement instruction,
return it with the canonical type if it isn't already canonical. We
arbitrarily pick 64 bit as our canonical type. The actual bitwidth doesn't
matter, we just want a consistent type to simplify CSE.
Defined at line 396 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
QualifiedNameNode * synthesizeQualifiedName (ArenaAllocator & Arena, IdentifierNode * Identifier)Defined at line 396 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
void ParseConstraints (StringRef CStr, CGIOperandList & Ops, const Record * Rec)Defined at line 396 of file llvm/utils/TableGen/Common/CodeGenInstruction.cpp
-
void checkClobberSanity (const MemoryAccess * Start, MemoryAccess * ClobberAt, const MemoryLocation & StartLoc, const MemorySSA & MSSA, const UpwardsMemoryQuery & Query, BatchAAResults & AA, bool AllowImpreciseClobber)Verifies that `Start` is clobbered by `ClobberAt`, and that nothing
inbetween `Start` and `ClobberAt` can clobbers `Start`.
This is meant to be as simple and self-contained as possible. Because it
uses no cache, etc., it can be relatively expensive.
Parameters
Start The MemoryAccess that we want to walk from.ClobberAt A clobber for Start.StartLoc The MemoryLocation for Start.MSSA The MemorySSA instance that Start and ClobberAt belong to.Query The UpwardsMemoryQuery we used for our search.AA The AliasAnalysis we used for our search.AllowImpreciseClobber Always false, unless we do relaxed verify.Defined at line 396 of file llvm/lib/Analysis/MemorySSA.cpp
-
void loadDylibs ()Defined at line 397 of file llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
-
FPUKind findSinglePrecisionFPU (FPUKind InputFPUKind)Defined at line 397 of file llvm/lib/TargetParser/ARMTargetParser.cpp
-
template <typename T>auto & getSubrangeImpl (LaneBitmask LM, T & LI)Find a subrange corresponding to the exact lane mask
in the live
interval
The interval
is assumed to contain such a subrange.
This function is used to find corresponding subranges between the
original interval and the new intervals.
Defined at line 398 of file llvm/lib/CodeGen/SplitKit.cpp
-
llvm_orc_registerJITLoaderPerfImpl (const char * ArgData, size_t ArgSize)Defined at line 398 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
void convertStackObjects (yaml::MachineFunction & YMF, const MachineFunction & MF, ModuleSlotTracker & MST, MFPrintState & State)Defined at line 396 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
bool compressAnnotation (uint32_t Data, SmallVectorImpl<char> & Buffer)Defined at line 397 of file llvm/lib/MC/MCCodeView.cpp
-
bool optimizeToFixedRegisterForm (MCInst & MI)Simplify FOO $imm, %{al,ax,eax,rax} to FOO $imm, for instruction with
a short fixed-register form.
Defined at line 397 of file llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
-
void streamMapping (yaml::IO & IO, ThreadListStream & Stream)Defined at line 398 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
void llvm_blake3_hasher_init_keyed (llvm_blake3_hasher * self, const uint8_t[32] key)Defined at line 398 of file llvm/lib/Support/BLAKE3/blake3.c
-
Cursor maybeLexSubRegisterIndex (Cursor C, MIToken & Token, function_ref ErrorCallback)Defined at line 398 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
raw_ostream & operator<< (raw_ostream & OS, const FusionCandidate & FC)Defined at line 398 of file llvm/lib/Transforms/Scalar/LoopFuse.cpp
-
void ClearSubclassDataAfterReassociation (BinaryOperator & I)Conservatively clears subclassOptionalData after a reassociation or
commutation. We preserve fast-math flags when applicable as they can be
preserved.
Defined at line 398 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
LoopDeletionResult breakBackedgeIfNotTaken (Loop * L, DominatorTree & DT, ScalarEvolution & SE, LoopInfo & LI, MemorySSA * MSSA, OptimizationRemarkEmitter & ORE)If we can prove the backedge is untaken, remove it. This destroys the
loop, but leaves the (now trivially loop invariant) control flow and
side effects (if any) in place.
Defined at line 398 of file llvm/lib/Transforms/Scalar/LoopDeletion.cpp
-
phi_iterator_impl getPhiIt (BasicBlock & BB, unsigned int Idx)Defined at line 399 of file llvm/unittests/Transforms/Utils/SSAUpdaterBulkTest.cpp
-
raw_ostream & operator<< (raw_ostream & OS, const CHRStats & Stats)Defined at line 399 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
void initializeDwarfEHPrepareLegacyPassPassOnce (PassRegistry & Registry)Defined at line 399 of file llvm/lib/CodeGen/DwarfEHPrepare.cpp
-
CodeGenOptLevel getOptLevel ()Defined at line 399 of file llvm/tools/lli/lli.cpp
-
void ProfileArgumentInit (FoldingSetNodeID & ID, const Init * Value, variant Aux)Defined at line 399 of file llvm/lib/TableGen/Record.cpp
-
Metadata * updateLoopMetadataDebugLocationsRecursive (Metadata * MetadataIn, function_ref Updater)Recursively handle DILocations in followup metadata etc.
TODO: If for example a followup loop metadata would reference itself this
function would go into infinite recursion. We do not expect such cycles in
the loop metadata (except for the self-referencing first element
"LoopID"). However, we could at least handle such situations more gracefully
somehow (e.g. by keeping track of visited nodes and dropping metadata).
Defined at line 399 of file llvm/lib/IR/DebugInfo.cpp
-
bool FixIrreducibleImpl (Function & F, CycleInfo & CI, DominatorTree & DT, LoopInfo * LI)Defined at line 399 of file llvm/lib/Transforms/Utils/FixIrreducible.cpp
-
void shuffleValueUseLists (Value * V, std::minstd_rand0 & Gen, DenseSet<Value *> & Seen)Defined at line 399 of file llvm/tools/verify-uselistorder/verify-uselistorder.cpp
-
bool isUnsupportedFunction (Function * F)Determines whether a function is unsupported by the current mutator's
implementation. The function returns true if any of the following criteria
are met:
* The function accepts metadata or token types as arguments.
* The function has ABI attributes that could cause UB.
* The function uses a non-callable CC that may result in UB.
Defined at line 399 of file llvm/lib/FuzzMutate/IRMutator.cpp
-
void codegen (const Config & Conf, TargetMachine * TM, int AddStream, unsigned int Task, Module & Mod, const ModuleSummaryIndex & CombinedIndex)Defined at line 400 of file llvm/lib/LTO/LTOBackend.cpp
-
int prune (cas::ObjectStore & CAS)Defined at line 401 of file llvm/tools/llvm-cas/llvm-cas.cpp
-
lto_code_gen_t lto_codegen_create ()Instantiates a code generator.
Returns NULL on error (check lto_get_error_message() for details).
All modules added using
must have been created
in the same context as the codegen.
Defined at line 401 of file llvm/tools/lto/lto.cpp
-
uint8_t modRMByte (unsigned int Mod, unsigned int RegOpcode, unsigned int RM)Defined at line 401 of file llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
-
basic_string getLegalCName (StringRef OpName)Defined at line 401 of file llvm/utils/TableGen/FastISelEmitter.cpp
-
bool isPromotedResultSafe (Instruction * I)Return whether we can safely mutate V's type to ExtTy without having to be
concerned with zero extending or truncation.
Defined at line 401 of file llvm/lib/CodeGen/TypePromotion.cpp
-
void rewritePHINodesForUnswitchedExitBlock (BasicBlock & UnswitchedBB, BasicBlock & OldExitingBB, BasicBlock & OldPH)Rewrite the PHI nodes in an unswitched loop exit basic block.
Requires that the loop exit and unswitched basic block are the same, and
that the exiting block was a unique predecessor of that block. Rewrites the
PHI nodes in that block such that what were LCSSA PHI nodes become trivial
PHI nodes from the old preheader that now contains the unswitched
terminator.
Defined at line 401 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
Value * createFakeIntVal (IRBuilderBase & Builder, InsertPoint OuterAllocaIP, llvm::SmallVectorImpl<Instruction *> & ToBeDeleted, InsertPoint InnerAllocaIP, const Twine & Name, bool AsPtr)This function creates a fake integer value and a fake use for the integer
value. It returns the fake value created. This is useful in modeling the
extra arguments to the outlined functions.
Defined at line 401 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
void printLTOSymbolAttributes ( Attrs)Print the lto symbol attributes.
Defined at line 401 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
bool mergeReplicateRegionsIntoSuccessors (VPlan & Plan)Merge replicate regions in their successor region, if a replicate region
is connected to a successor replicate region with the same predicate by a
single, empty VPBasicBlock.
Defined at line 401 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void initializeX86ExecutionDomainFixPassOnce (PassRegistry & Registry)Defined at line 402 of file llvm/lib/Target/X86/X86TargetMachine.cpp
-
void streamMapping (yaml::IO & IO, MinidumpYAML::ExceptionStream & Stream)Defined at line 402 of file llvm/lib/ObjectYAML/MinidumpYAML.cpp
-
Error updateSection (const NewSectionInfo & NewSection, Object & O)Defined at line 402 of file llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
-
LLVMMCJITMemoryManagerRef LLVMCreateSimpleMCJITMemoryManager (void * Opaque, LLVMMemoryManagerAllocateCodeSectionCallback AllocateCodeSection, LLVMMemoryManagerAllocateDataSectionCallback AllocateDataSection, LLVMMemoryManagerFinalizeMemoryCallback FinalizeMemory, LLVMMemoryManagerDestroyCallback Destroy)Create a simple custom MCJIT memory manager. This memory manager can
intercept allocations in a module-oblivious way. This will return NULL
if any of the passed functions are NULL.
Parameters
Opaque An opaque client object to pass back to the callbacks.AllocateCodeSection Allocate a block of memory for executable code.AllocateDataSection Allocate a block of memory for data.FinalizeMemory Set page permissions and flush cache. Return 0 on success, 1 on error.Defined at line 402 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
bool filterArch (ObjectFile & Obj)Return true if the object file has not been filtered by an --arch option.
Defined at line 402 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
bool hasSupportedLoopDepth (ArrayRef LoopList, OptimizationRemarkEmitter & ORE)Defined at line 402 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
PHINode * getPhi (BasicBlock & BB, unsigned int Idx)Defined at line 403 of file llvm/unittests/Transforms/Utils/SSAUpdaterBulkTest.cpp
-
Error writeRecords (BinaryStreamWriter & Writer, ArrayRef Records)Defined at line 403 of file llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
-
bool containsUnconditionalCallSafepoint (Loop * L, BasicBlock * Header, BasicBlock * Pred, DominatorTree & DT, const TargetLibraryInfo & TLI)Returns true if this loop is known to contain a call safepoint which
must unconditionally execute on any iteration of the loop which returns
to the loop header via an edge from Pred. Returns a conservative correct
answer; i.e. false is always valid.
Defined at line 403 of file llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
-
template <typename K, typename V, typename FnTy, typename... ArgsTy>V getOrCreateCachedOptional (K Key, DenseMap<K, std::optional<V>> & Map, FnTy && Fn, ArgsTy &&... args)Lookup
in
and return the result, potentially after
initializing the optional through
Defined at line 404 of file llvm/lib/Analysis/MustExecute.cpp
-
void printCOFFSymbolAddress (raw_ostream & Out, const std::vector<RelocationRef> & Rels, uint64_t Offset, uint32_t Disp)Defined at line 404 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
int ParseForExpr ()forexpr ::= 'for' identifier '=' expr ',' expr (',' expr)? 'in' expression
Defined at line 404 of file llvm/examples/Kaleidoscope/Chapter6/toy.cpp
-
LiveInterval::SubRange & getSubRangeForMaskExact (LaneBitmask LM, LiveInterval & LI)Defined at line 405 of file llvm/lib/CodeGen/SplitKit.cpp
-
raw_ostream & operator<< (raw_ostream & OS, const CHRScope & Scope)Defined at line 405 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
Loop * CloneLoopBlocks (Loop * L, Value * NewIter, const bool UseEpilogRemainder, const bool UnrollRemainder, BasicBlock * InsertTop, BasicBlock * InsertBot, BasicBlock * Preheader, std::vector<BasicBlock *> & NewBlocks, LoopBlocksDFS & LoopBlocks, ValueToValueMapTy & VMap, DominatorTree * DT, LoopInfo * LI, unsigned int Count, optional OriginalTripCount, BranchProbability OriginalLoopProb)Create a clone of the blocks in a loop and connect them together. A new
loop will be created including all cloned blocks, and the iterator of the
new loop switched to count NewIter down to 0.
The cloned blocks should be inserted between InsertTop and InsertBot.
InsertTop should be new preheader, InsertBot new loop exit.
Returns the new cloned loop that is created.
Defined at line 405 of file llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
-
void fillAMDGCNFeatureMap (StringRef GPU, const Triple & T, StringMap<bool> & Features)Fills Features map with default values for given target GPU.
contains overriding target features and this function returns
default target features with entries overridden by
Defined at line 405 of file llvm/lib/TargetParser/TargetParser.cpp
-
void reportError (SMDiagnostic Err, const char * ProgName)Defined at line 406 of file llvm/tools/lli/lli.cpp
-
QualifiedNameNode * synthesizeQualifiedName (ArenaAllocator & Arena, basic_string_view Name)Defined at line 406 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
MCInstrInfo * createX86MCInstrInfo ()Defined at line 406 of file llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
-
template <typename T>T & ifSpecified (T & A, cl::alias & AA, T & B)Defined at line 406 of file llvm/tools/llvm-xray/xray-graph-diff.cpp
-
llvm_orc_registerJITLoaderPerfStart (const char * ArgData, size_t ArgSize)Defined at line 406 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
void emitConstant (uint64_t Val, unsigned int Size, SmallVectorImpl<char> & CB)Defined at line 406 of file llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
-
void removeRegLanes (SmallVectorImpl<VRegMaskOrUnit> & RegUnits, VRegMaskOrUnit Pair)Defined at line 406 of file llvm/lib/CodeGen/RegisterPressure.cpp
-
uint64_t getSegmentFileOffset (const LoadCommand & TextSegmentLoadCommand)Defined at line 406 of file llvm/lib/ObjCopy/MachO/MachOWriter.cpp
-
int optMain (int argc, char ** argv, ArrayRef PassBuilderCallbacks)===----------------------------------------------------------------------===//
main for opt
Defined at line 406 of file llvm/tools/opt/optdriver.cpp
-
Error xcoff2yaml (llvm::raw_ostream & Out, const llvm::object::XCOFFObjectFile & Obj)Defined at line 405 of file llvm/tools/obj2yaml/xcoff2yaml.cpp
-
void llvm_blake3_hasher_init_derive_key_raw (llvm_blake3_hasher * self, const void * context, size_t context_len)Defined at line 405 of file llvm/lib/Support/BLAKE3/blake3.c
-
void uninstallExceptionOrSignalHandlers ()Defined at line 405 of file llvm/lib/Support/CrashRecoveryContext.cpp
-
lto_code_gen_t lto_codegen_create_in_local_context ()Instantiate a code generator in its own context.
Instantiates a code generator in its own context. Modules added via
must have all been created in the same context,
using
Defined at line 405 of file llvm/tools/lto/lto.cpp
-
int getNumPHIs (BasicBlock & BB)Defined at line 407 of file llvm/unittests/Transforms/Utils/SSAUpdaterBulkTest.cpp
-
Value * LogErrorV (const char * Str)Defined at line 407 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
raw_ostream & operator<< (raw_ostream & OS, const FusionCandidateList & CandList)Defined at line 407 of file llvm/lib/Transforms/Scalar/LoopFuse.cpp
-
bool hasDirtyPred (const int & ReachableByDirty, const MachineBasicBlock & MBB)Determines if any predecessor of MBB is on the path from block that has use
or def of CSRs/FI to MBB.
ReachableByDirty: All blocks reachable from block that has use or def of
CSR/FI.
Defined at line 407 of file llvm/lib/CodeGen/ShrinkWrap.cpp
-
Cursor maybeLexIRBlock (Cursor C, MIToken & Token, function_ref ErrorCallback)Defined at line 407 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void RunRandTest (uint64_t Seed, int Size, int MinCount, int MaxCount, unsigned int MaxValue)Defined at line 407 of file llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp
-
APInt getStoreStride (const SCEVAddRecExpr * StoreEv)Defined at line 408 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
void initializeLoadStoreVectorizerLegacyPassPassOnce (PassRegistry & Registry)Defined at line 408 of file llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
-
std::optional<dwarf::Form> getFormForIdxParent (const int & IndexedOffsets, optional ParentOffset)Defined at line 408 of file llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
-
Error createPlistFile (StringRef Bin, StringRef BundleRoot, StringRef Toolchain)Defined at line 408 of file llvm/tools/dsymutil/dsymutil.cpp
-
void lto_codegen_dispose (lto_code_gen_t )Frees all code generator and all memory it internally allocated.
Upon return the lto_code_gen_t is no longer valid.
Defined at line 409 of file llvm/tools/lto/lto.cpp
-
void setSummary (IndexedInstrProf::Summary * TheSummary, ProfileSummary & PS)Defined at line 409 of file llvm/lib/ProfileData/InstrProfWriter.cpp
-
bool hasDistinctMetadataIntrinsic (const Function & F)Check whether
has an intrinsic which references
distinct metadata as an operand. The most common
instance of this would be CFI checks for function-local types.
Defined at line 409 of file llvm/lib/Transforms/IPO/MergeFunctions.cpp
-
void getSymbol (const MachOObjectFile * Obj, DataRefImpl DRI, MachOSymbol & Symbol)Defined at line 409 of file llvm/tools/llvm-readobj/MachODumper.cpp
-
basic_string getBranchCondString (Instruction * TI)Return a string describing the branch condition that can be
used in static branch probability heuristics:
Defined at line 409 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
Value * rewriteGlobalVariablesInConstant (Constant * C, SmallDenseMap<GlobalVariable *, Value *> & GVLoadMap, IRBuilder<> & IRBuilderAtEntry)Given a ConstantExpr, this searches for GlobalVariable references within
the expression tree. If found, it will generate instructions and will
return a non-null Value* that points to the new root instruction.
If C does not contain any GlobalVariable references, this returns nullptr.
If this function creates new instructions, then it will insert them
before InsertionPoint.
Defined at line 409 of file llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
-
void buildFixItLine (std::string & CaretLine, std::string & FixItLine, ArrayRef FixIts, ArrayRef SourceLine)Defined at line 409 of file llvm/lib/Support/SourceMgr.cpp
-
int printLineInfoForInput (bool LoadObjects, bool UseDebugObj)***
Defined at line 409 of file llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
-
void initializeMachineVerifierLegacyPassPassOnce (PassRegistry & Registry)Defined at line 410 of file llvm/lib/CodeGen/MachineVerifier.cpp
-
const LiveInterval::SubRange & getSubRangeForMaskExact (LaneBitmask LM, const LiveInterval & LI)Defined at line 410 of file llvm/lib/CodeGen/SplitKit.cpp
-
char * printNode (const Node * RootNode, OutputBuffer & OB, size_t * N)Defined at line 410 of file llvm/lib/Demangle/ItaniumDemangle.cpp
-
MVT getPhysicalRegisterVT (SDNode * N, unsigned int Reg, const TargetInstrInfo * TII)getPhysicalRegisterVT - Returns the ValueType of the physical register
definition of the specified node.
FIXME: Move to SelectionDAG?
Defined at line 410 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
-
FilterResult checkSectionFilter (SectionRef S)Defined at line 410 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void simpleSimplifyCfg (Function & F, SmallVectorImpl<BasicBlock *> & BBs)Simplify the CFG without completely destroying it.
This is not well defined, but basically comes down to "try to eliminate
unreachable blocks and constant fold terminators without deciding that
certain undefined behavior cuts off the program at the legs".
Defined at line 410 of file llvm/tools/bugpoint/CrashDebugger.cpp
-
Error checkSymtabCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex, const char ** SymtabLoadCmd, std::list<MachOElement> & Elements)Defined at line 410 of file llvm/lib/Object/MachOObjectFile.cpp
-
StringRef ReadStringRef (const uint8_t * Start)Defined at line 411 of file llvm/tools/obj2yaml/macho2yaml.cpp
-
bool suppressSpeculativeLoadForSanitizers (const Instruction & CtxI)Defined at line 411 of file llvm/lib/Analysis/Loads.cpp
-
void initializeMachineSchedulerLegacyPassOnce (PassRegistry & Registry)Defined at line 411 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
bool shouldApply (Function & F, ProfileSummaryInfo & PSI)Defined at line 411 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
basic_string PhysRegForNode (const TreePatternNode & Op, const CodeGenTarget & Target)Defined at line 411 of file llvm/utils/TableGen/FastISelEmitter.cpp
-
bool isSafeToTruncateWideIVType (const DataLayout & DL, ScalarEvolution & SE, LoopICmp LatchCheck, Type * RangeCheckType)Returns true if its safe to truncate the IV to RangeCheckType.
When the IV type is wider than the range operand type, we can still do loop
predication, by generating SCEVs for the range and latch that are of the
same type. We achieve this by generating a SCEV truncate expression for the
latch IV. This is done iff truncation of the IV is a safe operation,
without loss of information.
Another way to achieve this is by generating a wider type SCEV for the
range check operand, however, this needs a more involved check that
operands do not overflow. This can lead to loss of information when the
range operand is of the form: add i32 %offset, %iv. We need to prove that
sext(x + y) is same as sext(x) + sext(y).
This function returns true if we can safely represent the IV type in
the RangeCheckType without loss of information.
Defined at line 411 of file llvm/lib/Transforms/Scalar/LoopPredication.cpp
-
Error replaceAndRemoveSections (const CommonConfig & Config, const ELFConfig & ELFConfig, Object & Obj)Defined at line 411 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
template <class T>ErrorOr<T> getAsInteger (StringRef Val)Defined at line 412 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
VariableSymbolNode * synthesizeVariable (ArenaAllocator & Arena, TypeNode * Type, basic_string_view VariableName)Defined at line 412 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
MCRegisterInfo * createX86MCRegisterInfo (const Triple & TT)Defined at line 412 of file llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
-
void addAnnotationRemarksPass (ModulePassManager & MPM)Helper to add AnnotationRemarksPass.
Defined at line 413 of file llvm/lib/Passes/PassBuilderPipelines.cpp
-
bool hasIrregularType (Type * Ty, const DataLayout & DL)A helper function that returns true if the given type is irregular. The
type is irregular if its allocated size doesn't equal the store size of an
element of the corresponding vector type.
Defined at line 413 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
bool isTargetNullPtr (ExecutionEngine * EE, void * Loc)isTargetNullPtr - Return whether the target pointer stored at Loc is null.
Defined at line 413 of file llvm/lib/ExecutionEngine/ExecutionEngine.cpp
-
uint64_t computeSymbolMapSize (uint64_t NumObj, SymMap & SymMap, uint32_t * Padding)Defined at line 413 of file llvm/lib/Object/ArchiveWriter.cpp
-
int calculateShufflevectorMask (ArrayRef VL)Defined at line 413 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
llvm_orc_registerJITLoaderPerfEnd (const char * ArgData, size_t ArgSize)Defined at line 414 of file llvm/lib/ExecutionEngine/Orc/TargetProcess/JITLoaderPerf.cpp
-
bool simplifyAssocCastAssoc (BinaryOperator * BinOp1, InstCombinerImpl & IC)Combine constant operands of associative operations either before or after a
cast to eliminate one of the associative operations:
(op (cast (op X, C2)), C1) --> (cast (op X, op (C1, C2)))
(op (cast (op X, C2)), C1) --> (op (cast X), op (C1, C2))
Defined at line 414 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
void initializeRegisterCoalescerLegacyPassOnce (PassRegistry & Registry)Defined at line 415 of file llvm/lib/CodeGen/RegisterCoalescer.cpp
-
void printFusionCandidates (const FusionCandidateCollection & FusionCandidates)Defined at line 415 of file llvm/lib/Transforms/Scalar/LoopFuse.cpp
-
template <typename T>void parseIntArg (const opt::InputArgList & Args, int ID, T & Value)Defined at line 415 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
void emitDXILOpFunctionTypes (ArrayRef<DXILOperationDesc> Ops, raw_ostream & OS)Emit a list of DXIL op function types
Defined at line 415 of file llvm/utils/TableGen/DXILEmitter.cpp
-
Expected getSectionNames (PDBFile & File)Defined at line 416 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
Cursor maybeLexIRValue (Cursor C, MIToken & Token, function_ref ErrorCallback)Defined at line 417 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void markAllReachable (int & Visited, const MachineBasicBlock & MBB)Derives the list of all the basic blocks reachable from MBB.
Defined at line 417 of file llvm/lib/CodeGen/ShrinkWrap.cpp
-
void printSEHTable (const COFFObjectFile * Obj, uint32_t TableVA, int Count)Defined at line 417 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
bool isPredicatedOnPHI (CallBase & CB)Return true if the call-site has an argument which is a PHI with only
constant incoming values.
Defined at line 417 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
OffsetResult collectOffsets (GEPOperator & GEP, const DataLayout & DL)Try to collect variable and constant offsets for
partly traversing
nested GEPs. Returns an OffsetResult with nullptr as BasePtr of collecting
the offset fails.
Defined at line 417 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
int llvm_get_di_tag ()Defined at line 417 of file llvm/tools/llvm-c-test/debuginfo.c
-
Value * getUnwindDestToken (Instruction * EHPad, UnwindDestMemoTy & MemoMap)Given an EH pad, find where it unwinds. If it unwinds to an EH pad,
return that pad instruction. If it unwinds to caller, return
ConstantTokenNone. If it does not have a definitive unwind destination,
return nullptr.
This routine gets invoked for calls in funclets in inlinees when inlining
an invoke. Since many funclets don't have calls inside them, it's queried
on-demand rather than building a map of pads to unwind dests up front.
Determining a funclet's unwind dest may require recursively searching its
descendants, and also ancestors and cousins if the descendants don't provide
an answer. Since most funclets will have their unwind dest immediately
available as the unwind dest of a catchswitch or cleanupret, this routine
searches top-down from the given pad and then up. To avoid worst-case
quadratic run-time given that approach, it uses a memo map to avoid
re-processing funclet trees. The callers that rewrite the IR as they go
take advantage of this, for correctness, by checking/forcing rewritten
pads' entries to match the original callee view.
Defined at line 417 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
char * printNode (const Node * RootNode, char * Buf, size_t * N)Defined at line 418 of file llvm/lib/Demangle/ItaniumDemangle.cpp
-
bool hasIdenticalMMOs (ArrayRef<MachineMemOperand *> LHS, ArrayRef<MachineMemOperand *> RHS)Check to see if the MMOs pointed to by the two MemRefs arrays are
identical.
Defined at line 418 of file llvm/lib/CodeGen/MachineInstr.cpp
-
bool isDispOrCDisp8 (uint64_t TSFlags, int Value, int & ImmOffset)Determine if this immediate can fit in a disp8 or a compressed disp8 for
EVEX instructions.
be set to the value to pass to the ImmOffset
parameter of emitImmediate.
Defined at line 418 of file llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
-
void collectFrameAlloca (AllocaInst * AI, const coro::Shape & Shape, const SuspendCrossingInfo & Checker, SmallVectorImpl<AllocaInfo> & Allocas, const DominatorTree & DT)Defined at line 418 of file llvm/lib/Transforms/Coroutines/SpillUtils.cpp
-
int llvm_symbolizer_main (int argc, char ** , const llvm::ToolContext & )Defined at line 476 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
error_code wasm2yaml (llvm::raw_ostream & Out, const llvm::object::WasmObjectFile & Obj)Defined at line 424 of file llvm/tools/obj2yaml/wasm2yaml.cpp
-
int llvm_di_type_get_name ()Defined at line 447 of file llvm/tools/llvm-c-test/debuginfo.c
-
int llvm_add_globaldebuginfo ()Defined at line 474 of file llvm/tools/llvm-c-test/debuginfo.c
-
std::string & libSupportInfoOutputFilename ()Defined at line 553 of file llvm/lib/Support/Timer.cpp
-
bool trackSpace ()Defined at line 556 of file llvm/lib/Support/Timer.cpp
-
bool sortTimers ()Defined at line 557 of file llvm/lib/Support/Timer.cpp
-
SignpostEmitter & signposts ()Defined at line 558 of file llvm/lib/Support/Timer.cpp
-
sys::SmartMutex<true> & timerLock ()Defined at line 559 of file llvm/lib/Support/Timer.cpp
-
TimerGroup & defaultTimerGroup ()Defined at line 562 of file llvm/lib/Support/Timer.cpp
-
Name2PairMap & namedGroupedTimers ()Defined at line 565 of file llvm/lib/Support/Timer.cpp
-
bool isTimerGlobalsConstructed ()Defined at line 576 of file llvm/lib/Support/Timer.cpp
-
void llvm_blake3_hasher_init_derive_key (llvm_blake3_hasher * self, const char * context)Defined at line 417 of file llvm/lib/Support/BLAKE3/blake3.c
-
void llvm_blake3_hasher_update (llvm_blake3_hasher * self, const void * input, size_t input_len)Defined at line 591 of file llvm/lib/Support/BLAKE3/blake3.c
-
void llvm_blake3_hasher_finalize (const llvm_blake3_hasher * self, uint8_t * out, size_t out_len)Defined at line 605 of file llvm/lib/Support/BLAKE3/blake3.c
-
void llvm_blake3_hasher_finalize_seek (const llvm_blake3_hasher * self, uint64_t seek, uint8_t * out, size_t out_len)Defined at line 614 of file llvm/lib/Support/BLAKE3/blake3.c
-
bool InsertStackProtectors (const TargetMachine * TM, Function * F, DomTreeUpdater * DTU, bool & HasPrologue, bool & HasIRCheck)InsertStackProtectors - Insert code into the prologue and epilogue of the
function.
- The prologue code loads and stores the stack guard onto the stack.
- The epilogue checks the value stored in the prologue against the original
value. It calls __stack_chk_fail if they differ.
Defined at line 574 of file llvm/lib/CodeGen/StackProtector.cpp
-
void InfoSignalHandler (int Sig)Defined at line 440 of file llvm/lib/Support/Unix/Signals.inc
-
const char * lbackref (struct lmat * , const char * , const char * , sopno , sopno , sopno , int )- backref - figure out what matched what, figuring in back references
Defined at line 523 of file llvm/lib/Support/regengine.inc
-
const char * sbackref (struct smat * , const char * , const char * , sopno , sopno , sopno , int )- backref - figure out what matched what, figuring in back references
Defined at line 523 of file llvm/lib/Support/regengine.inc
-
bool isInterleavingMask (ArrayRef<int> Mask)Checks the given mask, and determines whether said mask is interleaving.
To be interleaving, a mask must alternate between `i` and `i + (Length /
2)`, and must contain all numbers within the range of `[0..Length)` (e.g. a
4x vector interleaving mask would be
<
0, 2, 1, 3>).
Defined at line 585 of file llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
-
bool isDeinterleavingMask (ArrayRef<int> Mask)Checks the given mask, and determines whether said mask is deinterleaving.
To be deinterleaving, a mask must increment in steps of 2, and either start
with 0 or 1.
(e.g. an 8x vector deinterleaving mask would be either
<
0, 2, 4, 6> or
<
1, 3, 5, 7>).
Defined at line 600 of file llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
-
bool isNeg (Value * V)Returns true if the operation is a negation of V, and it works for both
integers and floats.
Defined at line 612 of file llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
-
Value * getNegOperand (Value * V)Returns the operand for negation operation.
Defined at line 616 of file llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
-
bool findModulesAndOffsets (void ** StackTrace, int Depth, const char ** Modules, intptr_t * Offsets, const char * MainExecutableName, StringSaver & StrPool)If this is an ELF platform, we can find all loaded modules and their virtual
addresses with dl_iterate_phdr.
Defined at line 550 of file llvm/lib/Support/Unix/Signals.inc
-
void convertMCP (yaml::MachineFunction & MF, const MachineConstantPool & ConstantPool)Defined at line 602 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
void convertSRPoints (ModuleSlotTracker & MST, int & YamlSRPoints, const int & SRPoints, const TargetRegisterInfo * TRI)Defined at line 623 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
void convertCallSiteObjects (yaml::MachineFunction & YMF, const MachineFunction & MF, ModuleSlotTracker & MST)Defined at line 528 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
void convertMachineMetadataNodes (yaml::MachineFunction & YMF, const MachineFunction & MF, MachineModuleSlotTracker & MST)Defined at line 567 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
void convertCalledGlobals (yaml::MachineFunction & YMF, const MachineFunction & MF, MachineModuleSlotTracker & MST)Defined at line 580 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
bool mustBeFiniteCountedLoop (Loop * L, ScalarEvolution * SE, BasicBlock * Pred)Returns true if this loop is known to terminate in a finite number of
iterations. Note that this function may return false for a loop which
does actual terminate in a finite constant number of iterations due to
conservatism in the analysis.
Defined at line 445 of file llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
-
Instruction * findLocationForEntrySafepoint (Function & F, DominatorTree & DT)Defined at line 536 of file llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
-
bool isGCSafepointPoll (Function & F)Defined at line 591 of file llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
-
bool shouldRewriteFunction (Function & F)Returns true if this function should be rewritten to include safepoint
polls and parseable call sites. The main point of this function is to be
an extension point for custom logic.
Defined at line 598 of file llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
-
bool enableEntrySafepoints (Function & F)TODO: These should become properties of the GCStrategy, possibly with
command line overrides.
Defined at line 612 of file llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
-
bool enableBackedgeSafepoints (Function & F)Defined at line 613 of file llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
-
bool enableCallSafepoints (Function & F)Defined at line 614 of file llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
-
void InsertSafepointPoll (ilist_iterator_w_bits InsertBefore, int & ParsePointsNeeded, const TargetLibraryInfo & TLI)Insert a safepoint poll immediately before the given instruction. Does
not handle the parsability of state at the runtime call, that's the
callers job.
Defined at line 619 of file llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
-
void LLVMDisposeMCJITMemoryManager (LLVMMCJITMemoryManagerRef MM)Defined at line 421 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
void p_ere_exp (struct parse * )- p_ere_exp - parse one subERE, an atom possibly followed by a repetition op
Defined at line 429 of file llvm/lib/Support/regcomp.c
-
void p_str (struct parse * )- p_str - string (no metacharacters) "parser"
Defined at line 602 of file llvm/lib/Support/regcomp.c
-
void p_bre (struct parse * , int , int )- p_bre - BRE parser top level, anchoring and concatenation
Giving end1 as OUT essentially eliminates the end1/end2 check.
This implementation is a bit of a kludge, in that a trailing $ is first
taken as an ordinary character and then revised to be an anchor. The
only undesirable side effect is that '$' gets included as a character
category in such cases. This is fairly harmless; not worth fixing.
The amount of lookahead needed to avoid this kludge is excessive.
Defined at line 618 of file llvm/lib/Support/regcomp.c
-
LLVMJITEventListenerRef LLVMCreateIntelJITEventListener ()Defined at line 429 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
LLVMJITEventListenerRef LLVMCreateOProfileJITEventListener ()Defined at line 436 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
LLVMJITEventListenerRef LLVMCreatePerfJITEventListener ()Defined at line 443 of file llvm/lib/ExecutionEngine/ExecutionEngineBindings.cpp
-
std::pair<Value *, APInt> getMask (Value * WideMask, unsigned int Factor, ElementCount LeafValueEC)Return a pair of
(1) The corresponded deinterleaved mask, or nullptr if there is no valid
mask.
(2) Some mask effectively skips a certain field, and this element is a mask
in which inactive lanes represent fields that are skipped (i.e. "gaps").
Defined at line 588 of file llvm/lib/CodeGen/InterleavedAccessPass.cpp
-
template <typename MB>ErrorOr<std::unique_ptr<MB>> getOpenFileImpl (sys::fs::file_t FD, const Twine & Filename, uint64_t FileSize, uint64_t MapSize, int64_t Offset, bool RequiresNullTerminator, bool IsVolatile, optional Alignment)Defined at line 484 of file llvm/lib/Support/MemoryBuffer.cpp
-
int compileModule (char ** argv, SmallVectorImpl<PassPlugin> & , LLVMContext & Context, std::string & OutputFilename)Defined at line 500 of file llvm/tools/llc/llc.cpp
-
void FactorNodes (int & InputMatcherPtr)Search a ScopeMatcher to factor with FactorScope.
Defined at line 615 of file llvm/utils/TableGen/DAGISelMatcherOpt.cpp
-
lto_bool_t lto_module_has_ctor_dtor (lto_module_t mod)This function can be used by the linker to check if a given module has
any constructor or destructor functions.
Returns true if the module has either the
.global_ctors or the
.global_dtors symbol. Otherwise returns false.
Defined at line 548 of file llvm/tools/lto/lto.cpp
-
Value * findBaseDefiningValue (Value * I, int & Cache, int & KnownBases)Helper function for findBasePointer - Will return a value which either a)
defines the base pointer for the input, b) blocks the simple search
(i.e. a PHI or Select of two derived pointers), or c) involves a change
from pointer to vector type or back.
Defined at line 449 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
lto_bool_t lto_codegen_add_module (lto_code_gen_t cg, lto_module_t mod)Add an object module to the set of modules for which code will be generated.
Returns true on error (check lto_get_error_message() for details).
and
must both be in the same context. See
and
Defined at line 411 of file llvm/tools/lto/lto.cpp
-
void lto_codegen_set_module (lto_code_gen_t cg, lto_module_t mod)Sets the object module for code generation. This will transfer the ownership
of the module to the code generator.
and
must both be in the same context.
Defined at line 415 of file llvm/tools/lto/lto.cpp
-
lto_bool_t lto_codegen_set_debug_model (lto_code_gen_t cg, )Sets if debug info should be generated.
Returns true on error (check lto_get_error_message() for details).
Defined at line 419 of file llvm/tools/lto/lto.cpp
-
void LLVMOrcExecutionSessionSetErrorReporter (LLVMOrcExecutionSessionRef ES, LLVMOrcErrorReporterFunction ReportError, void * Ctx)Attach a custom error reporter function to the ExecutionSession.
The error reporter will be called to deliver failure notices that can not be
directly reported to a caller. For example, failure to resolve symbols in
the JIT linker is typically reported via the error reporter (callers
requesting definitions from the JIT will typically be delivered a
FailureToMaterialize error instead).
Defined at line 318 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcSymbolStringPoolRef LLVMOrcExecutionSessionGetSymbolStringPool (LLVMOrcExecutionSessionRef ES)Return a reference to the SymbolStringPool for an ExecutionSession.
Ownership of the pool remains with the ExecutionSession: The caller is
not required to free the pool.
Defined at line 325 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void LLVMOrcSymbolStringPoolClearDeadEntries (LLVMOrcSymbolStringPoolRef SSP)Clear all unreferenced symbol string pool entries.
This can be called at any time to release unused entries in the
ExecutionSession's string pool. Since it locks the pool (preventing
interning of any new strings) it is recommended that it only be called
infrequently, ideally when the caller has reason to believe that some
entries will have become unreferenced, e.g. after removing a module or
closing a JITDylib.
Defined at line 331 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcSymbolStringPoolEntryRef LLVMOrcExecutionSessionIntern (LLVMOrcExecutionSessionRef ES, const char * Name)Intern a string in the ExecutionSession's SymbolStringPool and return a
reference to it. This increments the ref-count of the pool entry, and the
returned value should be released once the client is done with it by
calling LLVMOrcReleaseSymbolStringPoolEntry.
Since strings are uniqued within the SymbolStringPool
LLVMOrcSymbolStringPoolEntryRefs can be compared by value to test string
equality.
Note that this function does not perform linker-mangling on the string.
Defined at line 335 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void LLVMOrcExecutionSessionLookup (LLVMOrcExecutionSessionRef ES, K, LLVMOrcCJITDylibSearchOrder SearchOrder, size_t SearchOrderSize, LLVMOrcCLookupSet Symbols, size_t SymbolsSize, LLVMOrcExecutionSessionLookupHandleResultFunction HandleResult, void * Ctx)Look up symbols in an execution session.
This is a wrapper around the general ExecutionSession::lookup function.
The SearchOrder argument contains a list of (JITDylibs, JITDylibSearchFlags)
pairs that describe the search order. The JITDylibs will be searched in the
given order to try to find the symbols in the Symbols argument.
The Symbols argument should contain a null-terminated array of
(SymbolStringPtr, SymbolLookupFlags) pairs describing the symbols to be
searched for. This function takes ownership of the elements of the Symbols
array. The Name fields of the Symbols elements are taken to have been
retained by the client for this function. The client should *not* release the
Name fields, but are still responsible for destroying the array itself.
The HandleResult function will be called once all searched for symbols have
been found, or an error occurs. The HandleResult function will be passed an
LLVMErrorRef indicating success or failure, and (on success) a
null-terminated LLVMOrcCSymbolMapPairs array containing the function result,
and the Ctx value passed to the lookup function.
The client is fully responsible for managing the lifetime of the Ctx object.
A common idiom is to allocate the context prior to the lookup and deallocate
it in the handler.
THIS API IS EXPERIMENTAL AND LIKELY TO CHANGE IN THE NEAR FUTURE!
Defined at line 340 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void LLVMOrcRetainSymbolStringPoolEntry (LLVMOrcSymbolStringPoolEntryRef S)Increments the ref-count for a SymbolStringPool entry.
Defined at line 376 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void LLVMOrcReleaseSymbolStringPoolEntry (LLVMOrcSymbolStringPoolEntryRef S)Reduces the ref-count for of a SymbolStringPool entry.
Defined at line 380 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
const char * LLVMOrcSymbolStringPoolEntryStr (LLVMOrcSymbolStringPoolEntryRef S)Return the c-string for the given symbol. This string will remain valid until
the entry is freed (once all LLVMOrcSymbolStringPoolEntryRefs have been
released).
Defined at line 384 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void LLVMOrcReleaseResourceTracker (LLVMOrcResourceTrackerRef RT)Reduces the ref-count of a ResourceTracker.
Defined at line 403 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void LLVMOrcResourceTrackerTransferTo (LLVMOrcResourceTrackerRef SrcRT, LLVMOrcResourceTrackerRef DstRT)Transfers tracking of all resources associated with resource tracker SrcRT
to resource tracker DstRT.
Defined at line 408 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMErrorRef LLVMOrcResourceTrackerRemove (LLVMOrcResourceTrackerRef RT)Remove all resources associated with the given tracker. See
ResourceTracker::remove().
Defined at line 414 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void LLVMOrcDisposeDefinitionGenerator (LLVMOrcDefinitionGeneratorRef DG)Dispose of a JITDylib::DefinitionGenerator. This should only be called if
ownership has not been passed to a JITDylib (e.g. because some error
prevented the client from calling LLVMOrcJITDylibAddGenerator).
Defined at line 419 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
char * LLVMGetDiagInfoDescription (LLVMDiagnosticInfoRef DI)Return a string representation of the DiagnosticInfo. Use
LLVMDisposeMessage to free the string.
Defined at line 246 of file llvm/lib/IR/Core.cpp
-
LLVMGetDiagInfoSeverity (LLVMDiagnosticInfoRef DI)Return an enum LLVMDiagnosticSeverity.
Defined at line 257 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetEnumAttributeKind (LLVMAttributeRef A)Get the unique id corresponding to the enum attribute
passed as argument.
Defined at line 175 of file llvm/lib/IR/Core.cpp
-
uint64_t LLVMGetEnumAttributeValue (LLVMAttributeRef A)Get the enum attribute's value. 0 is returned if none exists.
Defined at line 179 of file llvm/lib/IR/Core.cpp
-
LLVMAttributeRef LLVMCreateTypeAttribute (LLVMContextRef C, unsigned int KindID, LLVMTypeRef type_ref)Create a type attribute
Defined at line 186 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMGetTypeAttributeValue (LLVMAttributeRef A)Get the type attribute's value.
Defined at line 193 of file llvm/lib/IR/Core.cpp
-
LLVMAttributeRef LLVMCreateConstantRangeAttribute (LLVMContextRef C, unsigned int KindID, unsigned int NumBits, const uint64_t[] LowerWords, const uint64_t[] UpperWords)Create a ConstantRange attribute.
LowerWords and UpperWords need to be NumBits divided by 64 rounded up
elements long.
Defined at line 198 of file llvm/lib/IR/Core.cpp
-
LLVMAttributeRef LLVMCreateStringAttribute (LLVMContextRef C, const char * K, unsigned int KLength, const char * V, unsigned int VLength)Create a string attribute.
Defined at line 212 of file llvm/lib/IR/Core.cpp
-
const char * LLVMGetStringAttributeKind (LLVMAttributeRef A, unsigned int * Length)Get the string attribute's kind.
Defined at line 219 of file llvm/lib/IR/Core.cpp
-
const char * LLVMGetStringAttributeValue (LLVMAttributeRef A, unsigned int * Length)Get the string attribute's value.
Defined at line 226 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsEnumAttribute (LLVMAttributeRef A)Check for the different types of attributes.
Defined at line 233 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsStringAttribute (LLVMAttributeRef A)Defined at line 238 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsTypeAttribute (LLVMAttributeRef A)Defined at line 242 of file llvm/lib/IR/Core.cpp
-
LLVMModuleRef LLVMModuleCreateWithName (const char * ModuleID)Create a new, empty module in the global context.
This is equivalent to calling LLVMModuleCreateWithNameInContext with
LLVMGetGlobalContext() as the context parameter.
Every invocation should be paired with LLVMDisposeModule() or memory
will be leaked.
Defined at line 280 of file llvm/lib/IR/Core.cpp
-
LLVMModuleRef LLVMModuleCreateWithNameInContext (const char * ModuleID, LLVMContextRef C)Create a new, empty module in a specific context.
Every invocation should be paired with LLVMDisposeModule() or memory
will be leaked.
Defined at line 284 of file llvm/lib/IR/Core.cpp
-
LLVMModuleRef LLVMCloneModule (LLVMModuleRef M)Return an exact copy of the specified module.
Defined at line 220 of file llvm/lib/Transforms/Utils/CloneModule.cpp
-
void LLVMDisposeModule (LLVMModuleRef M)Destroy a module instance.
This must be called for every created module or memory will be
leaked.
Defined at line 289 of file llvm/lib/IR/Core.cpp
-
const char * LLVMGetModuleIdentifier (LLVMModuleRef M, size_t * Len)Obtain the identifier of a module.
Parameters
M Module to obtain identifier ofLen Out parameter which holds the length of the returned string.Returns
The identifier of M.
Defined at line 293 of file llvm/lib/IR/Core.cpp
-
void LLVMSetModuleIdentifier (LLVMModuleRef M, const char * Ident, size_t Len)Set the identifier of a module to a string Ident with length Len.
Parameters
M The module to set identifierIdent The string to set M's identifier toLen Length of IdentDefined at line 299 of file llvm/lib/IR/Core.cpp
-
const char * LLVMGetSourceFileName (LLVMModuleRef M, size_t * Len)Obtain the module's original source file name.
Parameters
M Module to obtain the name ofLen Out parameter which holds the length of the returned stringReturns
The original source file name of M
Defined at line 303 of file llvm/lib/IR/Core.cpp
-
void LLVMSetSourceFileName (LLVMModuleRef M, const char * Name, size_t Len)Set the original source file name of a module to a string Name with length
Len.
Parameters
M The module to set the source file name ofName The string to set M's source file name toLen Length of NameDefined at line 309 of file llvm/lib/IR/Core.cpp
-
const char * LLVMGetDataLayoutStr (LLVMModuleRef M)Obtain the data layout for a module.
LLVMGetDataLayout is DEPRECATED, as the name is not only incorrect,
but match the name of another method on the module. Prefer the use
of LLVMGetDataLayoutStr, which is not ambiguous.
Defined at line 314 of file llvm/lib/IR/Core.cpp
-
const char * LLVMGetDataLayout (LLVMModuleRef M)Defined at line 318 of file llvm/lib/IR/Core.cpp
-
void LLVMSetDataLayout (LLVMModuleRef M, const char * DataLayoutStr)Set the data layout for a module.
Defined at line 322 of file llvm/lib/IR/Core.cpp
-
const char * LLVMGetTarget (LLVMModuleRef M)Obtain the target triple for a module.
Defined at line 327 of file llvm/lib/IR/Core.cpp
-
void LLVMSetTarget (LLVMModuleRef M, const char * Triple)Set the target triple for a module.
Defined at line 331 of file llvm/lib/IR/Core.cpp
-
LLVMModuleFlagEntry * LLVMCopyModuleFlagsMetadata (LLVMModuleRef M, size_t * Len)Returns the module flags as an array of flag-key-value triples. The caller
is responsible for freeing this array by calling
Defined at line 382 of file llvm/lib/IR/Core.cpp
-
void LLVMDisposeModuleFlagsMetadata (LLVMModuleFlagEntry * Entries)Destroys module flags metadata entries.
Defined at line 399 of file llvm/lib/IR/Core.cpp
-
LLVMModuleFlagEntriesGetFlagBehavior (LLVMModuleFlagEntry * Entries, unsigned int Index)Returns the flag behavior for a module flag entry at a specific index.
Defined at line 403 of file llvm/lib/IR/Core.cpp
-
const char * LLVMModuleFlagEntriesGetKey (LLVMModuleFlagEntry * Entries, unsigned int Index, size_t * Len)Returns the key for a module flag entry at a specific index.
Defined at line 411 of file llvm/lib/IR/Core.cpp
-
LLVMMetadataRef LLVMModuleFlagEntriesGetMetadata (LLVMModuleFlagEntry * Entries, unsigned int Index)Returns the metadata for a module flag entry at a specific index.
Defined at line 419 of file llvm/lib/IR/Core.cpp
-
LLVMOrcResourceTrackerRef LLVMOrcJITDylibCreateResourceTracker (LLVMOrcJITDylibRef JD)Return a reference to a newly created resource tracker associated with JD.
The tracker is returned with an initial ref-count of 1, and must be released
with LLVMOrcReleaseResourceTracker when no longer needed.
Defined at line 388 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcResourceTrackerRef LLVMOrcJITDylibGetDefaultResourceTracker (LLVMOrcJITDylibRef JD)Return a reference to the default resource tracker for the given JITDylib.
This operation will increase the retain count of the tracker: Clients should
call LLVMOrcReleaseResourceTracker when the result is no longer needed.
Defined at line 396 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
const LiveInterval::SubRange & getSubRangeForMask (LaneBitmask LM, const LiveInterval & LI)Find a subrange corresponding to the lane mask
or a superset of it,
in the live interval
The interval
is assumed to contain such
a subrange. This function is used to find corresponding subranges between
the original interval and the new intervals.
Defined at line 419 of file llvm/lib/CodeGen/SplitKit.cpp
-
void addPredecessorToBlock (BasicBlock * Succ, BasicBlock * NewPred, BasicBlock * ExistPred, MemorySSAUpdater * MSSAU)Update PHI nodes in Succ to indicate that there will now be entries in it
from the 'NewPred' block. The values that will be flowing into the PHI nodes
will be the same as those coming in from ExistPred, an existing predecessor
of Succ.
Defined at line 419 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool removeInf (APFloat & Lower, APFloat & Upper, bool & HasPosInf, bool & HasNegInf)Return true if the finite part is not empty after removing infinities.
Defined at line 419 of file llvm/lib/IR/ConstantFPRange.cpp
-
void generateGetKind (ArrayRef Records, raw_ostream & OS, StringRef Enum, const DirectiveLanguage & DirLang, StringRef Prefix, bool ImplicitAsUnknown)Generate function implementation for get
<Enum
>KindAndVersions(StringRef Str)
Defined at line 419 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
LinearExpression GetLinearExpression (const CastedValue & Val, const DataLayout & DL, unsigned int Depth, AssumptionCache * AC, DominatorTree * DT)Analyzes the specified value as a linear expression: "A*V + B", where A and
B are constant integers.
Defined at line 419 of file llvm/lib/Analysis/BasicAliasAnalysis.cpp
-
int main (int argc, char ** argv, char *const * envp)===----------------------------------------------------------------------===//
main Driver function
Defined at line 419 of file llvm/tools/lli/lli.cpp
-
bool compressAnnotation (BinaryAnnotationsOpCode Annotation, SmallVectorImpl<char> & Buffer)Defined at line 420 of file llvm/lib/MC/MCCodeView.cpp
-
uint64_t getSegmentFileSize (const LoadCommand & TextSegmentLoadCommand)Defined at line 420 of file llvm/lib/ObjCopy/MachO/MachOWriter.cpp
-
bool isReachableFromPHI (PHINode * Phi, BinaryOperator * BO)See if this BO is reachable from this Phi by walking forward through single
use BinaryOperators with the same opcode. If we get back then we know we've
found a loop and it is safe to step through this Add to find more leaves.
Defined at line 420 of file llvm/lib/Target/X86/X86PartialReduction.cpp
-
LaneBitmask getLanesWithProperty (const LiveIntervals & LIS, const MachineRegisterInfo & MRI, bool TrackLaneMasks, VirtRegOrUnit VRegOrUnit, SlotIndex Pos, LaneBitmask SafeDefault, bool (*)(const LiveRange &, SlotIndex) Property)Defined at line 420 of file llvm/lib/CodeGen/RegisterPressure.cpp
-
bool memoryIsNotModifiedBetween (Instruction * FirstI, Instruction * SecondI, BatchAAResults & AA, const DataLayout & DL, DominatorTree * DT)Returns true if the memory which is accessed by the second instruction is not
modified between the first and the second instruction.
Precondition: Second instruction must be dominated by the first
instruction.
Defined at line 420 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
void initializeDetectDeadLanesLegacyPassOnce (PassRegistry & Registry)Defined at line 421 of file llvm/lib/CodeGen/DetectDeadLanes.cpp
-
bool isNonTrivial (const DICompositeType * DCTy)Defined at line 421 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
bool isLTOPreLink (ThinOrFullLTOPhase Phase)Helper to check if the current compilation phase is preparing for LTO
Defined at line 421 of file llvm/lib/Passes/PassBuilderPipelines.cpp
-
Error isValidMachOCannonicalName (StringRef Name)isValidMachOCannonicalName returns success if Name is a MachO cannonical name
("<segment>,<section>") and lengths of both segment and section names are
valid.
Defined at line 421 of file llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
-
Constant * getMemSetPatternValue (Value * V, const DataLayout * DL)getMemSetPatternValue - If a strided store of the specified value is safe to
turn into a memset.patternn intrinsic, return the Constant that should
be passed in. Otherwise, return null.
TODO this function could allow more constants than it does today (e.g.
those over 16 bytes) now it has transitioned to being used for the
memset.pattern intrinsic rather than directly the memset_pattern16
libcall.
Defined at line 421 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
ElementCount getSmallConstantTripCount (ScalarEvolution * SE, const Loop * L)A version of ScalarEvolution::getSmallConstantTripCount that returns an
ElementCount to include loops whose trip count is a function of vscale.
Defined at line 422 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
unsigned int peelToTurnInvariantLoadsDereferenceable (Loop & L, DominatorTree & DT, AssumptionCache * AC)Try to find any invariant memory reads that will become dereferenceable in
the remainder loop after peeling. The load must also be used (transitively)
by an exit condition. Returns the number of iterations to peel off (at the
moment either 0 or 1).
Defined at line 422 of file llvm/lib/Transforms/Utils/LoopPeel.cpp
-
void LLVMOrcDisposeMaterializationUnit (LLVMOrcMaterializationUnitRef MU)Dispose of a MaterializationUnit.
Defined at line 423 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool canHaveUnrollRemainder (const Loop * L)Loops containing convergent instructions that are uncontrolled or controlled
from outside the loop must have a count that divides their TripMultiple.
Defined at line 423 of file llvm/lib/Transforms/Utils/LoopUnroll.cpp
-
bool isMoveInstr (const TargetRegisterInfo & tri, const MachineInstr * MI, Register & Src, Register & Dst, unsigned int & SrcSub, unsigned int & DstSub)Defined at line 423 of file llvm/lib/CodeGen/RegisterCoalescer.cpp
-
bool isComputableLoopNest (ScalarEvolution * SE, ArrayRef LoopList)Defined at line 423 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
bool tryToUnrollAndJamLoop (LoopNest & LN, DominatorTree & DT, LoopInfo & LI, ScalarEvolution & SE, const TargetTransformInfo & TTI, AssumptionCache & AC, DependenceInfo & DI, OptimizationRemarkEmitter & ORE, int OptLevel, LPMUpdater & U, bool & AnyLoopRemoved)Defined at line 423 of file llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
-
void rewritePHINodesForExitAndUnswitchedBlocks (BasicBlock & ExitBB, BasicBlock & UnswitchedBB, BasicBlock & OldExitingBB, BasicBlock & OldPH, bool FullUnswitch)Rewrite the PHI nodes in the loop exit basic block and the split off
unswitched block.
Because the exit block remains an exit from the loop, this rewrites the
LCSSA PHI nodes in it to remove the unswitched edge and introduces PHI
nodes into the unswitched basic block to select between the value in the
old preheader and the loop exit.
Defined at line 423 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
MCAsmInfo * createX86MCAsmInfo (const MCRegisterInfo & MRI, const Triple & TheTriple, const MCTargetOptions & Options)Defined at line 423 of file llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
-
void lowerIncomingStatepointValue (SDValue Incoming, bool RequireSpillSlot, SmallVectorImpl<SDValue> & Ops, SmallVectorImpl<MachineMemOperand *> & MemRefs, SelectionDAGBuilder & Builder)Lower a single value incoming to a statepoint node. This value can be
either a deopt value or a gc value, the handling is the same. We special
case constants and allocas, then fall back to spilling if required.
Defined at line 423 of file llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
-
void initializeStructurizeCFGLegacyPassPassOnce (PassRegistry & Registry)Defined at line 424 of file llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
-
lto_bool_t lto_codegen_set_pic_model (lto_code_gen_t cg, )Sets which PIC code model to generated.
Returns true on error (check lto_get_error_message() for details).
Defined at line 424 of file llvm/tools/lto/lto.cpp
-
MDNode * updateLoopMetadataDebugLocationsImpl (MDNode * OrigLoopID, function_ref Updater)Defined at line 424 of file llvm/lib/IR/DebugInfo.cpp
-
uint32_t encodeSignedNumber (uint32_t Data)Defined at line 425 of file llvm/lib/MC/MCCodeView.cpp
-
template <typename T>void printSingleVal (basic_string Indent, const DiffOutput & Attr, raw_ostream & OS)Defined at line 425 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
void createLoopRegion (VPlan & Plan, VPBlockBase * HeaderVPB)Create a new VPRegionBlock for the loop starting at
Defined at line 425 of file llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
-
FunctionOptions getFunctionOptions (const DISubroutineType * Ty, const DICompositeType * ClassTy, StringRef SPName)Defined at line 425 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
void printHelp (const opt::OptTable & OptTable, raw_ostream & OS, ToolType Tool)Defined at line 425 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
void canonicalizeToIntegerIV (Loop * L, PHINode * PN, const FloatingPointIV & FPIV, const IntegerIV & IIV, const TargetLibraryInfo * TLI, int & MSSAU)Rewrite the floating-point IV as an integer IV.
Defined at line 425 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
void initializeDominatorTreeWrapperPassPassOnce (PassRegistry & Registry)Defined at line 426 of file llvm/lib/IR/Dominators.cpp
-
LLVMMetadataRef LLVMGetModuleFlag (LLVMModuleRef M, const char * Key, size_t KeyLen)Add a module-level flag to the module-level flags metadata if it doesn't
already exist.
Defined at line 426 of file llvm/lib/IR/Core.cpp
-
optional isBigEndianBitShift (Value * V, ScalarEvolution & SE)Recognizes a multiplication or division by the constant two, using SCEV. By
doing this, we're immune to whether the IR expression is mul/udiv or
equivalently shl/lshr. Return false when it is a UDiv, true when it is a Mul,
and std::nullopt otherwise.
Defined at line 426 of file llvm/lib/Analysis/HashRecognize.cpp
-
vector computeAddrMap (ArrayRef Publics)Defined at line 426 of file llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp
-
bool filterByName (const StringSet<> & Names, DWARFDie Die, StringRef NameRef, raw_ostream & OS, function GetNameForDWARFReg)Print only DIEs that have a certain name.
Defined at line 426 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
ErrorOr getReadWriteFile (const Twine & Filename, uint64_t FileSize, uint64_t MapSize, uint64_t Offset)Defined at line 426 of file llvm/lib/Support/MemoryBuffer.cpp
-
int ProcessThinLTOModule (Module & TheModule, ModuleSummaryIndex & Index, int & ModuleMap, TargetMachine & TM, const FunctionImporter::ImportMapTy & ImportList, const int & ExportList, const int & GUIDPreservedSymbols, const GVSummaryMapTy & DefinedGlobals, const ThinLTOCodeGenerator::CachingOptions & CacheOptions, bool DisableCodeGen, StringRef SaveTempsDir, bool Freestanding, unsigned int OptLevel, unsigned int count, bool DebugPassManager)Defined at line 426 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
unsigned int getJumpThreadDuplicationCost (const TargetTransformInfo * TTI, BasicBlock * BB, Instruction * StopAt, unsigned int Threshold)Return the cost of duplicating a piece of this block from first non-phi
and before StopAt instruction to thread across it. Stop scanning the block
when exceeding the threshold. If duplication is impossible, returns ~0U.
Defined at line 426 of file llvm/lib/Transforms/Scalar/JumpThreading.cpp
-
void printSize (raw_ostream & OS, double Bits)Defined at line 427 of file llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
-
bool isLTOPostLink (ThinOrFullLTOPhase Phase)Helper to check if the current compilation phase is LTO backend
Defined at line 427 of file llvm/lib/Passes/PassBuilderPipelines.cpp
-
Cursor maybeLexStringConstant (Cursor C, MIToken & Token, function_ref ErrorCallback)Defined at line 427 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void dumpIR (Function & F, const char * Label, CHRStats * Stats)Defined at line 427 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
LLVMOrcMaterializationUnitRef LLVMOrcCreateCustomMaterializationUnit (const char * Name, void * Ctx, LLVMOrcCSymbolFlagsMapPairs Syms, size_t NumSyms, LLVMOrcSymbolStringPoolEntryRef InitSym, LLVMOrcMaterializationUnitMaterializeFunction Materialize, LLVMOrcMaterializationUnitDiscardFunction Discard, LLVMOrcMaterializationUnitDestroyFunction Destroy)Create a custom MaterializationUnit.
Name is a name for this MaterializationUnit to be used for identification
and logging purposes (e.g. if this MaterializationUnit produces an
object buffer then the name of that buffer will be derived from this name).
The Syms list contains the names and linkages of the symbols provided by this
unit. This function takes ownership of the elements of the Syms array. The
Name fields of the array elements are taken to have been retained for this
function. The client should *not* release the elements of the array, but is
still responsible for destroying the array itself.
The InitSym argument indicates whether or not this MaterializationUnit
contains static initializers. If three are no static initializers (the common
case) then this argument should be null. If there are static initializers
then InitSym should be set to a unique name that also appears in the Syms
list with the LLVMJITSymbolGenericFlagsMaterializationSideEffectsOnly flag
set. This function takes ownership of the InitSym, which should have been
retained twice on behalf of this function: once for the Syms entry and once
for InitSym. If clients wish to use the InitSym value after this function
returns they must retain it once more for themselves.
If any of the symbols in the Syms list is looked up then the Materialize
function will be called.
If any of the symbols in the Syms list is overridden then the Discard
function will be called.
The caller owns the underling MaterializationUnit and is responsible for
either passing it to a JITDylib (via LLVMOrcJITDylibDefine) or disposing
of it by calling LLVMOrcDisposeMaterializationUnit.
Defined at line 427 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool isTileRegDef (MachineRegisterInfo * MRI, MachineInstr & MI)Defined at line 428 of file llvm/lib/Target/X86/X86FastPreTileConfig.cpp
-
DINameKind decideHowToPrintFunctions (const opt::InputArgList & Args, bool IsAddr2Line)Defined at line 428 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
uint64_t computeECSymbolsSize (SymMap & SymMap, uint32_t * Padding)Defined at line 428 of file llvm/lib/Object/ArchiveWriter.cpp
-
template <typename T, T TrueVal, T FalseVal>bool parseBool (Option & O, StringRef ArgName, StringRef Arg, T & Value)Defined at line 428 of file llvm/lib/Support/CommandLine.cpp
-
bool isEligibleForMerging (Function & F)Check whether
is eligible for function merging.
Defined at line 429 of file llvm/lib/Transforms/IPO/MergeFunctions.cpp
-
bool indexReallyValid (Type * T, unsigned int Idx)For an aggregate type, determine whether a given index is within bounds or
not.
Defined at line 429 of file llvm/lib/CodeGen/Analysis.cpp
-
bool InstructionStoresToFI (const MachineInstr * MI, int FI)Return true if instruction stores to the specified frame.
Defined at line 429 of file llvm/lib/CodeGen/MachineLICM.cpp
-
void printSize (raw_ostream & OS, uint64_t Bits)Defined at line 430 of file llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
-
void initializeCFGSimplifyPassPassOnce (PassRegistry & Registry)Defined at line 430 of file llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
-
void collectBlocksReachableByDirty (const int & DirtyBBs, int & ReachableByDirty)Collect blocks reachable by use or def of CSRs/FI.
Defined at line 430 of file llvm/lib/CodeGen/ShrinkWrap.cpp
-
void outputJSONForAllDiffs (StringRef InputFileNameA, StringRef InputFileNameB, const DiffsCategorizedByFilesPresent & DiffsByFilesPresent, llvm::raw_ostream & OS)Output all diffs in
as a JSON report. This is
intended for consumption by external tools.
- File A used to produce the report.
- File B used ot produce the report.
- Output stream.
JSON output includes:
-
and
under "Files".
- Functions present in both files under "InBoth".
- Functions present only in A in "OnlyInA".
- Functions present only in B in "OnlyInB".
- Instruction count and stack size differences for each function.
Differences are represented using [count_a, count_b]. The actual difference
can be computed via count_b - count_a.
Defined at line 430 of file llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
-
void dumpSectionContrib (LinePrinter & P, const SectionContrib & SC, ArrayRef SectionNames, uint32_t FieldWidth)Defined at line 430 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
GenericValue executeFCMP_ONE (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 430 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
bool mustBeUnreachableFunction (ValueInfo TheFnVI)Returns true if the function must be unreachable based on ValueInfo.
In particular, identifies a function as unreachable in the following
conditions
1) All summaries are live.
2) All function summaries indicate it's unreachable
3) There is no non-function with the same GUID (which is rare)
Defined at line 430 of file llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
-
bool isValInBlock (const Value * V, const BasicBlock * BB)Defined at line 431 of file llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
-
void LLVMAddModuleFlag (LLVMModuleRef M, Behavior, const char * Key, size_t KeyLen, LLVMMetadataRef Val)Add a module-level flag to the module-level flags metadata if it doesn't
already exist.
Defined at line 431 of file llvm/lib/IR/Core.cpp
-
void hasher_merge_cv_stack (llvm_blake3_hasher * self, uint64_t total_len)As described in hasher_push_cv() below, we do "lazy merging", delaying
merges until right before the next CV is about to be added. This is
different from the reference implementation. Another difference is that we
aren't always merging 1 chunk at a time. Instead, each CV might represent
any power-of-two number of chunks, as long as the smaller-above-larger stack
order is maintained. Instead of the "count the trailing 0-bits" algorithm
described in the spec, we use a "count the total number of 1-bits" variant
that doesn't require us to retain the subtree size of the CV on top of the
stack. The principle is the same: each CV that should remain in the stack is
represented by a 1-bit in the total number of chunks (or bytes) so far.
Defined at line 431 of file llvm/lib/Support/BLAKE3/blake3.c
-
ArchType parseBPFArch (StringRef ArchName)Defined at line 431 of file llvm/lib/TargetParser/Triple.cpp
-
bool isConstant (Value * V)Defined at line 432 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool areContiguous (const BCECmpBlock & First, const BCECmpBlock & Second)Defined at line 432 of file llvm/lib/Transforms/Scalar/MergeICmps.cpp
-
MemoryEffectsBase getEffectiveME (const CodeGenIntrinsic & Int)Returns the effective MemoryEffects for intrinsic
Defined at line 432 of file llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
-
template <typename T>const T * findInfo (const DenseMap<uint64_t, SmallVector<T, 0>> & SecMap, SectionedAddress Address)Defined at line 432 of file llvm/lib/DebugInfo/BTF/BTFParser.cpp
-
bool CheckForLiveRegDef (SUnit * SU, MCRegister Reg, int & LiveRegDefs, int & RegAdded, SmallVectorImpl<unsigned int> & LRegs, const TargetRegisterInfo * TRI, const SDNode * Node)CheckForLiveRegDef - Return true and update live register vector if the
specified register def of the specified SUnit clobbers any "live" registers.
Defined at line 432 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
-
bool isBlockInLCSSAForm (const Loop & L, const BasicBlock & BB, const DominatorTree & DT, bool IgnoreTokens)Check that 'BB' doesn't have any uses outside of the 'L'
Defined at line 432 of file llvm/lib/Analysis/LoopInfo.cpp
-
InstructionCost computeSpeculationCost (const User * I, const TargetTransformInfo & TTI)Compute an abstract "cost" of speculating the given instruction,
which is assumed to be safe to speculate. TCC_Free means cheap,
TCC_Basic means less cheap, and TCC_Expensive means prohibitively
expensive.
Defined at line 433 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void createShuffleStride (MVT VT, int Stride, SmallVectorImpl<int> & Mask)createShuffleStride returns shuffle mask of size N.
The shuffle pattern is as following :
{0, Stride%(VF/Lane), (2*Stride%(VF/Lane))...(VF*Stride/Lane)%(VF/Lane),
(VF/ Lane) ,(VF / Lane)+Stride%(VF/Lane),...,
(VF / Lane)+(VF*Stride/Lane)%(VF/Lane)}
Where Lane is the # of lanes in a register:
VectorSize = 128 => Lane = 1
VectorSize = 256 => Lane = 2
For example shuffle pattern for VF 16 register size 256 -> lanes = 2
{
<
[0|3|6|1|4|7|2|5]-[8|11|14|9|12|15|10|13]>}
Defined at line 433 of file llvm/lib/Target/X86/X86InterleavedAccess.cpp
-
CoroConditionalWrapper buildCoroWrapper (ThinOrFullLTOPhase Phase)Helper to wrap conditionally Coro passes.
Defined at line 433 of file llvm/lib/Passes/PassBuilderPipelines.cpp
-
void DisableAllLoopOptsOnLoop (Loop & L)Add metadata to the loop L to disable loop optimizations. Callers need to
confirm that optimizing loop L is not beneficial.
Defined at line 433 of file llvm/lib/Transforms/Utils/LoopConstrainer.cpp
-
Value * threadCmpOverSelect (CmpPredicate Pred, Value * LHS, Value * RHS, const SimplifyQuery & Q, unsigned int MaxRecurse)In the case of a comparison with a select instruction, try to simplify the
comparison by seeing whether both branches of the select result in the same
value. Returns the common value if so, otherwise returns null.
For example, if we have:
%tmp = select i1 %cmp, i32 1, i32 2
%cmp1 = icmp sle i32 %tmp, 3
We can simplify %cmp1 to true, because both branches of select are
less than 3. We compose new comparison by substituting %tmp with both
branches of select and see if it can be simplified.
Defined at line 433 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Value * simplifyX86pack (IntrinsicInst & II, InstCombiner::BuilderTy & Builder, bool IsSigned)Defined at line 433 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
Function * asPtr (Function * Fn)Defined at line 434 of file llvm/lib/Transforms/IPO/MergeFunctions.cpp
-
const Loop * PickMostRelevantLoop (const Loop * A, const Loop * B, DominatorTree & DT)PickMostRelevantLoop - Given two loops pick the one that's most relevant for
SCEV expansion. If they are nested, this is the most nested. If they are
neighboring, pick the later.
Defined at line 434 of file llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
-
const PassInfo * getPassInfo (StringRef PassName)Defined at line 434 of file llvm/lib/CodeGen/TargetPassConfig.cpp
-
template <typename T>void printTLSDirectoryT (const coff_tls_directory<T> * TLSDir)Defined at line 434 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
Function * asPtr (Function & Fn)Defined at line 435 of file llvm/lib/Transforms/IPO/MergeFunctions.cpp
-
FunctionType * getFunctionTypeFromAsyncSuspend (AnyCoroSuspendInst * Suspend)Defined at line 435 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
void debugAssign (const BlockFrequencyInfoImplBase & BFI, const DitheringDistributer & D, const BlockNode & T, const BlockMass & M, const char * Desc)Defined at line 435 of file llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
-
Cursor lexVirtualRegister (Cursor C, MIToken & Token)Defined at line 435 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
bool formLCSSARecursivelyImpl (Loop & L, const DominatorTree & DT, const LoopInfo * LI, ScalarEvolution * SE, LoopExitBlocksTy & LoopExitBlocks)Process a loop nest depth first.
Defined at line 435 of file llvm/lib/Transforms/Utils/LCSSA.cpp
-
void emitDXILIntrinsicMap (ArrayRef<DXILOperationDesc> Ops, raw_ostream & OS)Emit map of DXIL operation to LLVM or DirectX intrinsic
Parameters
A vector of DXIL OpsOutput streamDefined at line 435 of file llvm/utils/TableGen/DXILEmitter.cpp
-
Expected ReadSignature (BitstreamCursor & Stream)Defined at line 435 of file llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
-
void DWARFErrorHandler (Error Err)Defined at line 436 of file llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
-
template <typename T>T * castValues (const std::unique_ptr<AttributeDiff> & RawAttr)Defined at line 436 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
void explainPdbStreamHeaderOffset (LinePrinter & P, InfoStream & Info, uint32_t Offset)Defined at line 436 of file llvm/tools/llvm-pdbutil/ExplainOutputStyle.cpp
-
void clobberRegisterUses (int & RegVars, int I, DbgValueHistoryMap & HistMap, int & LiveEntries, const MachineInstr & ClobberingInstr)Terminate the location range for variables described by register at
by inserting
to their history.
Defined at line 436 of file llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
-
basic_string computeNVPTXDataLayout (const Triple & T, StringRef ABIName)Defined at line 436 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
LoopDeletionResult deleteLoopIfDead (Loop * L, DominatorTree & DT, ScalarEvolution & SE, LoopInfo & LI, MemorySSA * MSSA, OptimizationRemarkEmitter & ORE)Remove a loop if it is dead.
A loop is considered dead either if it does not impact the observable
behavior of the program other than finite running time, or if it is
required to make progress by an attribute such as 'mustprogress' or
'llvm.loop.mustprogress' and does not make any. This may remove
infinite loops that have been required to make progress.
This entire process relies pretty heavily on LoopSimplify form and LCSSA in
order to make various safety checks work.
Defined at line 436 of file llvm/lib/Transforms/Scalar/LoopDeletion.cpp
-
bool removeRedundantDbgInstrsUsingBackwardScan (BasicBlock * BB)Remove redundant instructions within sequences of consecutive dbg.value
instructions. This is done using a backward scan to keep the last dbg.value
describing a specific variable/fragment.
BackwardScan strategy:
----------------------
Given a sequence of consecutive DbgValueInst like this
dbg.value ..., "x", FragmentX1 (*)
dbg.value ..., "y", FragmentY1
dbg.value ..., "x", FragmentX2
dbg.value ..., "x", FragmentX1 (**)
then the instruction marked with (*) can be removed (it is guaranteed to be
obsoleted by the instruction marked with (**) as the latter instruction is
describing the same variable using the same fragment info).
Possible improvements:
- Check fully overlapping fragments and not only identical fragments.
Defined at line 437 of file llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
-
LLVMBool LLVMIsNewDbgInfoFormat (LLVMModuleRef M)Soon to be deprecated.
See https://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-changes
Returns true if the module is in the new debug info mode which uses
non-instruction debug records instead of debug intrinsics for variable
location tracking.
Defined at line 438 of file llvm/lib/IR/Core.cpp
-
bool handleStubifyAction (Context & Ctx)Defined at line 438 of file llvm/tools/llvm-readtapi/llvm-readtapi.cpp
-
bool foldSqrt (CallInst * Call, LibFunc Func, TargetTransformInfo & TTI, TargetLibraryInfo & TLI, AssumptionCache & AC, DominatorTree & DT)Try to replace a mathlib call to sqrt with the LLVM intrinsic. This avoids
pessimistic codegen that has to account for setting errno and can enable
vectorization.
Defined at line 438 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
StringMap accumulateLocs (MachOObjectFile & Obj, const std::unique_ptr<DWARFContext> & DiCtx)Defined at line 438 of file llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
-
ConstantAsMetadata * getConstantOrNull (Constant * C)Defined at line 439 of file llvm/lib/IR/DIBuilder.cpp
-
unsigned int getMinOrigOrder (const int & Blocks)Defined at line 439 of file llvm/lib/Transforms/Scalar/MergeICmps.cpp
-
GenericValue lle_X_printf (FunctionType * FT, ArrayRef Args)int printf(const char *, ...) - a very rough implementation to make output
useful.
Defined at line 439 of file llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
-
bool isVectorLikeInstWithConstOps (Value * V)Checks if
is one of vector-like instructions, i.e. undef,
insertelement/extractelement with constant indices for fixed vector type or
extractvalue instruction.
Defined at line 439 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
template <class ELFT>bool isInSegment (const ELFYAML::Section & Sec, const typename ELFT::Shdr & SHdr, const typename ELFT::Phdr & Phdr)Defined at line 439 of file llvm/tools/obj2yaml/elf2yaml.cpp
-
void collectLeaves (Value * Root, SmallVectorImpl<Instruction *> & Leaves)Collect all the leaves of the tree of adds that feeds into the horizontal
reduction. Root is the Value that is used by the horizontal reduction.
We look through single use phis, single use adds, or adds that are used by
a phi that forms a loop with the add.
Defined at line 439 of file llvm/lib/Target/X86/X86PartialReduction.cpp
-
void LLVMSetIsNewDbgInfoFormat (LLVMModuleRef M, LLVMBool UseNewFormat)Soon to be deprecated.
See https://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-changes
Convert module into desired debug info format.
Defined at line 440 of file llvm/lib/IR/Core.cpp
-
std::optional<bool> parseColorArg (const opt::InputArgList & Args)Defined at line 440 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
bool compareFnAttributes (const CodeGenIntrinsic * L, const CodeGenIntrinsic * R)Defined at line 440 of file llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
-
Error handleArgs (const CommonConfig & Config, const MachOConfig & MachOConfig, Object & Obj)Defined at line 440 of file llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
-
bool allCallersPassValidPointerForArgument (Argument * Arg, SmallPtrSetImpl<CallBase *> & RecursiveCalls, Align NeededAlign, uint64_t NeededDerefBytes)Return true if we can prove that all callees pass in a valid pointer for the
specified function argument.
Defined at line 440 of file llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
-
void initializeTargetInfo ()Defined at line 441 of file llvm/tools/llvm-reduce/ReducerWorkItem.cpp
-
template <typename T>void sortTargetValues (std::vector<T> & TargValues)Defined at line 441 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
LLVMValueRef clone_inline_asm (LLVMValueRef Asm, LLVMModuleRef M)Defined at line 441 of file llvm/tools/llvm-c-test/echo.cpp
-
void initializePostMachineSchedulerLegacyPassOnce (PassRegistry & Registry)Defined at line 442 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
void printArchs (LLVMContext & LLVMCtx, ArrayRef<OwningBinary<Binary>> InputBinaries)Defined at line 442 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
void writeSymbolTableHeader (raw_ostream & Out, Kind Kind, bool Deterministic, uint64_t Size, uint64_t PrevMemberOffset, uint64_t NextMemberOffset)Defined at line 442 of file llvm/lib/Object/ArchiveWriter.cpp
-
MCFixupKind getImmFixupKind (uint64_t TSFlags)Defined at line 442 of file llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
-
bool IsChainDependent (SDNode * Outer, SDNode * Inner, unsigned int NestLevel, const TargetInstrInfo * TII)IsChainDependent - Test if Outer is reachable from Inner through
chain dependencies.
Defined at line 442 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
Error handleBuffer (StringRef Filename, MemoryBufferRef Buffer, const std::string & OutFile, OutputAggregator & Out)Defined at line 442 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
void lto_codegen_set_cpu (lto_code_gen_t cg, const char * cpu)Sets the cpu to generate code for.
Defined at line 443 of file llvm/tools/lto/lto.cpp
-
MaybeAlign getAlign (Value * Ptr)Defined at line 443 of file llvm/lib/IR/IRBuilder.cpp
-
bool isSaveReachableThroughClean (const MachineBasicBlock * SavePoint, ArrayRef<MachineBasicBlock *> CleanPreds)Returns
true if there is a clean path from SavePoint to the original
Restore.
Defined at line 443 of file llvm/lib/CodeGen/ShrinkWrap.cpp
-
void emitOneV5FileEntry (MCStreamer * MCOS, const MCDwarfFile & DwarfFile, bool EmitMD5, bool HasAnySource, std::optional<MCDwarfLineStr> & LineStr)Defined at line 443 of file llvm/lib/MC/MCDwarf.cpp
-
bool checkFunctions (const DebugFnMap & DIFunctionsBefore, const DebugFnMap & DIFunctionsAfter, StringRef NameOfWrappedPass, StringRef FileNameFromCU, bool ShouldWriteIntoJSON, llvm::json::Array & Bugs)This checks the preservation of original debug info attached to functions.
Defined at line 443 of file llvm/lib/Transforms/Utils/Debugify.cpp
-
LLVMOrcMaterializationUnitRef LLVMOrcAbsoluteSymbols (LLVMOrcCSymbolMapPairs Syms, size_t NumPairs)Create a MaterializationUnit to define the given symbols as pointing to
the corresponding raw addresses.
This function takes ownership of the elements of the Syms array. The Name
fields of the array elements are taken to have been retained for this
function. This allows the following pattern...
size_t NumPairs;
LLVMOrcCSymbolMapPairs Sym;
-- Build Syms array --
LLVMOrcMaterializationUnitRef MU =
LLVMOrcAbsoluteSymbols(Syms, NumPairs);
... without requiring cleanup of the elements of the Sym array afterwards.
The client is still responsible for deleting the Sym array itself.
If a client wishes to reuse elements of the Sym array after this call they
must explicitly retain each of the elements for themselves.
Defined at line 444 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
PredsWithCondsTy shouldSplitOnPHIPredicatedArgument (CallBase & CB)Check if any of the arguments in CS are predicated on a PHI node and return
the set of predecessors we should use for splitting.
Defined at line 444 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
Function * createCloneDeclaration (Function & OrigF, coro::Shape & Shape, const Twine & Suffix, ilist_iterator InsertBefore, AnyCoroSuspendInst * ActiveSuspend)Defined at line 444 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
void initializeRegAllocFastPassOnce (PassRegistry & Registry)Defined at line 445 of file llvm/lib/CodeGen/RegAllocFast.cpp
-
const char * getDarwinStabString (uint8_t NType)Defined at line 445 of file llvm/tools/dsymutil/MachODebugMapParser.cpp
-
void reverseValueUseLists (Value * V, DenseSet<Value *> & Seen)Defined at line 445 of file llvm/tools/verify-uselistorder/verify-uselistorder.cpp
-
AnalysisID getPassIDFromName (StringRef PassName)Defined at line 446 of file llvm/lib/CodeGen/TargetPassConfig.cpp
-
bool modifiedTimeGT (StringRef LHS, StringRef RHS)Defined at line 446 of file llvm/tools/llvm-cov/CodeCoverage.cpp
-
size_t getHeaderSize (uint16_t Version)Helper method to get header size based on version.
Defined at line 446 of file llvm/lib/Object/OffloadBundle.cpp
-
Instruction * simplifyInvariantGroupIntrinsic (IntrinsicInst & II, InstCombinerImpl & IC)This function transforms launder.invariant.group and strip.invariant.group
like:
launder(launder(%x)) -> launder(%x) (the result is not the argument)
launder(strip(%x)) -> launder(%x)
strip(strip(%x)) -> strip(%x) (the result is not the argument)
strip(launder(%x)) -> strip(%x)
This is legal because it preserves the most recent information about
the presence or absence of invariant.group.
Defined at line 446 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
optional generateLoopLatchCheck (const DataLayout & DL, ScalarEvolution & SE, LoopICmp LatchCheck, Type * RangeCheckType)Return an LoopICmp describing a latch check equivlent to LatchCheck but with
the requested type if safe to do so. May involve the use of a new IV.
Defined at line 446 of file llvm/lib/Transforms/Scalar/LoopPredication.cpp
-
GlobalVariable * createIRLevelProfileFlagVar (Module & M, PGOInstrumentationType InstrumentationType)Create a COMDAT variable INSTR_PROF_RAW_VERSION_VAR to make the runtime
aware this is an ir_level profile so it can set the version flag.
Defined at line 446 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
bool isRegisterChar (char C)Returns true for a character allowed in a register name.
Defined at line 447 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void lto_codegen_set_assembler_path (lto_code_gen_t cg, const char * path)Sets the location of the assembler tool to run. If not set, libLTO
will use gcc to invoke the assembler.
Defined at line 447 of file llvm/tools/lto/lto.cpp
-
void setGroupSize (MVT VT, SmallVectorImpl<int> & SizeInfo)setGroupSize sets 'SizeInfo' to the size(number of elements) of group
inside mask a shuffleMask. A mask contains exactly 3 groups, where
each group is a monotonically increasing sequence with stride 3.
For example shuffleMask {0,3,6,1,4,7,2,5} => {3,3,2}
Defined at line 447 of file llvm/lib/Target/X86/X86InterleavedAccess.cpp
-
const MCExpr * GetSubDivExpr (MCStreamer & Streamer, const MCSymbol * LHS, const MCSymbol * RHS, int Div)Defined at line 447 of file llvm/lib/MC/MCWin64EH.cpp
-
unique_ptr ParseVarExpr ()varexpr ::= 'var' identifier ('=' expression)?
(',' identifier ('=' expression)?)* 'in' expression
Defined at line 447 of file llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp
-
bool isSplitEdge (const MachineBasicBlock * MBB)Return true if this block should be vacated by the coalescer to eliminate
branches. The important cases to handle in the coalescer are critical edges
split during phi elimination which contain only copies. Simple blocks that
contain non-branches should also be vacated, but this can be handled by an
earlier pass similar to early if-conversion.
Defined at line 448 of file llvm/lib/CodeGen/RegisterCoalescer.cpp
-
int mergeBlocks (int && Blocks)Given a chain of comparison blocks, groups the blocks into contiguous
ranges that can be merged together into a single comparison.
Defined at line 448 of file llvm/lib/Transforms/Scalar/MergeICmps.cpp
-
template <typename Iter, typename Pred, typename Less>Iter min_if (Iter B, Iter E, Pred P, Less L)Defined at line 449 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
void printInfo (LLVMContext & LLVMCtx, ArrayRef<OwningBinary<Binary>> InputBinaries)Defined at line 449 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
basic_string linkageToString (LinkageTypes LT)Defined at line 449 of file llvm/lib/IR/ModuleSummaryIndex.cpp
-
LaneBitmask getLiveLanesAt (const LiveIntervals & LIS, const MachineRegisterInfo & MRI, bool TrackLaneMasks, VirtRegOrUnit VRegOrUnit, SlotIndex Pos)Defined at line 450 of file llvm/lib/CodeGen/RegisterPressure.cpp
-
void dumpSectionContrib (LinePrinter & P, const SectionContrib2 & SC, ArrayRef SectionNames, uint32_t FieldWidth)Defined at line 450 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
void lto_codegen_set_assembler_args (lto_code_gen_t cg, const char ** args, int nargs)Sets extra arguments that libLTO should pass to the assembler.
Defined at line 451 of file llvm/tools/lto/lto.cpp
-
void lto_codegen_add_must_preserve_symbol (lto_code_gen_t cg, const char * symbol)Adds to a list of all global symbols that must exist in the final generated
code. If a function is not listed there, it might be inlined into every usage
and optimized away.
Defined at line 456 of file llvm/tools/lto/lto.cpp
-
LLVMOrcMaterializationUnitRef LLVMOrcLazyReexports (LLVMOrcLazyCallThroughManagerRef LCTM, LLVMOrcIndirectStubsManagerRef ISM, LLVMOrcJITDylibRef SourceRef, LLVMOrcCSymbolAliasMapPairs CallableAliases, size_t NumPairs)Create a MaterializationUnit to define lazy re-expots. These are callable
entry points that call through to the given symbols.
This function takes ownership of the CallableAliases array. The Name
fields of the array elements are taken to have been retained for this
function. This allows the following pattern...
size_t NumPairs;
LLVMOrcCSymbolAliasMapPairs CallableAliases;
-- Build CallableAliases array --
LLVMOrcMaterializationUnitRef MU =
LLVMOrcLazyReexports(LCTM, ISM, JD, CallableAliases, NumPairs);
... without requiring cleanup of the elements of the CallableAliases array afterwards.
The client is still responsible for deleting the CallableAliases array itself.
If a client wishes to reuse elements of the CallableAliases array after this call they
must explicitly retain each of the elements for themselves.
Defined at line 450 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void LLVMDumpModule (LLVMModuleRef M)Dump a representation of a module to stderr.
Defined at line 448 of file llvm/lib/IR/Core.cpp
-
void applyBitsNotInRegMaskToRegUnitsMask (const TargetRegisterInfo & TRI, BitVector & RUs, const uint32_t * Mask)Defined at line 450 of file llvm/lib/CodeGen/MachineLICM.cpp
-
void transferSRADebugInfo (GlobalVariable * GV, GlobalVariable * NGV, uint64_t FragmentOffsetInBits, uint64_t FragmentSizeInBits, uint64_t VarSize)Copy over the debug info for a variable to its SRA replacements.
Defined at line 450 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool canUseSExt (ConstantInt * CI)Defined at line 451 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
Cursor lexNamedVirtualRegister (Cursor C, MIToken & Token)Defined at line 451 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
std::pair<StringRef, unsigned int> getPassNameAndInstanceNum (StringRef PassName)Defined at line 451 of file llvm/lib/CodeGen/TargetPassConfig.cpp
-
GenericValue lle_X_sscanf (FunctionType * FT, ArrayRef args)int sscanf(const char *format, ...);
Defined at line 451 of file llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
-
object::BuildID parseBuildIDArg (const opt::InputArgList & Args, int ID)Defined at line 451 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
template <typename T>void printVecVal (basic_string Indent, const DiffOutput & Attr, raw_ostream & OS)Defined at line 451 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
Error outputAllDiffs (StringRef InputFileNameA, StringRef InputFileNameB, DiffsCategorizedByFilesPresent & DiffsByFilesPresent)Output all diffs in
using the desired output style.
Defined at line 452 of file llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
-
optional getSmallBestKnownTC (PredicatedScalarEvolution & PSE, Loop * L, bool CanUseConstantMax)Returns "best known" trip count, which is either a valid positive trip count
or std::nullopt when an estimate cannot be made (including when the trip
count would overflow), for the specified loop
as defined by the
following procedure:
1) Returns exact trip count if it is known.
2) Returns expected trip count according to profile data if any.
3) Returns upper bound estimate if known, and if
4) Returns std::nullopt if all of the above failed.
Defined at line 452 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
void addCanonicalIVRecipes (VPlan & Plan, VPBasicBlock * HeaderVPBB, VPBasicBlock * LatchVPBB, Type * IdxTy, DebugLoc DL)Add the necessary canonical IV and branch recipes required to control the
loop.
Defined at line 452 of file llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
-
void handleAllocSite (Instruction & I, CallBase * CI, ArrayRef InlinedCallStack, LLVMContext & Ctx, OptimizationRemarkEmitter & ORE, uint64_t MaxColdSize, const int & AllocInfoSet, int & FullStackIdToAllocMatchInfo)Defined at line 452 of file llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
-
bool isObjCClass (StringRef Name)Defined at line 453 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
void initializeIfConverterPassOnce (PassRegistry & Registry)Defined at line 453 of file llvm/lib/CodeGen/IfConversion.cpp
-
LLVMBool LLVMPrintModuleToFile (LLVMModuleRef M, const char * Filename, char ** ErrorMessage)Print a representation of a module to a file. The ErrorMessage needs to be
disposed with LLVMDisposeMessage. Returns 0 on success, 1 otherwise.
Defined at line 453 of file llvm/lib/IR/Core.cpp
-
bool advanceToNextLeafType (SmallVectorImpl<Type *> & SubTypes, SmallVectorImpl<unsigned int> & Path)Move the given iterators to the next leaf type in depth first traversal.
Performs a depth-first traversal of the type as specified by its arguments,
stopping at the next leaf node (which may be a legitimate scalar type or an
empty struct or array).
Parameters
SubTypes List of the partial components making up the type from outermost to innermost non-empty aggregate. The element currently represented is SubTypes.back()->getTypeAtIndex(Path.back() - 1).Path Set of extractvalue indices leading from the outermost type (SubTypes[0]) to the leaf node currently represented.Defined at line 453 of file llvm/lib/CodeGen/Analysis.cpp
-
void assignCalleeSavedSpillSlots (MachineFunction & F, const BitVector & SavedRegs)Defined at line 453 of file llvm/lib/CodeGen/PrologEpilogInserter.cpp
-
template <typename AllocatorT, size_t SlabSize, size_t SizeThreshold, size_t GrowthDelay>void * operator new (size_t Size, llvm::BumpPtrAllocatorImpl<AllocatorT, SlabSize, SizeThreshold, GrowthDelay> & Allocator)Defined at line 454 of file llvm/include/llvm/Support/Allocator.h
-
void printTLSDirectory (const COFFObjectFile * Obj)Defined at line 454 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
Expected<NewSymbolInfo> parseNewSymbolInfo (StringRef FlagValue)Defined at line 454 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
basic_string computeSPIRVDataLayout (const Triple & TT)Defined at line 455 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
PredsWithCondsTy shouldSplitOnPredicatedArgument (CallBase & CB, DomTreeUpdater & DTU)Checks if any of the arguments in CS are predicated in a predecessor and
returns a list of predecessors with the conditions that hold on their edges
to CS.
Defined at line 455 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
bool dominatesMergePoint (Value * V, BasicBlock * BB, Instruction * InsertPt, SmallPtrSetImpl<Instruction *> & AggressiveInsts, InstructionCost & Cost, InstructionCost Budget, const TargetTransformInfo & TTI, AssumptionCache * AC, SmallPtrSetImpl<Instruction *> & ZeroCostInstructions, unsigned int Depth)If we have a merge point of an "if condition" as accepted above,
return true if the specified value dominates the block. We don't handle
the true generality of domination here, just a special case which works
well enough for us.
If AggressiveInsts is non-null, and if V does not dominate BB, we check to
see if V (which must be an instruction) and its recursive operands
that do not dominate BB have a combined cost lower than Budget and
are non-trapping. If both are true, the instruction is inserted into the
set and true is returned.
The cost for most non-trapping instructions is defined as 1 except for
Select whose cost is 2.
After this function returns, Cost is increased by the cost of
V plus its non-dominating operands. If that cost is greater than
Budget, false is returned and Cost is undefined.
Defined at line 455 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
GenericValue executeFCMP_OLE (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 456 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
unsigned int computeLabelDiff (const MCAssembler & Asm, const MCSymbol * Begin, const MCSymbol * End)Defined at line 456 of file llvm/lib/MC/MCCodeView.cpp
-
void filterByName (const StringSet<> & Names, iterator_range CUs, raw_ostream & OS, function GetNameForDWARFReg)Print only DIEs that have a certain name.
Defined at line 456 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
Decomposition decomposeGEP (GEPOperator & GEP, SmallVectorImpl<ConditionTy> & Preconditions, bool IsSigned, const DataLayout & DL)Defined at line 456 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
SectionKind getELFKindForNamedSection (StringRef Name, SectionKind K)Defined at line 456 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
unsigned int getPartNumElems (unsigned int Size, unsigned int NumParts)Returns power-of-2 number of elements in a single register (part), given the
total number of elements
and number of registers (parts)
Defined at line 457 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool hasObjCCategory (StringRef Name)Defined at line 457 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
bool formLCSSAOnAllLoops (const LoopInfo * LI, const DominatorTree & DT, ScalarEvolution * SE)Process all loops in the function, inner-most out.
Defined at line 457 of file llvm/lib/Transforms/Utils/LCSSA.cpp
-
void clobberRegisterUses (int & RegVars, unsigned int RegNo, DbgValueHistoryMap & HistMap, int & LiveEntries, const MachineInstr & ClobberingInstr)Terminate the location range for variables described by register
by inserting
to their history.
Defined at line 457 of file llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
-
bool PGOMemOPSizeOptImpl (Function & F, BlockFrequencyInfo & BFI, OptimizationRemarkEmitter & ORE, DominatorTree * DT, TargetLibraryInfo & TLI)Defined at line 457 of file llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
-
void ProfileBitsInit (FoldingSetNodeID & ID, ArrayRef Range)Defined at line 458 of file llvm/lib/TableGen/Record.cpp
-
pair tryInsertCastToCommonAddrSpace (IRBuilderBase & B, Value * Addr1, Value * Addr2, const TargetTransformInfo & TTI)If
and
are pointers to different address spaces, create an
addresspacecast to obtain a pair of pointers in the same addressspace. The
caller needs to ensure that addrspacecasting is possible.
No-op if the pointers are in the same address space.
Defined at line 458 of file llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
-
optional GetOptionalAbsDifference (MCStreamer & Streamer, const MCSymbol * LHS, const MCSymbol * RHS)Defined at line 459 of file llvm/lib/MC/MCWin64EH.cpp
-
bool willNotOverflow (BinaryOpIntrinsic * BO, LazyValueInfo * LVI)See if we can prove that the given binary op intrinsic will not overflow.
Defined at line 459 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
bool isDILocationReachable (SmallPtrSetImpl<Metadata *> & Visited, SmallPtrSetImpl<Metadata *> & Reachable, Metadata * MD)Return true if a node is a DILocation or if a DILocation is
indirectly referenced by one of the node's children.
Defined at line 459 of file llvm/lib/IR/DebugInfo.cpp
-
uint64_t computeHeadersSize (Kind Kind, uint64_t NumMembers, uint64_t StringMemberSize, uint64_t NumSyms, uint64_t SymNamesSize, SymMap * SymMap)Defined at line 459 of file llvm/lib/Object/ArchiveWriter.cpp
-
bool searchConstantExprForGlobalVariables (Value * V, SmallDenseMap<GlobalVariable *, Value *> & GVLoadMap, SmallVector<GlobalVariableUse> & GVUses)Defined at line 460 of file llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
-
void maybeParseOptions (lto_code_gen_t cg)Defined at line 461 of file llvm/tools/lto/lto.cpp
-
void addAssumeNonNull (AssumptionCache * AC, LoadInst * LI)Given a LoadInst LI this adds assume(LI != null) after it.
Defined at line 461 of file llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
-
Cursor maybeLexRegister (Cursor C, MIToken & Token, function_ref ErrorCallback)Defined at line 461 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
optional constantMatches (Value * V, unsigned int GVN, DenseMap<unsigned int, Constant *> & GVNToConstant)Find whether
matches the Constants previously found for the
Parameters
V - The value to check for consistency.GVN - The global value number assigned toGVNToConstant - The mapping of global value number to Constants.Defined at line 462 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
void initializeSeparateConstOffsetFromGEPLegacyPassPassOnce (PassRegistry & Registry)Defined at line 463 of file llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
-
template <typename Iter, typename Pred, typename Less>Iter max_if (Iter B, Iter E, Pred P, Less L)Defined at line 463 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
void resolveTypeIndexReferences (ArrayRef RecordData, ArrayRef Refs, SmallVectorImpl<TypeIndex> & Indices)Defined at line 463 of file llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
-
void testLTOModule (const TargetOptions & Options)Load each IR file and dump certain information based on active flags.
The main point here is to provide lit-testable coverage for the LTOModule
functionality that's exposed by the C API. Moreover, this provides testing
coverage for modules that have been created in their own contexts.
Defined at line 463 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
template <typename AllocatorT, size_t SlabSize, size_t SizeThreshold, size_t GrowthDelay>void operator delete (void * , llvm::BumpPtrAllocatorImpl<AllocatorT, SlabSize, SizeThreshold, GrowthDelay> & )Defined at line 464 of file llvm/include/llvm/Support/Allocator.h
-
unsigned int getNumElems (unsigned int Size, unsigned int PartNumElems, unsigned int Part)Returns correct remaining number of elements, considering total amount
(power-of-2 number) of elements in a single register
and current register (part)
Defined at line 464 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void getObjCClassCategory (StringRef In, StringRef & Class, StringRef & Category)Defined at line 464 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
void emitDXILIntrinsicArgSelectTypes (const RecordKeeper & Records, raw_ostream & OS)Emit the IntrinArgSelect type for DirectX intrinsic to DXIL Op lowering
Defined at line 464 of file llvm/utils/TableGen/DXILEmitter.cpp
-
template <char C>raw_ostream & write_padding (raw_ostream & OS, unsigned int NumChars)Defined at line 465 of file llvm/lib/Support/raw_ostream.cpp
-
Value * memChrToCharCompare (CallInst * CI, Value * NBytes, IRBuilderBase & B, const DataLayout & DL)Helper to transform memchr(S, C, N) == S to N
&
&
*S == C and, when
NBytes is null, strchr(S, C) to *S == C. A precondition of the function
is that either S is dereferenceable or the value of N is nonzero.
Defined at line 465 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
int64_t GetAbsDifference (MCStreamer & Streamer, const MCSymbol * LHS, const MCSymbol * RHS)Defined at line 466 of file llvm/lib/MC/MCWin64EH.cpp
-
void filterMarkup (const opt::InputArgList & Args, LLVMSymbolizer & Symbolizer)Symbolize markup from stdin and write the result to stdout.
Defined at line 466 of file llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
-
GenericValue lle_X_scanf (FunctionType * FT, ArrayRef args)int scanf(const char *format, ...);
Defined at line 466 of file llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
-
unsigned int EstimateRuntime (int I, int E)EstimateRuntime - Make a rough estimate for how long it will take to run
the specified code.
Defined at line 466 of file llvm/lib/CodeGen/BranchFolding.cpp
-
bool isHoistableInstructionType (Instruction * I)Return true if the given instruction type can be hoisted by CHR.
Defined at line 467 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
unsigned int ComputeLinkerOptionsLoadCommandSize (const std::vector<std::string> & Options, bool is64Bit)Defined at line 467 of file llvm/lib/MC/MachObjectWriter.cpp
-
bool checkPHIs (FlattenInfo & FI, const TargetTransformInfo * TTI)Defined at line 468 of file llvm/lib/Transforms/Scalar/LoopFlatten.cpp
-
Error checkDysymtabCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex, const char ** DysymtabLoadCmd, std::list<MachOElement> & Elements)Defined at line 468 of file llvm/lib/Object/MachOObjectFile.cpp
-
ScheduleDAGInstrs * useDefaultMachineSched (MachineSchedContext * C)A dummy default scheduler factory indicates whether the scheduler
is overridden on the command line.
Defined at line 469 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
void LLVMOrcDisposeMaterializationResponsibility (LLVMOrcMaterializationResponsibilityRef MR)Disposes of the passed MaterializationResponsibility object.
This should only be done after the symbols covered by the object have either
been resolved and emitted (via
LLVMOrcMaterializationResponsibilityNotifyResolved and
LLVMOrcMaterializationResponsibilityNotifyEmitted) or failed (via
LLVMOrcMaterializationResponsibilityFailMaterialization).
Defined at line 469 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool isSimpleReturn (const MachineInstr & MI)Defined at line 469 of file llvm/lib/Target/X86/X86AsmPrinter.cpp
-
bool hasFnAttributes (const CodeGenIntrinsic & Int)Returns true if
has a non-empty set of function attributes. Note that
NoUnwind = !canThrow, so we need to negate it's sense to test if the
intrinsic has NoUnwind attribute.
Defined at line 469 of file llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
-
bool isRecognizedNamespace (const unsigned char * NsHref)Defined at line 469 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
void updateTerminator (MachineBasicBlock * BBToUpdate, MachineBasicBlock * NMBB, const TargetInstrInfo * TII)This function updates the branches post restore point split.
Restore point has been split.
Old restore point: MBB
New restore point: NMBB
Any basic block(say BBToUpdate) which had a fallthrough to MBB
previously should
1. Fallthrough to NMBB iff NMBB is inserted immediately above MBB in the
block layout OR
2. Branch unconditionally to NMBB iff NMBB is inserted at any other place.
Defined at line 469 of file llvm/lib/CodeGen/ShrinkWrap.cpp
-
bool handleSingleFileAction (const Context & Ctx, StringRef Action, int act)Defined at line 469 of file llvm/tools/llvm-readtapi/llvm-readtapi.cpp
-
void forceRenaming (GlobalValue * GV, StringRef Name)The LLVM SymbolTable class autorenames globals that conflict in the symbol
table. This is good for all clients except for us. Go through the trouble
to force this back.
Defined at line 469 of file llvm/lib/Linker/IRMover.cpp
-
void setDeducedOverflowingFlags (Value * V, BinaryOps Opcode, bool NewNSW, bool NewNUW)Defined at line 469 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void generateGetClauseVal (const DirectiveLanguage & DirLang, raw_ostream & OS)Generate function implementations for
<enumClauseValue
> get
<enumClauseValue
>(StringRef Str) and
StringRef get
<enumClauseValue
>Name(
<enumClauseValue
>)
Defined at line 469 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
void hoistLoopToNewParent (Loop & L, BasicBlock & Preheader, DominatorTree & DT, LoopInfo & LI, MemorySSAUpdater * MSSAU, ScalarEvolution * SE)Hoist the current loop up to the innermost loop containing a remaining exit.
Because we've removed an exit from the loop, we may have changed the set of
loops reachable and need to move the current loop up the loop nest or even
to an entirely separate nest.
Defined at line 469 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
void scalarizeMaskedGather (const DataLayout & DL, bool HasBranchDivergence, CallInst * CI, DomTreeUpdater * DTU, bool & ModifiedDT)Translate a masked gather intrinsic like
<
16 x i32 >
.masked.gather.v16i32(
<
16 x i32*> %Ptrs, i32 4,
<
16 x i1> %Mask,
<
16 x i32> %Src)
to a chain of basic blocks, with loading element one-by-one if
the appropriate mask bit is set
%Ptrs = getelementptr i32, i32* %base,
<
16 x i64> %ind
%Mask0 = extractelement
<
16 x i1> %Mask, i32 0
br i1 %Mask0, label %cond.load, label %else
cond.load:
%Ptr0 = extractelement
<
16 x i32*> %Ptrs, i32 0
%Load0 = load i32, i32* %Ptr0, align 4
%Res0 = insertelement
<
16 x i32> poison, i32 %Load0, i32 0
br label %else
else:
%res.phi.else = phi
<
16 x i32>[%Res0, %cond.load], [poison, %0]
%Mask1 = extractelement
<
16 x i1> %Mask, i32 1
br i1 %Mask1, label %cond.load1, label %else2
cond.load1:
%Ptr1 = extractelement
<
16 x i32*> %Ptrs, i32 1
%Load1 = load i32, i32* %Ptr1, align 4
%Res1 = insertelement
<
16 x i32> %res.phi.else, i32 %Load1, i32 1
br label %else2
. . .
%Result = select
<
16 x i1> %Mask,
<
16 x i32> %res.phi.select,
<
16 x i32> %Src
ret
<
16 x i32> %Result
Defined at line 469 of file llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
-
int64_t truncateToSize (int64_t Value, unsigned int Bytes)Defined at line 470 of file llvm/lib/MC/MCAsmStreamer.cpp
-
lto_bool_t lto_codegen_write_merged_modules (lto_code_gen_t cg, const char * path)Writes a new object file at the specified path that contains the
merged contents of all modules added so far.
Returns true on error (check lto_get_error_message() for details).
Defined at line 470 of file llvm/tools/lto/lto.cpp
-
MCInstPrinter * createX86MCInstPrinter (const Triple & T, unsigned int SyntaxVariant, const MCAsmInfo & MAI, const MCInstrInfo & MII, const MCRegisterInfo & MRI)Defined at line 470 of file llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
-
GenericValue executeFCMP_OGE (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 470 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
bool isCTTZTable (Constant * Table, const APInt & Mul, const APInt & Shift, const APInt & AndMask, Type * AccessTy, unsigned int InputBits, const APInt & GEPIdxFactor, const DataLayout & DL)Check if this array of constants represents a cttz table.
Iterate over the elements from
by trying to find/match all
the numbers from 0 to
that should represent cttz results.
Defined at line 470 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
void DecodePALIGNRMask (MVT VT, unsigned int Imm, SmallVectorImpl<int> & ShuffleMask, bool AlignDirection, bool Unary)DecodePALIGNRMask returns the shuffle mask of vpalign instruction.
vpalign works according to lanes
Where Lane is the # of lanes in a register:
VectorWide = 128 => Lane = 1
VectorWide = 256 => Lane = 2
For Lane = 1 shuffle pattern is: {DiffToJump,...,DiffToJump+VF-1}.
For Lane = 2 shuffle pattern is:
{DiffToJump,...,VF/2-1,VF,...,DiffToJump+VF-1}.
Imm variable sets the offset amount. The result of the
function is stored inside ShuffleMask vector and it built as described in
the begin of the description. AlignDirection is a boolean that indicates the
direction of the alignment. (false - align to the "right" side while true -
align to the "left" side)
Defined at line 470 of file llvm/lib/Target/X86/X86InterleavedAccess.cpp
-
void scanOneBB (Instruction * Start, Instruction * End, int & Calls, int & Seen, int & Worklist)Defined at line 470 of file llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
-
bool isROV (ResourceKind Kind, TargetExtType * Ty)Defined at line 470 of file llvm/lib/Analysis/DXILResource.cpp
-
basic_string shortBundleName (ArrayRef VL, int Idx)Print a short descriptor of the instruction bundle suitable for debug output.
Defined at line 471 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool isTwoAddrUse (MachineInstr & MI, Register Reg, Register & DstReg)Return true if the specified MI uses the specified register as a two-address
use. If so, return the destination register by reference.
Defined at line 471 of file llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
-
RelocKindGroup relocKindGroup (const BTF::BPFFieldReloc * Reloc)Defined at line 471 of file llvm/lib/DebugInfo/BTF/BTFParser.cpp
-
bool addPass (PassManagerBase & PM, const char * argv0, StringRef PassName, TargetPassConfig & TPC)Defined at line 471 of file llvm/tools/llc/llc.cpp
-
void thinLTOInternalizeAndPromoteGUID (ValueInfo VI, function_ref<bool (StringRef, ValueInfo)> isExported, function_ref<bool (GlobalValue::GUID, const GlobalValueSummary *)> isPrevailing)Defined at line 471 of file llvm/lib/LTO/LTO.cpp
-
bool hasPrefix (StringRef SectionName, StringRef Prefix)Defined at line 472 of file llvm/lib/MC/MCParser/ELFAsmParser.cpp
-
void convertMetadataToAssumes (LoadInst * LI, Value * Val, const DataLayout & DL, AssumptionCache * AC, const DominatorTree * DT)Defined at line 472 of file llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
-
void tryToGetTargetInfo (const MachineOperand & MO, const TargetRegisterInfo *& TRI)Try to crawl up to the machine function and get TRI from it.
Defined at line 473 of file llvm/lib/CodeGen/MachineOperand.cpp
-
Error tryOutputAllDiffs (StringRef InputFileNameA, StringRef InputFileNameB, DiffsCategorizedByFilesPresent & DiffsByFilesPresent)Boolean wrapper for outputDiff which handles errors.
Defined at line 473 of file llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
-
void printLoadConfiguration (const COFFObjectFile * Obj)Defined at line 473 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
void thinSlice (LLVMContext & LLVMCtx, ArrayRef<OwningBinary<Binary>> InputBinaries, StringRef ArchType, StringRef OutputFileName)Defined at line 473 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
LLVMOrcJITDylibRef LLVMOrcMaterializationResponsibilityGetTargetDylib (LLVMOrcMaterializationResponsibilityRef MR)Returns the target JITDylib that these symbols are being materialized into.
Defined at line 474 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void hasher_push_cv (llvm_blake3_hasher * self, uint8_t[32] new_cv, uint64_t chunk_counter)In reference_impl.rs, we merge the new CV with existing CVs from the stack
before pushing it. We can do that because we know more input is coming, so
we know none of the merges are root.
This setting is different. We want to feed as much input as possible to
compress_subtree_wide(), without setting aside anything for the chunk_state.
If the user gives us 64 KiB, we want to parallelize over all 64 KiB at once
as a single subtree, if at all possible.
This leads to two problems:
1) This 64 KiB input might be the only call that ever gets made to update.
In this case, the root node of the 64 KiB subtree would be the root node
of the whole tree, and it would need to be ROOT finalized. We can't
compress it until we know.
2) This 64 KiB input might complete a larger tree, whose root node is
similarly going to be the root of the whole tree. For example, maybe
we have 196 KiB (that is, 128 + 64) hashed so far. We can't compress the
node at the root of the 256 KiB subtree until we know how to finalize it.
The second problem is solved with "lazy merging". That is, when we're about
to add a CV to the stack, we don't merge it with anything first, as the
reference impl does. Instead we do merges using the *previous* CV that was
added, which is sitting on top of the stack, and we put the new CV
(unmerged) on top of the stack afterwards. This guarantees that we never
merge the root node until finalize().
Solving the first problem requires an additional tool,
compress_subtree_to_parent_node(). That function always returns the top
*two* chaining values of the subtree it's compressing. We then do lazy
merging with each of them separately, so that the second CV will always
remain unmerged. (That also helps us support extendable output when we're
hashing an input all-at-once.)
Defined at line 474 of file llvm/lib/Support/BLAKE3/blake3.c
-
Error createBundleDir (StringRef BundleBase)Defined at line 474 of file llvm/tools/dsymutil/dsymutil.cpp
-
bool isIndirectBranchOrTailCall (const MachineInstr & MI)Defined at line 474 of file llvm/lib/Target/X86/X86AsmPrinter.cpp
-
void createProfileFileNameVar (Module & M)Create the variable for the profile file name.
Defined at line 474 of file llvm/lib/Transforms/Instrumentation/MemProfInstrumentation.cpp
-
bool optimizeToShortImmediateForm (MCInst & MI)Defined at line 474 of file llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
-
Type * DecodeFixedType (ArrayRef<Intrinsic::IITDescriptor> & Infos, ArrayRef Tys, LLVMContext & Context)Defined at line 474 of file llvm/lib/IR/Intrinsics.cpp
-
const void * lto_codegen_compile (lto_code_gen_t cg, size_t * length)Generates code for all added modules into one native object file.
This calls lto_codegen_optimize then lto_codegen_compile_optimized.
On success returns a pointer to a generated mach-o/ELF buffer and
length set to the buffer size. The buffer is owned by the
lto_code_gen_t and will be freed when lto_codegen_dispose()
is called, or lto_codegen_compile() is called again.
On failure, returns NULL (check lto_get_error_message() for details).
Defined at line 475 of file llvm/tools/lto/lto.cpp
-
char * LLVMPrintModuleToString (LLVMModuleRef M)Return a string representation of the module. Use
LLVMDisposeMessage to free the string.
Defined at line 475 of file llvm/lib/IR/Core.cpp
-
int addSEHExcept (WinEHFuncInfo & FuncInfo, int ParentState, const Function * Filter, const BasicBlock * Handler)Defined at line 475 of file llvm/lib/CodeGen/WinEHPrepare.cpp
-
int ParseUnary ()unary
::= primary
::= '!' unary
Defined at line 475 of file llvm/examples/Kaleidoscope/Chapter6/toy.cpp
-
void checkARM64Instructions (MCStreamer & Streamer, ArrayRef Insns, const MCSymbol * Begin, const MCSymbol * End, StringRef Name, StringRef Type)Defined at line 475 of file llvm/lib/MC/MCWin64EH.cpp
-
void dumpExampleDependence (raw_ostream & OS, DependenceInfo * DA, ScalarEvolution & SE, LoopInfo & LI, bool NormalizeResults)Used to test the dependence analyzer.
Looks through the function, noting instructions that may access memory.
Calls depends() on every possible pair and prints out the result.
Ignores all other instructions.
Defined at line 475 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
bool simplifyOneLoop (Loop * L, SmallVectorImpl<Loop *> & Worklist, DominatorTree * DT, LoopInfo * LI, ScalarEvolution * SE, AssumptionCache * AC, MemorySSAUpdater * MSSAU, bool PreserveLCSSA)Simplify one loop and queue further loops for simplification.
Defined at line 475 of file llvm/lib/Transforms/Utils/LoopSimplify.cpp
-
StringRef getObjCMethodName (StringRef In)Defined at line 476 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
bool isHoistable (Instruction * I, DominatorTree & DT)Return true if the given instruction can be hoisted by CHR.
Defined at line 476 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
unsigned int computeAddrSpace (unsigned int AddrSpace, Module * M)===----------------------------------------------------------------------===//
Function Implementation
===----------------------------------------------------------------------===//
Defined at line 476 of file llvm/lib/IR/Function.cpp
-
void collectAbstractOriginFnInfo (DWARFDie Die, uint64_t SPOffset, AbstractOriginVarsTyMap & GlobalAbstractOriginFnInfo, AbstractOriginVarsTyMap & LocalAbstractOriginFnInfo)Recursively collect variables from subprogram with DW_AT_inline attribute.
Defined at line 476 of file llvm/tools/llvm-dwarfdump/Statistics.cpp
-
GlobalOffsetTableExprKind startsWithGlobalOffsetTable (const MCExpr * Expr)Check if this expression starts with _GLOBAL_OFFSET_TABLE_ and if it is
of the form _GLOBAL_OFFSET_TABLE_-symbol. This is needed to support PIC on
ELF i386 as _GLOBAL_OFFSET_TABLE_ is magical. We check only simple case that
are know to be used: _GLOBAL_OFFSET_TABLE_ by itself or at the start of a
binary expression.
TODO: Move this to X86AsmBackend.cpp at relocation decision phase so that we
don't have to mess with MCExpr.
Defined at line 476 of file llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
-
template <>void printVecVal<llvm::DiffSymVec> (basic_string Indent, const DiffOutput & Attr, raw_ostream & OS)Defined at line 476 of file llvm/tools/llvm-readtapi/DiffEngine.cpp
-
bool expandProtectedFieldPtr (Function & Intr)Defined at line 476 of file llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
-
Instruction * foldCttzCtlz (IntrinsicInst & II, InstCombinerImpl & IC)Defined at line 476 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
int localTestFunc ()Defined at line 477 of file llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp
-
bool isTsanAtomic (const Instruction * I)Defined at line 477 of file llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
-
void XXH3_accumulate_512_scalar (uint64_t * acc, const uint8_t * input, const uint8_t * secret)Defined at line 477 of file llvm/lib/Support/xxhash.cpp
-
bool isVPIntrinsic (Intrinsic::ID ID)Defined at line 477 of file llvm/lib/IR/IntrinsicInst.cpp
-
bool allowSectionTypeMismatch (const Triple & TT, StringRef SectionName, unsigned int Type)Defined at line 477 of file llvm/lib/MC/MCParser/ELFAsmParser.cpp
-
bool isFrameLoadOpcode (int Opcode, TypeSize & MemBytes)Defined at line 477 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool hasRecognizedNamespace (xmlNodePtr Node)Defined at line 478 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
StringRef checkStr (LLVMRemarkStringRef Str, unsigned int ExpectedLen)Defined at line 478 of file llvm/unittests/Remarks/YAMLRemarksParsingTest.cpp
-
basic_string fflagsToString (FFlags F)Defined at line 478 of file llvm/lib/IR/ModuleSummaryIndex.cpp
-
void printSourceLine (raw_ostream & S, StringRef LineContents)Defined at line 478 of file llvm/lib/Support/SourceMgr.cpp
-
const TargetRegisterClass * canFoldCopy (const MachineInstr & MI, const TargetInstrInfo & TII, unsigned int FoldIdx)If the COPY instruction in MI can be folded to a stack operation, return
the register class to use.
Defined at line 478 of file llvm/lib/CodeGen/TargetInstrInfo.cpp
-
Value * threadBinOpOverPHI (BinaryOps Opcode, Value * LHS, Value * RHS, const SimplifyQuery & Q, unsigned int MaxRecurse)In the case of a binary operation with an operand that is a PHI instruction,
try to simplify the binop by seeing whether evaluating it on the incoming
phi values yields the same result for every value. If so returns the common
value, otherwise returns null.
Defined at line 478 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
LLVMOrcExecutionSessionRef LLVMOrcMaterializationResponsibilityGetExecutionSession (LLVMOrcMaterializationResponsibilityRef MR)Returns the ExecutionSession for this MaterializationResponsibility.
Defined at line 479 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
basic_string computeLanaiDataLayout ()Defined at line 479 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
Value * getAllocaPos (BasicBlock * BB)Defined at line 479 of file llvm/lib/Target/X86/X86LowerAMXType.cpp
-
void splitCodeGen (const Config & C, TargetMachine * TM, int AddStream, unsigned int ParallelCodeGenParallelismLevel, Module & Mod, const ModuleSummaryIndex & CombinedIndex)Defined at line 479 of file llvm/lib/LTO/LTOBackend.cpp
-
void emitDXILOperationTable (ArrayRef<DXILOperationDesc> Ops, raw_ostream & OS)Emit DXIL operation table
Parameters
A vector of DXIL OpsOutput streamDefined at line 479 of file llvm/utils/TableGen/DXILEmitter.cpp
-
void setThreadBackgroundPriority ()FIXME: Portability.
Defined at line 480 of file llvm/lib/Support/CrashRecoveryContext.cpp
-
const char * getTargetIndexName (const MachineFunction & MF, int Index)Defined at line 480 of file llvm/lib/CodeGen/MachineOperand.cpp
-
bool isAllDILocation (SmallPtrSetImpl<Metadata *> & Visited, SmallPtrSetImpl<Metadata *> & AllDILocation, const SmallPtrSetImpl<Metadata *> & DIReachable, Metadata * MD)Defined at line 480 of file llvm/lib/IR/DebugInfo.cpp
-
void insertDeleteInstructions (MachineBasicBlock * MBB, MachineInstr & MI, SmallVectorImpl<MachineInstr *> & InsInstrs, SmallVectorImpl<MachineInstr *> & DelInstrs, MachineTraceMetrics::Ensemble * TraceEnsemble, int & RegUnits, const TargetInstrInfo * TII, unsigned int Pattern, bool IncrementalUpdate)Inserts InsInstrs and deletes DelInstrs. Incrementally updates instruction
depths if requested.
Parameters
MBB basic block to insert instructions inMI current machine instructionInsInstrs new instructions to insert inDelInstrs instruction to delete fromTraceEnsemble is a pointer to the machine trace informationRegUnits set of live registers, needed to compute instruction depthsTII is target instruction info, used to call target hookPattern is used to call target hook finalizeInsInstrsIncrementalUpdate if true, compute instruction depths incrementally, otherwise invalidate the traceDefined at line 480 of file llvm/lib/CodeGen/MachineCombiner.cpp
-
GenericValue lle_X_fprintf (FunctionType * FT, ArrayRef Args)int fprintf(FILE *, const char *, ...) - a very rough implementation to make
output useful.
Defined at line 481 of file llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
-
void setInsertionPoint (IRBuilder<> & Builder, Value * V, bool Before)Sets the appropriate insert point on Builder where we can add
a replacement Instruction for V (if that is possible).
Defined at line 481 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
bool runAndGetCommandOutput (const char * ExePath, ArrayRef argv, std::unique_ptr<char[]> & Buffer, off_t & Size)Defined at line 481 of file llvm/unittests/TargetParser/Host.cpp
-
MCRelocationInfo * createX86MCRelocationInfo (const Triple & TheTriple, MCContext & Ctx)Defined at line 482 of file llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
-
void convertFloatingToInteger (BlockFrequencyInfoImplBase & BFI, const Scaled64 & Min, const Scaled64 & Max)Defined at line 482 of file llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
-
Value * getTrueOrFalseValue (SelectOptimizeImpl::SelectLike & SI, bool isTrue, int & OptSelects, BasicBlock * B)Returns optimised value on
branch. For SelectInst that would be
either True or False value. For (BinaryOperator) instructions, where the
condition may be skipped, the operation will use a non-conditional operand.
For example, for `or(V,zext(cond))` this function would return V.
However, if the conditional operand on
branch matters, we create a
clone of instruction at the end of that branch
and replace the
condition operand with a constant.
Also /p OptSelects contains previously optimised select-like instructions.
If the current value uses one of the optimised values, we can optimise it
further by replacing it with the corresponding value on the given branch
Defined at line 482 of file llvm/lib/CodeGen/SelectOptimize.cpp
-
template <class Changer>void changeUseLists (Module & M, Changer changeValueUseList)Defined at line 482 of file llvm/tools/verify-uselistorder/verify-uselistorder.cpp
-
void blake3_hasher_update_base (llvm_blake3_hasher * self, const void * input, size_t input_len, _Bool use_tbb)Defined at line 482 of file llvm/lib/Support/BLAKE3/blake3.c
-
void getDies (DWARFContext & DICtx, const AppleAcceleratorTable & Accel, StringRef Name, SmallVectorImpl<DWARFDie> & Dies)Defined at line 483 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
Error trySizeSiff ()Defined at line 483 of file llvm/tools/llvm-remarkutil/RemarkSizeDiff.cpp
-
bool allSameBlock (ArrayRef VL)Defined at line 483 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void setStubOptions (opt::InputArgList & Args, StubOptions & Opt)Defined at line 484 of file llvm/tools/llvm-readtapi/llvm-readtapi.cpp
-
std::optional<OptimizationLevel> parseOptLevel (StringRef S)Defined at line 484 of file llvm/lib/Passes/PassBuilder.cpp
-
GenericValue executeFCMP_OLT (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 484 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
Error reconcileNamespaces (xmlNodePtr Node)Ensure a node's inherited namespace is actually defined in the tree it
resides in.
Defined at line 484 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
Expected getSymbolicFile (MemoryBufferRef Buf, LLVMContext & Context, Kind Kind, function_ref Warn)Defined at line 484 of file llvm/lib/Object/ArchiveWriter.cpp
-
VPValue * cloneForLane (VPlan & Plan, VPBuilder & Builder, Type * IdxTy, VPSingleDefRecipe * DefR, VPLane Lane, const DenseMap<VPValue *, SmallVector<VPValue *>> & Def2LaneDefs)Create a single-scalar clone of
(must be a VPReplicateRecipe or
VPInstruction) for lane
Use
to look up scalar
definitions for operands of
.
Defined at line 484 of file llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
-
lto_bool_t lto_codegen_optimize (lto_code_gen_t cg)Runs optimization for the merged module. Returns true on error.
Defined at line 485 of file llvm/tools/lto/lto.cpp
-
LLVMOrcCSymbolFlagsMapPairs LLVMOrcMaterializationResponsibilityGetSymbols (LLVMOrcMaterializationResponsibilityRef MR, size_t * NumPairs)Returns the symbol flags map for this responsibility instance.
The length of the array is returned in NumPairs and the caller is responsible
for the returned memory and needs to call LLVMOrcDisposeCSymbolFlagsMap.
To use the returned symbols beyond the livetime of the
MaterializationResponsibility requires the caller to retain the symbols
explicitly.
Defined at line 485 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool verifyOutput (StringRef OutputFile, StringRef Arch, DsymutilOptions Options, std::mutex & Mutex)Defined at line 485 of file llvm/tools/dsymutil/dsymutil.cpp
-
bool checkInstructions (const DebugInstMap & DILocsBefore, const DebugInstMap & DILocsAfter, const WeakInstValueMap & InstToDelete, StringRef NameOfWrappedPass, StringRef FileNameFromCU, bool ShouldWriteIntoJSON, llvm::json::Array & Bugs)This checks the preservation of the original debug info attached to
instructions.
Defined at line 485 of file llvm/lib/Transforms/Utils/Debugify.cpp
-
void LLVMSetModuleInlineAsm2 (LLVMModuleRef M, const char * Asm, size_t Len)Set inline assembly for a module.
Defined at line 486 of file llvm/lib/IR/Core.cpp
-
bool hasThreadBackgroundPriority ()Defined at line 486 of file llvm/lib/Support/CrashRecoveryContext.cpp
-
int addSEHFinally (WinEHFuncInfo & FuncInfo, int ParentState, const BasicBlock * Handler)Defined at line 486 of file llvm/lib/CodeGen/WinEHPrepare.cpp
-
bool isMemoryLocation (DIExpressionCursor ExprCursor)Assuming a well-formed expression, match "DW_OP_deref*
DW_OP_LLVM_fragment?".
Defined at line 486 of file llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
-
Cursor maybeLexGlobalValue (Cursor C, MIToken & Token, function_ref ErrorCallback)Defined at line 486 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
DISubprogram * getLocalFunctionMetadata (Value * V)Defined at line 486 of file llvm/lib/IR/Metadata.cpp
-
void FixTail (MachineBasicBlock * CurMBB, MachineBasicBlock * SuccBB, const TargetInstrInfo * TII, const DebugLoc & BranchDL)CurMBB needs to add an unconditional branch to SuccMBB (we removed these
branches temporarily for tail merging). In the case where CurMBB ends
with a conditional branch to the next block, optimize by reversing the
test and conditionally branching to SuccMBB instead.
Defined at line 486 of file llvm/lib/CodeGen/BranchFolding.cpp
-
void computeKnownBitsAddSub (bool Add, const Value * Op0, const Value * Op1, bool NSW, bool NUW, const APInt & DemandedElts, KnownBits & KnownOut, KnownBits & Known2, const SimplifyQuery & Q, unsigned int Depth)Defined at line 486 of file llvm/lib/Analysis/ValueTracking.cpp
-
int loadFile (StringRef Filename)Defined at line 487 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
bool tryToSplitCallSite (CallBase & CB, TargetTransformInfo & TTI, DomTreeUpdater & DTU)Defined at line 487 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
bool contains (SmallPtrSetImpl<ConstantExpr *> & Cache, ConstantExpr * Expr, Constant * C)Defined at line 487 of file llvm/lib/IR/Value.cpp
-
void createExtractsForLiveOuts (VPlan & Plan, VPBasicBlock * MiddleVPBB)Creates extracts for values in
defined in a loop region and used
outside a loop region.
Defined at line 487 of file llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
-
const std::set<Value *> & getBaseValues (Value * V, DominatorTree & DT, DenseMap<Value *, std::set<Value *>> & Visited)Recursively traverse the use-def chains of the given value and return a set
of the unhoistable base values defined within the scope (excluding the
first-region entry block) or the (hoistable or unhoistable) base values that
are defined outside (including the first-region entry block) of the
scope. The returned set doesn't include constants.
Defined at line 487 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
optional tryIntoAPInt (const SCEV * S)Defined at line 488 of file llvm/lib/Analysis/Delinearization.cpp
-
void XXH3_scrambleAcc_scalar (uint64_t * acc, const uint8_t * secret)Defined at line 488 of file llvm/lib/Support/xxhash.cpp
-
unsigned int FindInputLineInFilter (DumpInputFilterValue DumpInputFilter, unsigned int CurInputLine, const std::vector<InputAnnotation>::iterator & AnnotationBeg, const std::vector<InputAnnotation>::iterator & AnnotationEnd)Defined at line 488 of file llvm/utils/FileCheck/FileCheck.cpp
-
Expected analyzeHeader (optional O, BitstreamCursor & Stream)Defined at line 488 of file llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
-
bool isArgUnmodifiedByAllCalls (Argument * Arg, FunctionAnalysisManager & FAM)Try to prove that all Calls to F do not modify the memory pointed to by Arg,
using alias analysis local to each caller of F.
Defined at line 489 of file llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
-
MachineBasicBlock * tryToSplitRestore (MachineBasicBlock * MBB, ArrayRef<MachineBasicBlock *> DirtyPreds, const TargetInstrInfo * TII)This function splits the restore point and returns new restore point/BB.
DirtyPreds: Predessors of
that are ReachableByDirty
Decision has been made to split the restore point.
old restore point:
new restore point:
This function makes the necessary block layout changes so that
1.
points to
unconditionally
2. All dirtyPreds that previously pointed to
point to
Defined at line 489 of file llvm/lib/CodeGen/ShrinkWrap.cpp
-
void reportCmdLineWarning (const Twine & Message)Defined at line 490 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
StringRef getPatFragPredicateEnumName (const Record * R)Defined at line 490 of file llvm/utils/TableGen/GlobalISelEmitter.cpp
-
void doPrint (StringRef Name, const object::Archive::Child & C)Implements the 'p' operation. This function traverses the archive
looking for members that match the path list.
Defined at line 490 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
const void * lto_codegen_compile_optimized (lto_code_gen_t cg, size_t * length)Generates code for the optimized merged module into one native object file.
It will not run any IR optimizations on the merged module.
On success returns a pointer to a generated mach-o/ELF buffer and length set
to the buffer size. The buffer is owned by the lto_code_gen_t and will be
freed when lto_codegen_dispose() is called, or
lto_codegen_compile_optimized() is called again. On failure, returns NULL
(check lto_get_error_message() for details).
Defined at line 490 of file llvm/tools/lto/lto.cpp
-
basic_string computeWebAssemblyDataLayout (const Triple & TT)Defined at line 490 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
bool hasPHICycleDFS (unsigned int Reg, const int & PhiDeps, int & Visited, int & RecStack)Depth-first search to detect cycles among PHI dependencies.
Returns true if a cycle is detected within the PHI-only subgraph.
Defined at line 490 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
int ParseBinOpRHS (int ExprPrec, int LHS)binoprhs
::= ('+' unary)*
Defined at line 490 of file llvm/examples/Kaleidoscope/Chapter6/toy.cpp
-
VPRegionBlock * createReplicateRegion (VPReplicateRecipe * PredRecipe, VPlan & Plan)Defined at line 490 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
SDNode * FindCallSeqStart (SDNode * N, unsigned int & NestLevel, unsigned int & MaxNest, const TargetInstrInfo * TII)FindCallSeqStart - Starting from the (lowered) CALLSEQ_END node, locate
the corresponding (lowered) CALLSEQ_BEGIN node.
NestLevel and MaxNested are used in recursion to indcate the current level
of nesting of CALLSEQ_BEGIN and CALLSEQ_END pairs, as well as the maximum
level seen so far.
TODO: It would be better to give CALLSEQ_END an explicit operand to point
to the corresponding CALLSEQ_BEGIN to avoid needing to search for it.
Defined at line 490 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
std::optional<FreeFnsTy> getFreeFunctionDataForFunction (const Function * Callee, const LibFunc TLIFn)clang-format on
Defined at line 491 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
void updateKillStatus (MachineInstr * LoadInst, MachineInstr * StoreInst)Defined at line 492 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
bool removeRedundantDbgInstrsUsingForwardScan (BasicBlock * BB)Remove redundant dbg.value instructions using a forward scan. This can
remove a dbg.value instruction that is redundant due to indicating that a
variable has the same value as already being indicated by an earlier
dbg.value.
ForwardScan strategy:
---------------------
Given two identical dbg.value instructions, separated by a block of
instructions that isn't describing the same variable, like this
dbg.value X1, "x", FragmentX1 (**)
<block
of instructions, none being "dbg.value ..., "x", ...">
dbg.value X1, "x", FragmentX1 (*)
then the instruction marked with (*) can be removed. Variable "x" is already
described as being mapped to the SSA value X1.
Possible improvements:
- Keep track of non-overlapping fragments.
Defined at line 492 of file llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
-
Error handleFileConversionToGSYM (StringRef Filename, const std::string & OutFile, OutputAggregator & Out)Defined at line 493 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
DWARFDie toDie (const DWARFDebugNames::Entry & Entry, DWARFContext & DICtx)Defined at line 493 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
void listDependentLibraries ()Defined at line 493 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
void LLVMAppendModuleInlineAsm (LLVMModuleRef M, const char * Asm, size_t Len)Append inline assembly to a module.
Defined at line 494 of file llvm/lib/IR/Core.cpp
-
void reportCmdLineError (const Twine & Message)Defined at line 494 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
bool isMod (const BTF::CommonType * Type)Defined at line 494 of file llvm/lib/DebugInfo/BTF/BTFParser.cpp
-
GenericValue lle_X_memset (FunctionType * FT, ArrayRef Args)Defined at line 494 of file llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
-
optional getFunctionalOpcodeForVP (Intrinsic::ID ID)Equivalent non-predicated opcode
Defined at line 494 of file llvm/lib/IR/IntrinsicInst.cpp
-
Instruction * createTileStore (Instruction * TileDef, Value * Ptr)Defined at line 494 of file llvm/lib/Target/X86/X86LowerAMXType.cpp
-
bool firstRealType (Type * Next, SmallVectorImpl<Type *> & SubTypes, SmallVectorImpl<unsigned int> & Path)Find the first non-empty, scalar-like type in Next and setup the iterator
components.
Assuming Next is an aggregate of some kind, this function will traverse the
tree from left to right (i.e. depth-first) looking for the first
non-aggregate type which will play a role in function return.
For example, if Next was {[0 x i64], {{}, i32, {}}, i32} then we would setup
Path as [1, 1] and SubTypes as [Next, {{}, i32, {}}] to represent the first
i32 in that type.
Defined at line 494 of file llvm/lib/CodeGen/Analysis.cpp
-
StringRef getArgAttrEnumName (ArgAttrKind Kind)Returns the name of the IR enum for argument attribute kind
Defined at line 494 of file llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
-
void removeIntrinsicUsers (AllocaInst * AI)Defined at line 494 of file llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
-
ShadowMapping getShadowMapping (const Triple & TargetTriple, int LongSize, bool IsKasan)Defined at line 494 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
bool isSelect01 (const APInt & C1I, const APInt & C2I)Defined at line 495 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
Expected<OptimizationLevel> parseOptLevelParam (StringRef S)Defined at line 495 of file llvm/lib/Passes/PassBuilder.cpp
-
int priorNonDebug (int I, int Beg)Decrement this iterator until reaching the top or a non-debug instr.
Defined at line 495 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
void createMemprofHistogramFlagVar (Module & M)Set MemprofHistogramFlag as a Global variable in IR. This makes it accessible
to the runtime, changing shadow count behavior.
Defined at line 495 of file llvm/lib/Transforms/Instrumentation/MemProfInstrumentation.cpp
-
void collectStatsRecursive (DWARFDie Die, basic_string FnPrefix, basic_string VarPrefix, uint64_t BytesInScope, uint32_t InlineDepth, StringMap<PerFunctionStats> & FnStatMap, GlobalStats & GlobalStats, LocationStats & LocStats, FunctionDIECUTyMap & AbstractOriginFnCUs, AbstractOriginVarsTyMap & GlobalAbstractOriginFnInfo, AbstractOriginVarsTyMap & LocalAbstractOriginFnInfo, FunctionsWithAbstractOriginTy & FnsWithAbstractOriginToBeProcessed, AbstractOriginVarsTy * AbstractOriginVarsPtr)Recursively collect debug info quality metrics.
Defined at line 495 of file llvm/tools/llvm-dwarfdump/Statistics.cpp
-
Decomposition decompose (Value * V, SmallVectorImpl<ConditionTy> & Preconditions, bool IsSigned, const DataLayout & DL)Decomposes
into a constant offset + list of pairs { Coefficient,
Variable } where Coefficient * Variable. The sum of the constant offset and
pairs equals
Defined at line 495 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
template <, , >BlockIsFilledWithMatcherP3<Layout_type, BlockIndex_type, Byte_type> BlockIsFilledWith (Layout_type gmock_p0, BlockIndex_type gmock_p1, Byte_type gmock_p2)Defined at line 496 of file llvm/unittests/DebugInfo/MSF/MappedBlockStreamTest.cpp
-
basic_string getSummaryAttributes (GlobalValueSummary * GVS)Get string representation of function instruction count and flags.
Defined at line 496 of file llvm/lib/IR/ModuleSummaryIndex.cpp
-
bool shouldSkipSectionFirstByte (SectionRef & Section)Determine if we should skip the first byte of the section content
Defined at line 496 of file llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
-
void printLLVMName (raw_ostream & OS, StringRef Name, PrefixType Prefix)Turn the specified name into an 'LLVM name', which is either prefixed with %
(if the string only contains simple characters) or is surrounded with ""'s
(if it has special chars in it). Print it out.
Defined at line 496 of file llvm/lib/IR/AsmWriter.cpp
-
bool cannotHoistCondition (const PredicateMatcher & Condition, const Matcher & M)Check if the Condition, which is a predicate of M, cannot be hoisted outside
of (i.e., checked before) M.
Defined at line 497 of file llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
-
bool hasSecRelSymbolRef (const MCExpr * Expr)Defined at line 497 of file llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
-
const char * getTargetFlagName (const TargetInstrInfo * TII, unsigned int TF)Defined at line 497 of file llvm/lib/CodeGen/MachineOperand.cpp
-
void scanInlinedCode (Instruction * Start, Instruction * End, int & Calls, int & Seen)Defined at line 497 of file llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
-
bool hasPrefix (StringRef SectionName, StringRef Prefix)Defined at line 498 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
const char * LLVMGetModuleInlineAsm (LLVMModuleRef M, size_t * Len)Get inline assembly for a module.
Defined at line 498 of file llvm/lib/IR/Core.cpp
-
void XXH3_accumulate (uint64_t * acc, const uint8_t * input, const uint8_t * secret, size_t nbStripes)Defined at line 498 of file llvm/lib/Support/xxhash.cpp
-
GenericValue executeFCMP_OGT (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 498 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
bool collectConstantAbsSteps (ScalarEvolution & SE, const SCEV * Expr, SmallVectorImpl<uint64_t> & Steps, uint64_t ElementSize)Collects the absolute values of constant steps for all induction variables.
Returns true if we can prove that all step recurrences are constants and
is divisible by
Each step recurrence is stored in
after divided by
Defined at line 498 of file llvm/lib/Analysis/Delinearization.cpp
-
AttributeEncoding sentinelAttrEnc ()Defined at line 499 of file llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
-
void propagateCallAttrsFromCallee (CallInst * Call, Function * Callee)Defined at line 499 of file llvm/lib/Transforms/Coroutines/Coroutines.cpp
-
bool runImpl (Function & F, const TargetLibraryInfo & TLI, DominatorTree * DT)Defined at line 499 of file llvm/lib/Transforms/Utils/LibCallsShrinkWrap.cpp
-
void warnOnNoMatchForSections ()Defined at line 499 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void emitEnums (raw_ostream & OS, const RecordKeeper & Records)===----------------------------------------------------------------------===//
Emit enums for the column fields across all the instruction maps.
===----------------------------------------------------------------------===//
Defined at line 499 of file llvm/utils/TableGen/CodeGenMapTable.cpp
-
Value * simplifyX86pmulh (IntrinsicInst & II, InstCombiner::BuilderTy & Builder, bool IsSigned, bool IsRounding)Defined at line 499 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
lto_bool_t lto_codegen_compile_to_file (lto_code_gen_t cg, const char ** name)Generates code for all added modules into one native object file.
This calls lto_codegen_optimize then lto_codegen_compile_optimized (instead
of returning a generated mach-o/ELF buffer, it writes to a file).
The name of the file is written to name. Returns true on error.
Defined at line 500 of file llvm/tools/lto/lto.cpp
-
bool isFixupTargetValid (const MCValue & Target)Defined at line 500 of file llvm/lib/MC/MachObjectWriter.cpp
-
void warn (Twine Message, StringRef Whence, StringRef Hint)Defined at line 500 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void dumpArchive (const Archive * Arc)Defined at line 500 of file llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
-
void calculateSEHStateNumbers (WinEHFuncInfo & FuncInfo, const Instruction * FirstNonPHI, int ParentState)Starting from a EHPad, Backward walk through control-flow graph
to produce two primary outputs:
FuncInfo.EHPadStateMap[] and FuncInfo.SEHUnwindMap[]
Defined at line 500 of file llvm/lib/CodeGen/WinEHPrepare.cpp
-
void getReqFeatures (int & FeaturesSet, int & AnyOfFeatureSets, ArrayRef<const Record *> ReqFeatures)Defined at line 501 of file llvm/utils/TableGen/CompressInstEmitter.cpp
-
bool isNonASCII (char c)Defined at line 502 of file llvm/lib/Support/SourceMgr.cpp
-
void LLVMOrcDisposeCSymbolFlagsMap (LLVMOrcCSymbolFlagsMapPairs Pairs)Disposes of the passed LLVMOrcCSymbolFlagsMap.
Does not release the entries themselves.
Defined at line 502 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void initializeMIR2VecVocabLegacyAnalysisPassOnce (PassRegistry & Registry)Defined at line 502 of file llvm/lib/CodeGen/MIR2Vec.cpp
-
void printMode (unsigned int mode)Utility function for printing out the file mode when the 't' operation is in
verbose mode.
Defined at line 502 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
void emitFileEntry (raw_ostream & OS, const DWARFYAML::File & File)Defined at line 502 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
bool isGCValue (const Value * V, SelectionDAGBuilder & Builder)Return true if value V represents the GC value. The behavior is conservative
in case it is not sure that value is not GC the function returns true.
Defined at line 502 of file llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
-
basic_string computeVEDataLayout (const Triple & T)Defined at line 502 of file llvm/lib/TargetParser/TargetDataLayout.cpp
-
bool isSentinel (const DWARFDebugNames::AttributeEncoding & AE)Defined at line 503 of file llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
-
Cursor maybeLexExternalSymbol (Cursor C, MIToken & Token, function_ref ErrorCallback)Defined at line 503 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void RunSafelyOnThread_Dispatch (void * UserData)Defined at line 503 of file llvm/lib/Support/CrashRecoveryContext.cpp
-
unsigned int getELFSectionType (StringRef Name, SectionKind K)Defined at line 503 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
Error convertFileToGSYM (OutputAggregator & Out)Defined at line 503 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
Value * foldLogOpOfMaskedICmpsAsymmetric (Value * LHS, Value * RHS, bool IsAnd, Value * A, Value * B, Value * C, Value * D, Value * E, Predicate PredL, Predicate PredR, unsigned int LHSMask, unsigned int RHSMask, InstCombiner::BuilderTy & Builder)Try to fold (icmp(A
&
B) ==/!= 0)
&
/| (icmp(A
&
D) ==/!= E) into a single
(icmp(A
&
X) ==/!= Y), where the left-hand side and the right hand side
aren't of the common mask pattern type.
Also used for logical and/or, must be poison safe.
Defined at line 503 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool doCallSiteSplitting (Function & F, TargetLibraryInfo & TLI, TargetTransformInfo & TTI, DominatorTree & DT)Defined at line 503 of file llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
-
const MDNode * getLeastCommonType (const MDNode * A, const MDNode * B)Defined at line 503 of file llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
-
void getCopyToParts (SelectionDAG & DAG, const SDLoc & DL, SDValue Val, SDValue * Parts, unsigned int NumParts, MVT PartVT, const Value * V, std::optional<CallingConv::ID> CallConv, NodeType ExtendKind)getCopyToParts - Create a series of nodes that contain the specified value
split into legal parts. If the parts contain more bits than Val, then, for
integers, ExtendKind can be used to specify how to generate the extra bits.
Defined at line 503 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
void addCallToCallGraph (CallGraph * CG, CallInst * Call, Function * Callee)Defined at line 504 of file llvm/lib/Transforms/Coroutines/Coroutines.cpp
-
void addLocIfNotPresent (SmallVectorImpl<const DILocation *> & Locs, const DILocation * Loc)Defined at line 504 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
bool dominates (InstrPosIndexes & PosIndexes, const MachineInstr & A, const MachineInstr & B)Defined at line 504 of file llvm/lib/CodeGen/RegAllocFast.cpp
-
const MCExpr * buildSymbolDiff (MCObjectStreamer & OS, const MCSymbol * A, const MCSymbol * B, SMLoc Loc)Defined at line 504 of file llvm/lib/MC/MCObjectStreamer.cpp
-
bool contains (Value * Expr, Value * V)Defined at line 504 of file llvm/lib/IR/Value.cpp
-
void createMemMoveLoopUnknownSize (Instruction * InsertBefore, Value * SrcAddr, Value * DstAddr, Value * CopyLen, Align SrcAlign, Align DstAlign, bool SrcIsVolatile, bool DstIsVolatile, const TargetTransformInfo & TTI)Lower memmove to IR. memmove is required to correctly copy overlapping memory
regions; therefore, it has to check the relative positions of the source and
destination pointers and choose the copy direction accordingly.
The code below is an IR rendition of this C function:
void* memmove(void* dst, const void* src, size_t n) {
unsigned char* d = dst;
const unsigned char* s = src;
if (s
<
d) {
// copy backwards
while (n--) {
d[n] = s[n];
}
} else {
// copy forward
for (size_t i = 0; i
<
n; ++i) {
d[i] = s[i];
}
}
return dst;
}
If the TargetTransformInfo specifies a wider MemcpyLoopLoweringType, it is
used for the memory accesses in the loops. Then, additional loops with
byte-wise accesses are added for the remaining bytes.
Defined at line 504 of file llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
-
basic_string getNodeVisualName (GlobalValue::GUID Id)Defined at line 505 of file llvm/lib/IR/ModuleSummaryIndex.cpp
-
void lto_set_debug_options (const char *const * options, int number)Parses options immediately, making them available as early as possible. For
example during executing codegen::InitTargetOptionsFromCodeGenFlags. Since
parsing shud only happen once, only one of lto_codegen_debug_options or
lto_set_debug_options should be called.
This function takes one or more options separated by spaces.
Warning: passing file paths through this function may confuse the argument
parser if the paths contain spaces.
Defined at line 505 of file llvm/tools/lto/lto.cpp
-
LLVMValueRef LLVMGetInlineAsm (LLVMTypeRef Ty, const char * AsmString, size_t AsmStringSize, const char * Constraints, size_t ConstraintsSize, LLVMBool HasSideEffects, LLVMBool IsAlignStack, Dialect, LLVMBool CanThrow)Create the specified uniqued inline asm string.
Defined at line 504 of file llvm/lib/IR/Core.cpp
-
bool isPCRel32Branch (const MCInst & MI, const MCInstrInfo & MCII)Defined at line 505 of file llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
-
Metadata * stripLoopMDLoc (const SmallPtrSetImpl<Metadata *> & AllDILocation, const SmallPtrSetImpl<Metadata *> & DIReachable, Metadata * MD)Defined at line 505 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMOrcSymbolStringPoolEntryRef LLVMOrcMaterializationResponsibilityGetInitializerSymbol (LLVMOrcMaterializationResponsibilityRef MR)Returns the initialization pseudo-symbol, if any. This symbol will also
be present in the SymbolFlagsMap for this MaterializationResponsibility
object.
The returned symbol is not retained over any mutating operation of the
MaterializationResponsbility or beyond the lifetime thereof.
Defined at line 506 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
GenericValue lle_X_memcpy (FunctionType * FT, ArrayRef Args)Defined at line 506 of file llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp
-
bool printMod (const BTFParser & BTF, const BTF::CommonType * Type, raw_ostream & Stream)Defined at line 506 of file llvm/lib/DebugInfo/BTF/BTFParser.cpp
-
void resolvePrevailingInIndex (ModuleSummaryIndex & Index, int & ResolvedODR, const int & GUIDPreservedSymbols, const int & PrevailingCopy)Resolve prevailing symbols. Record resolutions in the
map
for caching, and in the
for application during the ThinLTO
backends. This is needed for correctness for exported symbols (ensure
at least one copy kept) and a compile-time optimization (to drop duplicate
copies when possible).
Defined at line 506 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
Abbrev sentinelAbbrev ()Defined at line 507 of file llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
-
uint64_t XXH3_mix2Accs (const uint64_t * acc, const uint8_t * secret)Defined at line 507 of file llvm/lib/Support/xxhash.cpp
-
bool allConstant (ArrayRef VL)Defined at line 507 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void printCFIRegister (unsigned int DwarfReg, raw_ostream & OS, const TargetRegisterInfo * TRI)Defined at line 507 of file llvm/lib/CodeGen/MachineOperand.cpp
-
Error treeMerge (xmlNodePtr OriginalRoot, xmlNodePtr AdditionalRoot)Recursively merge the two given manifest trees, depending on which elements
are of a mergeable type, and choose namespaces according to which have
higher priority.
Defined at line 507 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
void collectMemAccessInfo (Function & F, const TargetLibraryInfo & TLI, SmallVectorImpl<std::pair<Instruction *, MemoryLocation>> & MemoryAccesses, SmallSetVector<const MDNode *, 8> & TBAAMetadata, SmallVectorImpl<Value *> & MemTypeResetInsts)Collect all loads and stores, and for what TBAA nodes we need to generate
type descriptors.
Defined at line 507 of file llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
-
Value * rewriteGEPAsOffset (Value * Start, Value * Base, GEPNoWrapFlags NW, const DataLayout & DL, SetVector<Value *> & Explored, InstCombiner & IC)Returns a re-written value of Start as an indexed GEP using Base as a
pointer.
Defined at line 507 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
void shortenAssignment (Instruction * Inst, Value * OriginalDest, uint64_t OldOffsetInBits, uint64_t OldSizeInBits, uint64_t NewSizeInBits, bool IsOverwriteEnd)Defined at line 508 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
basic_string getNodeVisualName (const ValueInfo & VI)Defined at line 509 of file llvm/lib/IR/ModuleSummaryIndex.cpp
-
void warn (Error E, StringRef Whence)Defined at line 509 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void createMemprofDefaultOptionsVar (Module & M)Defined at line 509 of file llvm/lib/Transforms/Instrumentation/MemProfInstrumentation.cpp
-
void addInitialSkeleton (VPlan & Plan, Type * InductionTy, DebugLoc IVDL, PredicatedScalarEvolution & PSE, Loop * TheLoop)Defined at line 509 of file llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
-
int dl_iterate_phdr_cb (dl_phdr_info * info, size_t size, void * arg)Defined at line 510 of file llvm/lib/Support/Unix/Signals.inc
-
bool shouldPeelLastIteration (Loop & L, CmpPredicate Pred, const SCEVAddRecExpr * LeftAR, const SCEV * RightSCEV, ScalarEvolution & SE, const TargetTransformInfo & TTI)Returns true if the last iteration can be peeled off and the condition (Pred
LeftAR, RightSCEV) is known at the last iteration and the inverse condition
is known at the second-to-last.
Defined at line 510 of file llvm/lib/Transforms/Utils/LoopPeel.cpp
-
void writeExtendedOpcode (const DWARFYAML::LineTableOpcode & Op, uint8_t AddrSize, bool IsLittleEndian, raw_ostream & OS)Defined at line 510 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
bool findArgParts (Argument * Arg, const DataLayout & DL, AAResults & AAR, unsigned int MaxElements, bool IsRecursive, SmallVectorImpl<OffsetAndArgPart> & ArgPartsVec, FunctionAnalysisManager & FAM)Determine that this argument is safe to promote, and find the argument
parts it can be promoted into.
Defined at line 510 of file llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
-
bool isSentinel (const DWARFDebugNames::Abbrev & Abbr)Defined at line 511 of file llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
-
void printImportTables (const COFFObjectFile * Obj)Prints import tables. The import table is a table containing the list of
DLL name and symbol names which will be linked by the loader.
Defined at line 511 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
Cursor maybeLexMCSymbol (Cursor C, MIToken & Token, function_ref ErrorCallback)Defined at line 511 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void computeKnownBitsMul (const Value * Op0, const Value * Op1, bool NSW, bool NUW, const APInt & DemandedElts, KnownBits & Known, KnownBits & Known2, const SimplifyQuery & Q, unsigned int Depth)Defined at line 511 of file llvm/lib/Analysis/ValueTracking.cpp
-
uint64_t XXH3_mergeAccs (const uint64_t * acc, const uint8_t * key, uint64_t start)Defined at line 512 of file llvm/lib/Support/xxhash.cpp
-
void doDisplayTable (StringRef Name, const object::Archive::Child & C)Implement the 't' operation. This function prints out just
the file names of each of the members. However, if verbose mode is requested
('v' modifier) then the file type, permission mode, user, group, size, and
modification time are also printed.
Defined at line 512 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
optional getFunctionalIntrinsicIDForVP (Intrinsic::ID ID)Equivalent non-predicated intrinsic ID
Defined at line 513 of file llvm/lib/IR/IntrinsicInst.cpp
-
basic_string getNodeLabel (const ValueInfo & VI, GlobalValueSummary * GVS)Defined at line 513 of file llvm/lib/IR/ModuleSummaryIndex.cpp
-
LLVMOrcSymbolStringPoolEntryRef * LLVMOrcMaterializationResponsibilityGetRequestedSymbols (LLVMOrcMaterializationResponsibilityRef MR, size_t * NumSymbols)Returns the names of any symbols covered by this
MaterializationResponsibility object that have queries pending. This
information can be used to return responsibility for unrequested symbols
back to the JITDylib via the delegate method.
Defined at line 513 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool doesNotRequireEntrySafepointBefore (CallBase * Call)Returns true if an entry safepoint is not required before this callsite in
the caller function.
Defined at line 513 of file llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp
-
void replaceWithTileLoad (Use & U, Value * Ptr, bool IsPHI)Defined at line 513 of file llvm/lib/Target/X86/X86LowerAMXType.cpp
-
uint32_t ARM64CountOfUnwindCodes (ArrayRef Insns)Defined at line 513 of file llvm/lib/MC/MCWin64EH.cpp
-
void getDies (DWARFContext & DICtx, const DWARFDebugNames & Accel, StringRef Name, SmallVectorImpl<DWARFDie> & Dies)Defined at line 514 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
void emitDwarfSetLineAddr (MCObjectStreamer & OS, MCDwarfLineTableParams Params, int64_t LineDelta, const MCSymbol * Label, int PointerSize)Defined at line 514 of file llvm/lib/MC/MCObjectStreamer.cpp
-
bool isSplat (ArrayRef VL)Defined at line 515 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void unwrapLoop (BlockFrequencyInfoImplBase & BFI, LoopData & Loop)Unwrap a loop package.
Visits all the members of a loop, adjusting their BlockData according to
the loop's pseudo-node.
Defined at line 515 of file llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
-
void printMachOCPUOnly ()Defined at line 515 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
int nextIfDebug (int I, int End)If this iterator is a debug value, increment until reaching the End or a
non-debug instruction.
Defined at line 516 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
const Target * getTarget (const ObjectFile * Obj)Defined at line 516 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
bool hasPHICycle (const MachineBasicBlock * LoopHeader, const MachineRegisterInfo & MRI)Defined at line 516 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
void initializeLCSSAWrapperPassPassOnce (PassRegistry & Registry)Defined at line 517 of file llvm/lib/Transforms/Utils/LCSSA.cpp
-
void exitWithError (Twine Message, StringRef Whence, StringRef Hint)Defined at line 517 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void lto_codegen_debug_options (lto_code_gen_t cg, const char * )Sets options to help debug codegen bugs. Since parsing shud only happen once,
only one of lto_codegen_debug_options or lto_set_debug_options
should be called.
This function takes one or more options separated by spaces.
Warning: passing file paths through this function may confuse the argument
parser if the paths contain spaces.
Defined at line 517 of file llvm/tools/lto/lto.cpp
-
template <typename SCCT, typename PostorderSequenceT, typename SCCIndexMapT, typename ComputeSourceConnectedSetCallableT, typename ComputeTargetConnectedSetCallableT>iterator_range<typename PostorderSequenceT::iterator> updatePostorderSequenceForEdgeInsertion (SCCT & SourceSCC, SCCT & TargetSCC, PostorderSequenceT & SCCs, SCCIndexMapT & SCCIndices, ComputeSourceConnectedSetCallableT ComputeSourceConnectedSet, ComputeTargetConnectedSetCallableT ComputeTargetConnectedSet)Generic helper that updates a postorder sequence of SCCs for a potentially
cycle-introducing edge insertion.
A postorder sequence of SCCs of a directed graph has one fundamental
property: all deges in the DAG of SCCs point "up" the sequence. That is,
all edges in the SCC DAG point to prior SCCs in the sequence.
This routine both updates a postorder sequence and uses that sequence to
compute the set of SCCs connected into a cycle. It should only be called to
insert a "downward" edge which will require changing the sequence to
restore it to a postorder.
When inserting an edge from an earlier SCC to a later SCC in some postorder
sequence, all of the SCCs which may be impacted are in the closed range of
those two within the postorder sequence. The algorithm used here to restore
the state is as follows:
1) Starting from the source SCC, construct a set of SCCs which reach the
source SCC consisting of just the source SCC. Then scan toward the
target SCC in postorder and for each SCC, if it has an edge to an SCC
in the set, add it to the set. Otherwise, the source SCC is not
a successor, move it in the postorder sequence to immediately before
the source SCC, shifting the source SCC and all SCCs in the set one
position toward the target SCC. Stop scanning after processing the
target SCC.
2) If the source SCC is now past the target SCC in the postorder sequence,
and thus the new edge will flow toward the start, we are done.
3) Otherwise, starting from the target SCC, walk all edges which reach an
SCC between the source and the target, and add them to the set of
connected SCCs, then recurse through them. Once a complete set of the
SCCs the target connects to is known, hoist the remaining SCCs between
the source and the target to be above the target. Note that there is no
need to process the source SCC, it is already known to connect.
4) At this point, all of the SCCs in the closed range between the source
SCC and the target SCC in the postorder sequence are connected,
including the target SCC and the source SCC. Inserting the edge from
the source SCC to the target SCC will form a cycle out of precisely
these SCCs. Thus we can merge all of the SCCs in this closed range into
a single SCC.
This process has various important properties:
- Only mutates the SCCs when adding the edge actually changes the SCC
structure.
- Never mutates SCCs which are unaffected by the change.
- Updates the postorder sequence to correctly satisfy the postorder
constraint after the edge is inserted.
- Only reorders SCCs in the closed postorder sequence from the source to
the target, so easy to bound how much has changed even in the ordering.
- Big-O is the number of edges in the closed postorder range of SCCs from
source to target.
This helper routine, in addition to updating the postorder sequence itself
will also update a map from SCCs to indices within that sequence.
The sequence and the map must operate on pointers to the SCC type.
Two callbacks must be provided. The first computes the subset of SCCs in
the postorder closed range from the source to the target which connect to
the source SCC via some (transitive) set of edges. The second computes the
subset of the same range which the target SCC connects to via some
(transitive) set of edges. Both callbacks should populate the set argument
provided.
Defined at line 517 of file llvm/lib/Analysis/LazyCallGraph.cpp
-
void printLLVMName (raw_ostream & OS, const Value * V)Turn the specified name into an 'LLVM name', which is either prefixed with %
(if the string only contains simple characters) or is surrounded with ""'s
(if it has special chars in it). Print it out.
Defined at line 518 of file llvm/lib/IR/AsmWriter.cpp
-
void splitProfileMapToTwo (const SampleProfileMap & ProfileMap, SampleProfileMap & ContextProfileMap, SampleProfileMap & NoContextProfileMap)Defined at line 518 of file llvm/lib/ProfileData/SampleProfWriter.cpp
-
void DumpEllipsisOrElidedLines (raw_ostream & OS, std::string & ElidedLines, unsigned int LabelWidth)To OS, print a vertical ellipsis (right-justified at LabelWidth) if it would
occupy less lines than ElidedLines, but print ElidedLines otherwise. Either
way, clear ElidedLines. Thus, if ElidedLines is empty, do nothing.
Defined at line 518 of file llvm/utils/FileCheck/FileCheck.cpp
-
ArchType parseARMArch (StringRef ArchName)Defined at line 518 of file llvm/lib/TargetParser/Triple.cpp
-
void concatSubVector (Value ** Vec, ArrayRef<Instruction *> InVec, unsigned int VecElems, int & Builder)For VecElems = 64
Invec[0] - |0|1|2 |3 | Vec[0] - |0|3|6|9 |
Invec[1] - |4|5|6 |7 | => Vec[1] - |1|4|7|10|
Invec[2] - |8|9|10|11| Vec[2] - |2|5|8|11|
Defined at line 519 of file llvm/lib/Target/X86/X86InterleavedAccess.cpp
-
bool usedAsAddr (const MachineInstr & MI, Register Reg, const TargetInstrInfo * TII)Defined at line 519 of file llvm/lib/Target/X86/X86DomainReassignment.cpp
-
bool isLibCallInTailPosition (const CallLowering::ArgInfo & Result, MachineInstr & MI, const TargetInstrInfo & TII, MachineRegisterInfo & MRI)True if an instruction is in tail position in its caller. Intended for
legalizing libcalls as tail calls when possible.
Defined at line 519 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
void lowerStatepointMetaArgs (SmallVectorImpl<SDValue> & Ops, SmallVectorImpl<MachineMemOperand *> & MemRefs, SmallVectorImpl<SDValue> & GCPtrs, int & LowerAsVReg, SelectionDAGBuilder::StatepointLoweringInfo & SI, SelectionDAGBuilder & Builder)Lower deopt state and gc pointer arguments of the statepoint. The actual
lowering is described in lowerIncomingStatepointValue. This function is
responsible for lowering everything in the right position and playing some
tricks to avoid redundant stack manipulation where possible. On
completion, 'Ops' will contain ready to use operands for machine code
statepoint. The chain nodes will have already been created and the DAG root
will be set to the last value spilled (if any were).
Defined at line 519 of file llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
-
void printIRBlockReference (raw_ostream & OS, const BasicBlock & BB, ModuleSlotTracker & MST)Defined at line 520 of file llvm/lib/CodeGen/MachineOperand.cpp
-
uint64_t XXH3_hashLong_64b (const uint8_t * input, size_t len, const uint8_t * secret, size_t secretSize)Defined at line 520 of file llvm/lib/Support/xxhash.cpp
-
void InitializeModule ()===----------------------------------------------------------------------===//
Top-Level parsing and JIT Driver
===----------------------------------------------------------------------===//
Defined at line 521 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
bool processAbsIntrinsic (IntrinsicInst * II, LazyValueInfo * LVI)See if
.abs argument is alays positive/negative, and simplify.
Notably, INT_MIN can belong to either range, regardless of the NSW,
because it is negation-invariant.
Defined at line 521 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
const char * getModRefStr (ModRefInfo MR)Defined at line 522 of file llvm/lib/IR/Attributes.cpp
-
void initializeStackColoringLegacyPassOnce (PassRegistry & Registry)Defined at line 523 of file llvm/lib/CodeGen/StackColoring.cpp
-
bool nextRealType (SmallVectorImpl<Type *> & SubTypes, SmallVectorImpl<unsigned int> & Path)Set the iterator data-structures to the next non-empty, non-aggregate
subtype.
Defined at line 523 of file llvm/lib/CodeGen/Analysis.cpp
-
void generateCaseForVersionedClauses (ArrayRef VerClauses, raw_ostream & OS, const DirectiveLanguage & DirLang, StringSet<> & Cases)Defined at line 523 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
void filterByAccelName (ArrayRef Names, DWARFContext & DICtx, raw_ostream & OS, function GetNameForDWARFReg)Print only DIEs that have a certain name.
Defined at line 523 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
void printShuffleMask (raw_ostream & Out, Type * Ty, ArrayRef Mask)Defined at line 523 of file llvm/lib/IR/AsmWriter.cpp
-
bool checkHoistValue (Value * V, Instruction * InsertPoint, DominatorTree & DT, DenseSet<Instruction *> & Unhoistables, DenseSet<Instruction *> * HoistStops, DenseMap<Instruction *, bool> & Visited)Return true if V is already hoisted or can be hoisted (along with its
operands) above the insert point. When it returns true and HoistStops is
non-null, the instructions to stop hoisting at through the use-def chains are
inserted into HoistStops.
Defined at line 523 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
const char * LLVMGetInlineAsmAsmString (LLVMValueRef InlineAsmVal, size_t * Len)Get the template string used for an inline assembly snippet
Defined at line 524 of file llvm/lib/IR/Core.cpp
-
void checkArchDuplicates (ArrayRef<Slice> Slices)Defined at line 524 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
bool canDecodeBlob (unsigned int Code, unsigned int BlockID)Defined at line 525 of file llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
-
bool isIntrinsic (const CallBase & Call, Intrinsic::ID ID)Defined at line 525 of file llvm/lib/Target/X86/X86WinEHState.cpp
-
unsigned int CountTerminators (MachineBasicBlock * MBB, int & I)CountTerminators - Count the number of terminators in the given
block and set I to the position of the first non-terminator, if there
is one, or MBB->end() otherwise.
Defined at line 525 of file llvm/lib/CodeGen/BranchFolding.cpp
-
Value * threadCmpOverPHI (CmpPredicate Pred, Value * LHS, Value * RHS, const SimplifyQuery & Q, unsigned int MaxRecurse)In the case of a comparison with a PHI instruction, try to simplify the
comparison by seeing whether comparing with all of the incoming phi values
yields the same result every time. If so returns the common result,
otherwise returns null.
Defined at line 525 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void initializeScavengerTestPassOnce (PassRegistry & Registry)Defined at line 526 of file llvm/lib/CodeGen/RegisterScavenging.cpp
-
void dumpInput (StringRef File)Defined at line 526 of file llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp
-
bool checkNumberingAndReplaceCommutative (const DenseMap<Value *, unsigned int> & SourceValueToNumberMapping, DenseMap<unsigned int, DenseSet<unsigned int>> & CurrentSrcTgtNumberMapping, ArrayRef<Value *> & SourceOperands, DenseSet<unsigned int> & TargetValueNumbers)Determine if one or more of the assigned global value numbers for the
operands in
is in the current mapping set for operand
numbers in
The set of possible corresponding global
value numbers are replaced with the most recent version of compatible
values.
Parameters
SourceValueToNumberMapping [in] - The mapping of a Value to global value number for the source IRInstructionCandidate.CurrentSrcTgtNumberMapping [in,out] - The current mapping of source IRSimilarityCandidate global value numbers to a set of possible numbers in the target.SourceOperands [in] - The operands in the original IRSimilarityCandidate in the current instruction.TargetValueNumbers [in] - The global value numbers of the operands in the corresponding Instruction in the other IRSimilarityCandidate.Defined at line 526 of file llvm/lib/Analysis/IRSimilarityIdentifier.cpp
-
int dumpSymtab (int argc, char ** argv)Defined at line 526 of file llvm/tools/llvm-lto2/llvm-lto2.cpp
-
void initializeMachineCopyPropagationLegacyPassOnce (PassRegistry & Registry)Defined at line 527 of file llvm/lib/CodeGen/MachineCopyPropagation.cpp
-
const BTF::CommonType * skipModsAndTypedefs (const BTFParser & BTF, const BTF::CommonType * Type)Defined at line 527 of file llvm/lib/DebugInfo/BTF/BTFParser.cpp
-
Value * getStackGuard (const TargetLoweringBase * TLI, Module * M, int & B, bool * SupportsSelectionDAGSP)Create a stack guard loading and populate whether SelectionDAG SSP is
supported.
Defined at line 527 of file llvm/lib/CodeGen/StackProtector.cpp
-
void lto_codegen_debug_options_array (lto_code_gen_t cg, const char *const * , int number)Same as the previous function, but takes every option separately through an
array.
Defined at line 528 of file llvm/tools/lto/lto.cpp
-
void exitWithError (Error E, StringRef Whence)Defined at line 528 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void initializeComplexDeinterleavingLegacyPassPassOnce (PassRegistry & Registry)Defined at line 529 of file llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
-
void LLVMOrcDisposeSymbols (LLVMOrcSymbolStringPoolEntryRef * Symbols)Disposes of the passed LLVMOrcSymbolStringPoolEntryRef* .
Does not release the symbols themselves.
Defined at line 530 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool isSehScopeEnd (const CallBase & Call)Defined at line 530 of file llvm/lib/Target/X86/X86WinEHState.cpp
-
Value * findOutputMapping (DenseMap OutputMappings, Value * Input)Check the
structure for value
if it exists
it has been used as an output for outlining, and has been renamed, and we
return the new value, otherwise, we return the same value.
Parameters
OutputMappings [in] - The mapping of values to their renamed value after being used as an output for an outlined region.Input [in] - The value to find the remapped value of, if it exists.Returns
The remapped value if it has been renamed, and the same value if has
not.
Defined at line 530 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
void HandleDefinition ()Defined at line 530 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
void defineExternalNode (raw_ostream & OS, const char * Pfx, const ValueInfo & VI, GlobalValue::GUID Id)Write definition of external node, which doesn't have any
specific module associated with it. Typically this is function
or variable defined in native object or library.
Defined at line 530 of file llvm/lib/IR/ModuleSummaryIndex.cpp
-
bool useClaimRuntimeCall (Module & M)Should we use objc_claimAutoreleasedReturnValue?
Defined at line 530 of file llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
-
unsigned int getELFSectionFlags (SectionKind K, const Triple & T)Defined at line 530 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
void doLookup (GsymReader & Gsym, uint64_t Addr, raw_ostream & OS)Defined at line 530 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
GlobalVariable * SRAGlobal (GlobalVariable * GV, const DataLayout & DL)Perform scalar replacement of aggregates on the specified global variable.
This opens the door for other optimizations by exposing the behavior of the
program in a more fine-grained way. We have determined that this
transformation is safe already. We return the first global variable we
insert so that the caller can reprocess it.
Defined at line 530 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool doesVPHaveNoFunctionalEquivalent (Intrinsic::ID ID)Defined at line 531 of file llvm/lib/IR/IntrinsicInst.cpp
-
Expected isCoverageMappingDummy (uint64_t Hash, StringRef Mapping)Check if the mapping data is a dummy, i.e. is emitted for an unused function.
Defined at line 532 of file llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
-
bool checkMachOAndArchFlags (ObjectFile * O, StringRef Filename)Checks to see if the
ObjectFile is a Mach-O file and if it is and there
is a list of architecture flags specified then check to make sure this
Mach-O file is one of those architectures or all architectures was
specificed. If not then an error is generated and this routine returns
false. Else it returns true.
Defined at line 532 of file llvm/tools/llvm-size/llvm-size.cpp
-
Expected ExtractBlocks (BugDriver & BD, Expected<bool> (*)(BugDriver &, std::unique_ptr<Module>, std::unique_ptr<Module>) TestFn, std::vector<Function *> & MiscompiledFunctions)Given a reduced list of functions that still expose the bug, extract as many
basic blocks from the region as possible without obscuring the bug.
Defined at line 532 of file llvm/tools/bugpoint/Miscompilation.cpp
-
bool is64BitSymbolicFile (const SymbolicFile * SymObj)Defined at line 533 of file llvm/lib/Object/ArchiveWriter.cpp
-
const char * LLVMGetInlineAsmConstraintString (LLVMValueRef InlineAsmVal, size_t * Len)Get the raw constraint string for an inline assembly snippet
Defined at line 533 of file llvm/lib/IR/Core.cpp
-
void LLVMSetModuleInlineAsm (LLVMModuleRef M, const char * Asm)Deprecated: Use LLVMSetModuleInlineAsm2 instead.
Defined at line 490 of file llvm/lib/IR/Core.cpp
-
void initializeCodeGenPrepareLegacyPassPassOnce (PassRegistry & Registry)Defined at line 533 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
GenericValue executeFCMP_UEQ (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 533 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
MCRegister getMappedReg (Register Reg, int & RegMap)Return the physical register the specified virtual register might be mapped
to.
Defined at line 533 of file llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
-
Expected<SmallVector<Slice, 2>> buildSlices (LLVMContext & LLVMCtx, ArrayRef<OwningBinary<Archive>> OutputBinaries)Defined at line 533 of file llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
-
void rollbackRestoreSplit (MachineFunction & MF, MachineBasicBlock * NMBB, MachineBasicBlock * MBB, ArrayRef<MachineBasicBlock *> DirtyPreds, const TargetInstrInfo * TII)This function undoes the restore point split done earlier.
DirtyPreds: All predecessors of
that are ReachableByDirty.
Restore point was split and the change needs to be unrolled. Make necessary
changes to reset restore point from
to
Defined at line 533 of file llvm/lib/CodeGen/ShrinkWrap.cpp
-
void addReplicateRegions (VPlan & Plan)Defined at line 533 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
ConstantInt * getConstantInt (Value * V, const DataLayout & DL)Extract ConstantInt from value, looking through IntToPtr
and PointerNullValue. Return NULL if value is not a constant int.
Defined at line 533 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
const uint8_t * processExportNode (const uint8_t * Start, const uint8_t * CurrPtr, const uint8_t *const End, MachOYAML::ExportEntry & Entry)/brief processes a node from the export trie, and its children.
To my knowledge there is no documentation of the encoded format of this data
other than in the heads of the Apple linker engineers. To that end hopefully
this comment and the implementation below can serve to light the way for
anyone crazy enough to come down this path in the future.
This function reads and preserves the trie structure of the export trie. To
my knowledge there is no code anywhere else that reads the data and preserves
the Trie. LD64 (sources available at opensource.apple.com) has a similar
implementation that parses the export trie into a vector. That code as well
as LLVM's libObject MachO implementation were the basis for this.
The export trie is an encoded trie. The node serialization is a bit awkward.
The below pseudo-code is the best description I've come up with for it.
struct SerializedNode {
ULEB128 TerminalSize;
struct TerminalData {
<
-- This is only present if TerminalSize > 0
ULEB128 Flags;
ULEB128 Address;
<
-- Present if (! Flags
&
REEXPORT )
ULEB128 Other;
<
-- Present if ( Flags
&
REEXPORT ||
Flags
&
STUB_AND_RESOLVER )
char[] ImportName;
<
-- Present if ( Flags
&
REEXPORT )
}
uint8_t ChildrenCount;
Pair
<char
[], ULEB128> ChildNameOffsetPair[ChildrenCount];
SerializedNode Children[ChildrenCount]
}
Terminal nodes are nodes that represent actual exports. They can appear
anywhere in the tree other than at the root; they do not need to be leaf
nodes. When reading the data out of the trie this routine reads it in-order,
but it puts the child names and offsets directly into the child nodes. This
results in looping over the children twice during serialization and
de-serialization, but it makes the YAML representation more human readable.
Below is an example of the graph from a "Hello World" executable:
-------
| '' |
-------
|
-------
| '_' |
-------
|
|----------------------------------------|
| |
------------------------ ---------------------
| '_mh_execute_header' | | 'main' |
| Flags: 0x00000000 | | Flags: 0x00000000 |
| Addr: 0x00000000 | | Addr: 0x00001160 |
------------------------ ---------------------
This graph represents the trie for the exports "__mh_execute_header" and
"_main". In the graph only the "_main" and "__mh_execute_header" nodes are
terminal.
Defined at line 533 of file llvm/tools/obj2yaml/macho2yaml.cpp
-
bool upgradeX86IntrinsicFunction (Function * F, StringRef Name, Function *& NewFn)Defined at line 533 of file llvm/lib/IR/AutoUpgrade.cpp
-
bool isSehScopeBegin (const CallBase & Call)Defined at line 534 of file llvm/lib/Target/X86/X86WinEHState.cpp
-
LLVMErrorRef LLVMOrcMaterializationResponsibilityNotifyResolved (LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcCSymbolMapPairs Symbols, size_t NumPairs)Notifies the target JITDylib that the given symbols have been resolved.
This will update the given symbols' addresses in the JITDylib, and notify
any pending queries on the given symbols of their resolution. The given
symbols must be ones covered by this MaterializationResponsibility
instance. Individual calls to this method may resolve a subset of the
symbols, but all symbols must have been resolved prior to calling emit.
This method will return an error if any symbols being resolved have been
moved to the error state due to the failure of a dependency. If this
method returns an error then clients should log it and call
LLVMOrcMaterializationResponsibilityFailMaterialization. If no dependencies
have been registered for the symbols covered by this
MaterializationResponsibility then this method is guaranteed to return
LLVMErrorSuccess.
Defined at line 534 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
Expected<const Target *> initAndLookupTarget (const Config & C, Module & Mod)Defined at line 534 of file llvm/lib/LTO/LTOBackend.cpp
-
Value * foldLogOpOfMaskedICmps (Value * LHS, Value * RHS, bool IsAnd, bool IsLogical, InstCombiner::BuilderTy & Builder, const SimplifyQuery & Q)Try to fold (icmp(A
&
B) ==/!= C)
&
/| (icmp(A
&
D) ==/!= E)
into a single (icmp(A
&
X) ==/!= Y).
Defined at line 534 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
void DumpAnnotatedInput (raw_ostream & OS, const FileCheckRequest & Req, DumpInputFilterValue DumpInputFilter, unsigned int DumpInputContext, StringRef InputFileText, std::vector<InputAnnotation> & Annotations, unsigned int LabelWidth)Defined at line 534 of file llvm/utils/FileCheck/FileCheck.cpp
-
void initTMBuilder (TargetMachineBuilder & TMBuilder, const Triple & TheTriple)Initialize the TargetMachine builder for a given Triple
Defined at line 535 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
void shuffleUseLists (Module & M, unsigned int SeedOffset)Defined at line 535 of file llvm/tools/verify-uselistorder/verify-uselistorder.cpp
-
void doPreallocation (TrivialMemoryManager & MemMgr)Defined at line 535 of file llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
-
unsigned int lto_api_version ()Returns the runtime API version.
Defined at line 536 of file llvm/tools/lto/lto.cpp
-
Constant * getKnownConstant (Value * Val, ConstantPreference Preference)getKnownConstant - Helper method to determine if we can thread over a
terminator with the given value as its condition, and if so what value to
use for that. What kind of value this is depends on whether we want an
integer or a block address, but an undef is always accepted.
Returns null if Val is null or not an appropriate constant.
Defined at line 536 of file llvm/lib/Transforms/Scalar/JumpThreading.cpp
-
bool canEvaluateShiftedShift (unsigned int OuterShAmt, bool IsOuterShl, Instruction * InnerShift, InstCombinerImpl & IC, Instruction * CxtI)Return true if we can simplify two logical (either left or right) shifts
that have constant shift amounts: OuterShift (InnerShift X, C1), C2.
Defined at line 536 of file llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
-
bool rewriteSingleStoreAlloca (AllocaInst * AI, AllocaInfo & Info, LargeBlockInfo & LBI, const DataLayout & DL, DominatorTree & DT, AssumptionCache * AC, SmallPtrSet<DbgVariableRecord *, 8> * DVRAssignsToDelete)Rewrite as many loads as possible given a single store.
When there is only a single store, we can use the domtree to trivially
replace all of the dominated loads with the stored value. Do so, and return
true if this has successfully promoted the alloca entirely. If this returns
false there were some loads which were not dominated by the single store
and thus must be phi-ed with undef. We fall back to the standard alloca
promotion algorithm in that case.
Defined at line 536 of file llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
-
template <typename Range>void updateAlignments (Range & Slices, const int & Alignments)Defined at line 537 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
void stripComments (xmlNodePtr Root)Defined at line 537 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
unique_ptr ParseBinOpRHS (int ExprPrec, unique_ptr LHS)binoprhs
::= ('+' unary)*
Defined at line 537 of file llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp
-
pair getTypedElementType (ResourceKind Kind, TargetExtType * Ty)Defined at line 537 of file llvm/lib/Analysis/DXILResource.cpp
-
void lto_codegen_set_should_internalize (lto_code_gen_t cg, lto_bool_t ShouldInternalize)Sets if we should run internalize pass during optimization and code
generation.
Defined at line 538 of file llvm/tools/lto/lto.cpp
-
void * findLastDebugDescriptorEntryPtr ()Defined at line 538 of file llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
-
DITemplateValueParameter * createTemplateValueParameterHelper (LLVMContext & VMContext, unsigned int Tag, DIScope * Context, StringRef Name, DIType * Ty, bool IsDefault, Metadata * MD)Defined at line 538 of file llvm/lib/IR/DIBuilder.cpp
-
bool isIncomingOfPHI (Instruction * I)Defined at line 538 of file llvm/lib/Target/X86/X86LowerAMXType.cpp
-
Expected convertOneChecksum (const DebugStringTableSubsectionRef & Strings, const FileChecksumEntry & CS)Defined at line 538 of file llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
-
unsigned int getPredicates (int & PredicateMap, int & Predicates, const Record * Rec, StringRef Name)Defined at line 538 of file llvm/utils/TableGen/CompressInstEmitter.cpp
-
void computeUnlikelySuccessors (const BasicBlock * BB, Loop * L, SmallPtrSetImpl<const BasicBlock *> & UnlikelyBlocks)Compute the unlikely successors to the block BB in the loop L, specifically
those that are unlikely because this is a loop, and add them to the
UnlikelyBlocks set.
Defined at line 538 of file llvm/lib/Analysis/BranchProbabilityInfo.cpp
-
bool isZero (Value * V, const DataLayout & DL, DominatorTree * DT, AssumptionCache * AC)Defined at line 539 of file llvm/lib/Analysis/Lint.cpp
-
template <typename Func>void forBothCUs (DwarfCompileUnit & CU, Func F)Defined at line 540 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
Loop * getTopMostExitingLoop (const BasicBlock * ExitBB, const LoopInfo & LI)Return the top-most loop containing ExitBB and having ExitBB as exiting block
or the loop containing ExitBB, if there is no parent loop containing ExitBB
as exiting block.
Defined at line 540 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
void DoInitialMatch (const SCEV * S, Loop * L, SmallVectorImpl<const SCEV *> & Good, SmallVectorImpl<const SCEV *> & Bad, ScalarEvolution & SE)Recursion helper for initialMatch.
Defined at line 540 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
void lto_codegen_set_should_embed_uselists (lto_code_gen_t cg, lto_bool_t ShouldEmbedUselists)Set whether to embed uselists in bitcode.
Sets whether
should embed uselists in
output bitcode. This should be turned on for all -save-temps output.
Defined at line 543 of file llvm/tools/lto/lto.cpp
-
LLVMErrorRef LLVMOrcMaterializationResponsibilityNotifyEmitted (LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcCSymbolDependenceGroup * SymbolDepGroups, size_t NumSymbolDepGroups)Notifies the target JITDylib (and any pending queries on that JITDylib)
that all symbols covered by this MaterializationResponsibility instance
have been emitted.
This function takes ownership of the symbols in the Dependencies struct.
This allows the following pattern...
LLVMOrcSymbolStringPoolEntryRef Names[] = {...};
LLVMOrcCDependenceMapPair Dependence = {JD, {Names, sizeof(Names)}}
LLVMOrcMaterializationResponsibilityAddDependencies(JD, Name,
&Dependence
,
1);
... without requiring cleanup of the elements of the Names array afterwards.
The client is still responsible for deleting the Dependencies.Names arrays,
and the Dependencies array itself.
This method will return an error if any symbols being resolved have been
moved to the error state due to the failure of a dependency. If this
method returns an error then clients should log it and call
LLVMOrcMaterializationResponsibilityFailMaterialization.
If no dependencies have been registered for the symbols covered by this
MaterializationResponsibility then this method is guaranteed to return
LLVMErrorSuccess.
Defined at line 541 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool isCommutative (Instruction * I, Value * ValWithUses, bool IsCopyable)Parameters
I The instruction to check for commutativityValWithUses The value whose uses are analyzed for special patternsDefined at line 541 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool canProfitablyRuntimeUnrollMultiExitLoop (Loop * L, SmallVectorImpl<BasicBlock *> & OtherExits, BasicBlock * LatchExit, bool UseEpilogRemainder)Returns true if we can profitably unroll the multi-exit loop L. Currently,
we return true only if UnrollRuntimeMultiExit is set to true.
Defined at line 541 of file llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
-
void generateIsAllowedClause (const DirectiveLanguage & DirLang, raw_ostream & OS)Generate the isAllowedClauseForDirective function implementation.
Defined at line 541 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
void reverseUseLists (Module & M)Defined at line 542 of file llvm/tools/verify-uselistorder/verify-uselistorder.cpp
-
LLVMGetInlineAsmDialect (LLVMValueRef InlineAsmVal)Get the dialect used by the inline asm snippet
Defined at line 542 of file llvm/lib/IR/Core.cpp
-
bool hasReadOnlyFlag (const GlobalValueSummary * S)Defined at line 543 of file llvm/lib/IR/ModuleSummaryIndex.cpp
-
GenericValue executeFCMP_UNE (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 543 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
void HandleExtern ()Defined at line 543 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
void printSyncScope (raw_ostream & OS, const LLVMContext & Context, SyncScope::ID SSID, SmallVectorImpl<StringRef> & SSNs)Defined at line 543 of file llvm/lib/CodeGen/MachineOperand.cpp
-
void cacheDIVar (FrameDataInfo & FrameData, DenseMap<Value *, DILocalVariable *> & DIVarCache)Defined at line 543 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
void createCombinedModuleSummaryIndex ()Create a combined index file from the input IR files and write it.
This is meant to enable testing of ThinLTO combined index generation,
currently available via the gold plugin via -thinlto.
Defined at line 543 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
void findAllApple (DWARFContext & DICtx, raw_ostream & OS, function GetNameForDWARFReg)Print all DIEs in apple accelerator tables
Defined at line 543 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
Expected<RemoveNoteInfo> parseRemoveNoteInfo (StringRef FlagValue)Defined at line 543 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
MDNode * stripDebugLocFromLoopID (MDNode * N)Defined at line 543 of file llvm/lib/IR/DebugInfo.cpp
-
void writeLineTableOpcode (const DWARFYAML::LineTableOpcode & Op, uint8_t OpcodeBase, uint8_t AddrSize, raw_ostream & OS, bool IsLittleEndian)Defined at line 543 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
bool blockEndsInUnreachable (const MachineBasicBlock * MBB)A no successor, non-return block probably ends in unreachable and is cold.
Also consider a block that ends in an indirect branch to be a return block,
since many targets use plain indirect branches to return.
Defined at line 544 of file llvm/lib/CodeGen/BranchFolding.cpp
-
bool isSingleUnscheduledPred (SUnit * SU, SUnit * SU2)isSingleUnscheduledPred - If SU2 is the only unscheduled predecessor
of SU, return true (we may have duplicates)
Defined at line 544 of file llvm/lib/CodeGen/VLIWMachineScheduler.cpp
-
Error getRelocationValueString (const RelocationRef & Rel, bool SymbolDescription, SmallVectorImpl<char> & Result)Defined at line 544 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void updateLiveness (MachineFunction & MF)Helper function to update the liveness information for the callee-saved
registers.
Defined at line 544 of file llvm/lib/CodeGen/PrologEpilogInserter.cpp
-
bool tryToRecognizeTableBasedCttz (Instruction & I, const DataLayout & DL)Try to recognize table-based ctz implementation.
E.g., an example in C (for more cases please see the llvm/tests):
int f(unsigned x) {
static const char table[32] =
{0, 1, 28, 2, 29, 14, 24, 3, 30,
22, 20, 15, 25, 17, 4, 8, 31, 27,
13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9};
return table[((unsigned)((x
&
-x) * 0x077CB531U)) >> 27];
}
this can be lowered to `cttz` instruction.
There is also a special case when the element is 0.
The (x
&
-x) sets the lowest non-zero bit to 1. The multiply is a de-bruijn
sequence that contains each pattern of bits in it. The shift extracts
the top bits after the multiply, and that index into the table should
represent the number of trailing zeros in the original number.
Here are some examples or LLVM IR for a 64-bit target:
CASE 1:
%sub = sub i32 0, %x
%and = and i32 %sub, %x
%mul = mul i32 %and, 125613361
%shr = lshr i32 %mul, 27
%idxprom = zext i32 %shr to i64
%arrayidx = getelementptr inbounds [32 x i8], [32 x i8]*
.table, i64 0,
i64 %idxprom
%0 = load i8, i8* %arrayidx, align 1, !tbaa !8
CASE 2:
%sub = sub i32 0, %x
%and = and i32 %sub, %x
%mul = mul i32 %and, 72416175
%shr = lshr i32 %mul, 26
%idxprom = zext i32 %shr to i64
%arrayidx = getelementptr inbounds [64 x i16], [64 x i16]*
.table,
i64 0, i64 %idxprom
%0 = load i16, i16* %arrayidx, align 2, !tbaa !8
CASE 3:
%sub = sub i32 0, %x
%and = and i32 %sub, %x
%mul = mul i32 %and, 81224991
%shr = lshr i32 %mul, 27
%idxprom = zext i32 %shr to i64
%arrayidx = getelementptr inbounds [32 x i32], [32 x i32]*
.table,
i64 0, i64 %idxprom
%0 = load i32, i32* %arrayidx, align 4, !tbaa !8
CASE 4:
%sub = sub i64 0, %x
%and = and i64 %sub, %x
%mul = mul i64 %and, 283881067100198605
%shr = lshr i64 %mul, 58
%arrayidx = getelementptr inbounds [64 x i8], [64 x i8]*
, i64 0,
i64 %shr
%0 = load i8, i8* %arrayidx, align 1, !tbaa !8
All these can be lowered to
.cttz.i32/64 intrinsics.
Defined at line 544 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
void exitWithErrorCode (error_code EC, StringRef Whence)Defined at line 545 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
template <typename T, std::enable_if_t<std::is_floating_point_v<T>, bool> = true>basic_string formatFloatString (T Val)Format floats using the same format string as PrintNumber, so we can check
the output on all platforms.
Defined at line 545 of file llvm/unittests/Support/ScopedPrinterTest.cpp
-
void checkUnusedAlignments (ArrayRef<Slice> Slices, const int & Alignments)Defined at line 546 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
int executeInput ()Defined at line 546 of file llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
-
MemoryAccess * onlySingleValue (MemoryPhi * MP)If all arguments of a MemoryPHI are defined by the same incoming
argument, return that argument.
Defined at line 547 of file llvm/lib/Analysis/MemorySSAUpdater.cpp
-
bool shouldLinkArch (SmallVectorImpl<StringRef> & Archs, StringRef Arch)Defined at line 547 of file llvm/tools/dsymutil/MachODebugMapParser.cpp
-
template <typename AuxiliaryHeader>uint16_t getAuxMaxAlignment (uint16_t AuxHeaderSize, AuxiliaryHeader * AuxHeader, uint16_t Log2OfMaxAlign)Defined at line 547 of file llvm/lib/Object/ArchiveWriter.cpp
-
pair countToEliminateCompares (Loop & L, unsigned int MaxPeelCount, ScalarEvolution & SE, const TargetTransformInfo & TTI)Return the number of iterations to peel off from the beginning and end of the
loop respectively, that make conditions in the body true/false. For example,
if we peel 2 iterations off the loop below, the condition i
<
2 can be
evaluated at compile time.
for (i = 0; i
<
n; i++)
if (i
<
2)
..
else
..
}
Defined at line 547 of file llvm/lib/Transforms/Utils/LoopPeel.cpp
-
bool hasStackGuardSlotTLS (const Triple & TargetTriple)Defined at line 548 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
void linkComponents ()Defined at line 548 of file llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
-
Error checkForDuplicates (const MembersPerArchitectureMap & MembersPerArch)Defined at line 548 of file llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
-
bool collectRegionsConstants (OutlinableRegion & Region, DenseMap<unsigned int, Constant *> & GVNToConstant, DenseSet<unsigned int> & NotSame)Find whether
matches the global value numbering to Constant
mapping found so far.
Parameters
Region - The OutlinableRegion we are checking for constantsGVNToConstant - The mapping of global value number to Constants.NotSame - The set of global value numbers that do not have the same constant in each region.Defined at line 548 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
bool hasWriteOnlyFlag (const GlobalValueSummary * S)Defined at line 549 of file llvm/lib/IR/ModuleSummaryIndex.cpp
-
void warnOrExitGivenError (FailureMode FailMode, error_code EC, StringRef Whence)Defined at line 549 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
uint64_t computeMIRComplexityScoreImpl (const MachineFunction & MF)Try to produce some number that indicates a function is getting smaller /
simpler.
Defined at line 549 of file llvm/tools/llvm-reduce/ReducerWorkItem.cpp
-
int readSIB (struct InternalInstruction * insn)Consumes the SIB byte to determine addressing information.
Defined at line 549 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
void emitColumnLabelsForIndex (raw_ostream & OS, const CoverageViewOptions & Opts)Emit column labels for the table in the index.
Defined at line 551 of file llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp
-
bool checkVars (const DebugVarMap & DIVarsBefore, const DebugVarMap & DIVarsAfter, StringRef NameOfWrappedPass, StringRef FileNameFromCU, bool ShouldWriteIntoJSON, llvm::json::Array & Bugs)This checks the preservation of original debug variable intrinsics.
Defined at line 551 of file llvm/lib/Transforms/Utils/Debugify.cpp
-
void emitDXILOperationTableDataStructs (const RecordKeeper & Records, raw_ostream & OS)Defined at line 551 of file llvm/utils/TableGen/DXILEmitter.cpp
-
MutableArrayRef makeArgArray (Argument * Args, size_t Count)Defined at line 552 of file llvm/lib/IR/Function.cpp
-
GenericValue executeFCMP_ULE (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 552 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
Expected getFileName (const DebugStringTableSubsectionRef & Strings, const DebugChecksumsSubsectionRef & Checksums, uint32_t FileID)Defined at line 552 of file llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
-
bool removeUndefDbgAssignsFromEntryBlock (BasicBlock * BB)Remove redundant undef dbg.assign intrinsic from an entry block using a
forward scan.
Strategy:
---------------------
Scanning forward, delete dbg.assign intrinsics iff they are undef, not
linked to an intrinsic, and don't share an aggregate variable with a debug
intrinsic that didn't meet the criteria. In other words, undef dbg.assigns
that come before non-undef debug intrinsics for the variable are
deleted. Given:
dbg.assign undef, "x", FragmentX1 (*)
<block
of instructions, none being "dbg.value ..., "x", ...">
dbg.value %V, "x", FragmentX2
<block
of instructions, none being "dbg.value ..., "x", ...">
dbg.assign undef, "x", FragmentX1
then (only) the instruction marked with (*) can be removed.
Possible improvements:
- Keep track of non-overlapping fragments.
Defined at line 552 of file llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
-
bool checkOuterLoopInsts (FlattenInfo & FI, SmallPtrSetImpl<Instruction *> & IterationInstructions, const TargetTransformInfo * TTI)Defined at line 552 of file llvm/lib/Transforms/Scalar/LoopFlatten.cpp
-
Constant * SegmentOffset (IRBuilderBase & IRB, int Offset, unsigned int AddressSpace)Defined at line 553 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
basic_string normalizePath (StringRef Path)Defined at line 554 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
void fail (const Instruction * I, const char * Reason, Value * V)Defined at line 554 of file llvm/lib/Transforms/Coroutines/Coroutines.cpp
-
thinlto_code_gen_t thinlto_create_codegen ()Instantiates a ThinLTO code generator.
Returns NULL on error (check lto_get_error_message() for details).
The ThinLTOCodeGenerator is not intended to be reuse for multiple
compilation: the model is that the client adds modules to the generator and
ask to perform the ThinLTO optimizations / codegen, and finally destroys the
codegenerator.
Defined at line 554 of file llvm/tools/lto/lto.cpp
-
bool isCanonical (const MDString * S)Defined at line 555 of file llvm/lib/IR/DebugInfoMetadata.cpp
-
bool hasConstantFlag (const GlobalValueSummary * S)Defined at line 555 of file llvm/lib/IR/ModuleSummaryIndex.cpp
-
void setAttributeNamespaces (xmlNodePtr Node)libxml2 assumes that attributes do not inherit default namespaces, whereas
the original mt.exe does make this assumption. This function reconciles
this by setting all attributes to have the inherited default namespace.
Defined at line 555 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
void getAIXSystemVersion (VersionTuple & SystemVersion)Helper to return AIX system version. Must return void to use ASSERT_*.
Defined at line 555 of file llvm/unittests/TargetParser/Host.cpp
-
void splitPosNeg (const APFloat & Lower, const APFloat & Upper, std::optional<SameSignRange> & NegPart, std::optional<SameSignRange> & PosPart)Split the range into positive and negative components.
Defined at line 555 of file llvm/lib/IR/ConstantFPRange.cpp
-
int getFD (StringRef Filename, std::error_code & EC, CreationDisposition Disp, FileAccess Access, OpenFlags Flags)===----------------------------------------------------------------------===//
raw_fd_ostream
===----------------------------------------------------------------------===//
Defined at line 555 of file llvm/lib/Support/raw_ostream.cpp
-
void relocKindName (uint32_t X, raw_ostream & Out)Defined at line 555 of file llvm/lib/DebugInfo/BTF/BTFParser.cpp
-
template <typename T, std::enable_if_t<std::is_floating_point_v<T>, bool> = true>basic_string formatJsonFloatString (T Val)Format floats using the same format string used in JSON, so we can check the
output on all platforms.
Defined at line 556 of file llvm/unittests/Support/ScopedPrinterTest.cpp
-
LLVMErrorRef LLVMOrcMaterializationResponsibilityDefineMaterializing (LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcCSymbolFlagsMapPairs Pairs, size_t NumPairs)Attempt to claim responsibility for new definitions. This method can be
used to claim responsibility for symbols that are added to a
materialization unit during the compilation process (e.g. literal pool
symbols). Symbol linkage rules are the same as for symbols that are
defined up front: duplicate strong definitions will result in errors.
Duplicate weak definitions will be discarded (in which case they will
not be added to this responsibility instance).
This method can be used by materialization units that want to add
additional symbols at materialization time (e.g. stubs, compile
callbacks, metadata)
Defined at line 556 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void HandleTopLevelExpression ()Defined at line 556 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
void printPredicates (ArrayRef<const Record *> Predicates, StringRef Name, raw_ostream & OS)Defined at line 557 of file llvm/utils/TableGen/CompressInstEmitter.cpp
-
void dumpArchive (const Archive * Arc, ScopedPrinter & Writer)Dumps each object file in
Defined at line 557 of file llvm/tools/llvm-readobj/llvm-readobj.cpp
-
void handleMergeWriterError (Error E, StringRef WhenceFile, StringRef WhenceFunction, bool ShowHint)Defined at line 557 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void printExportTable (const COFFObjectFile * Obj)Prints export tables. The export table is a table containing the list of
exported symbol from the DLL.
Defined at line 557 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
Value * simplifyX86pmadd (IntrinsicInst & II, InstCombiner::BuilderTy & Builder, bool IsPMADDWD)Defined at line 557 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
void printFileSectionSizes (StringRef file)Print the section sizes for
If
is an archive, print the
section sizes for each archive member.
Defined at line 557 of file llvm/tools/llvm-size/llvm-size.cpp
-
bool isValidHexFloatingPointPrefix (char C)Defined at line 558 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
LLVMTypeRef LLVMGetInlineAsmFunctionType (LLVMValueRef InlineAsmVal)Get the function type of the inline assembly snippet. The same type that
was passed into LLVMGetInlineAsm originally
Defined at line 558 of file llvm/lib/IR/Core.cpp
-
const SCEV * getMinFromExprs (const SCEV * I, const SCEV * J, ScalarEvolution * SE)Compare
and
and return the minimum.
Return nullptr in case we couldn't find an answer.
Defined at line 558 of file llvm/lib/Analysis/LoopAccessAnalysis.cpp
-
int getPredState (DenseMap<BasicBlock *, int> & FinalStates, Function & F, int ParentBaseState, BasicBlock * BB)Calculate the intersection of all the FinalStates for a BasicBlock's
predecessors.
Defined at line 558 of file llvm/lib/Target/X86/X86WinEHState.cpp
-
uint32_t formatPercentage (uint64_t dividend, uint64_t divisor)Format dividend/divisor as a percentage. Return 1 if the result is greater
than 0% and less than 1%.
Defined at line 559 of file llvm/lib/ProfileData/GCOV.cpp
-
StringRef toTextKind (MarkupKind Kind)===----------------------------------------------------------------------===//
MarkupContent
===----------------------------------------------------------------------===//
Defined at line 559 of file llvm/lib/Support/LSP/Protocol.cpp
-
bool isSingleUnscheduledSucc (SUnit * SU, SUnit * SU2)isSingleUnscheduledSucc - If SU2 is the only unscheduled successor
of SU, return true (we may have duplicates)
Defined at line 559 of file llvm/lib/CodeGen/VLIWMachineScheduler.cpp
-
bool comparePaths (StringRef Path1, StringRef Path2)Defined at line 559 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
bool isMyCode (const SymbolGroup & Group)Defined at line 559 of file llvm/lib/DebugInfo/PDB/Native/InputFile.cpp
-
void scanSchedRW (const Record * RWDef, ConstRecVec & RWDefs, SmallPtrSet<const Record *, 16> & RWSet)Recursively find all reachable SchedReadWrite records.
Defined at line 559 of file llvm/utils/TableGen/Common/CodeGenSchedule.cpp
-
bool areNonOverlapSameBaseLoadAndStore (const Value * LoadPtr, Type * LoadTy, const Value * StorePtr, Type * StoreTy, const DataLayout & DL)Check if the load and the store have the same base, constant offsets and
non-overlapping access ranges.
Defined at line 559 of file llvm/lib/Analysis/Loads.cpp
-
MemoryAccess * getNewDefiningAccessForClone (MemoryAccess * MA, const ValueToValueMapTy & VMap, PhiToDefMap & MPhiMap, MemorySSA * MSSA, function_ref IsInClonedRegion)Defined at line 559 of file llvm/lib/Analysis/MemorySSAUpdater.cpp
-
Expected<OutputLocation> getOutputFileName (StringRef InputFile, const DsymutilOptions & Options)Defined at line 559 of file llvm/tools/dsymutil/dsymutil.cpp
-
void addSymbol (Object & Obj, const NewSymbolInfo & SymInfo, uint8_t DefaultVisibility)Add symbol to the Object symbol table with the specified properties.
Defined at line 559 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
APInt determineLiveOperandBitsAddCarry (unsigned int OperandNo, const APInt & AOut, const KnownBits & LHS, const KnownBits & RHS, bool CarryZero, bool CarryOne)Defined at line 559 of file llvm/lib/Analysis/DemandedBits.cpp
-
const char * getTargetMMOFlagName (const TargetInstrInfo & TII, unsigned int TMMOFlag)Defined at line 560 of file llvm/lib/CodeGen/MachineOperand.cpp
-
void handleCallSite (Instruction & I, const Function * CalledFunction, ArrayRef InlinedCallStack, const int & CallSiteEntries, Module & M, int & MatchedCallSites, OptimizationRemarkEmitter & ORE)Defined at line 560 of file llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
-
GenericValue executeFCMP_UGE (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 561 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
SmallVector<Slice, 2> buildSlices (LLVMContext & LLVMCtx, ArrayRef<OwningBinary<Binary>> InputBinaries, const int & Alignments, int & ExtractedObjects)Updates vector ExtractedObjects with the MachOObjectFiles extracted from
Universal Binary files to transfer ownership.
Defined at line 561 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
BasicBlock * HandleCallsInBlockInlinedThroughInvoke (BasicBlock * BB, BasicBlock * UnwindEdge, UnwindDestMemoTy * FuncletUnwindMap)When we inline a basic block into an invoke,
we have to turn all of the calls that can throw into invokes.
This function analyze BB to see if there are any calls, and if so,
it rewrites them to be invokes that jump to InvokeDest and fills in the PHI
nodes in that block with the values specified in InvokeDestPHIValues.
Defined at line 561 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
bool CreatePrologue (Function * F, Module * M, Instruction * CheckLoc, const TargetLoweringBase * TLI, AllocaInst *& AI)Insert code into the entry block that stores the stack guard
variable onto the stack:
entry:
StackGuardSlot = alloca i8*
StackGuard =
<stack
guard>
call void
.stackprotector(StackGuard, StackGuardSlot)
Returns true if the platform/triple supports the stackprotectorcreate pseudo
node.
Defined at line 562 of file llvm/lib/CodeGen/StackProtector.cpp
-
Cursor lexFloatingPointLiteral (Cursor Range, Cursor C, MIToken & Token)Defined at line 562 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
LLVMBool LLVMGetInlineAsmHasSideEffects (LLVMValueRef InlineAsmVal)Get if the inline asm snippet has side effects
Defined at line 563 of file llvm/lib/IR/Core.cpp
-
const Function * getCalledFunction (const MachineInstr & MI)Defined at line 563 of file llvm/lib/CodeGen/MachineRegisterInfo.cpp
-
const MDNode * createAccessTag (const MDNode * AccessType)Defined at line 563 of file llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
-
bool processCmpIntrinsic (CmpIntrinsic * CI, LazyValueInfo * LVI)Defined at line 563 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
StringRef solveTypeName (Type * Ty)Create name for Type. It uses MDString to store new created string to
avoid memory leak.
Defined at line 563 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
void buildCopyToRegs (MachineIRBuilder & B, ArrayRef<Register> DstRegs, Register SrcReg, LLT SrcTy, LLT PartTy, unsigned int ExtendOp)Create a sequence of instructions to expand the value in
(of type
to the types in
(of type
should
contain the type of scalar value extension if necessary.
This is used for outgoing values (vregs to physregs)
Defined at line 563 of file llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
-
const Comdat * getELFComdat (const GlobalValue * GV)Defined at line 564 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
bool getHidden (RelocationRef RelRef)Indicates whether this relocation should hidden when listing
relocations, usually because it is the trailing part of a multipart
relocation that will be printed as part of the leading relocation.
Defined at line 565 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
bool mergeBlocksIntoPredecessors (VPlan & Plan)Remove redundant VPBasicBlocks by merging them into their predecessor if
the predecessor has a single successor.
Defined at line 565 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void getThinLTOOldAndNewPrefix (std::string & OldPrefix, std::string & NewPrefix)Parse the thinlto_prefix_replace option into the
and
strings, if it was specified.
Defined at line 566 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
Constant * foldOrCommuteConstant (BinaryOps Opcode, Value *& Op0, Value *& Op1, const SimplifyQuery & Q)Defined at line 566 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
LLVMErrorRef LLVMOrcMaterializationResponsibilityReplace (LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcMaterializationUnitRef MU)Transfers responsibility to the given MaterializationUnit for all
symbols defined by that MaterializationUnit. This allows
materializers to break up work based on run-time information (e.g.
by introspecting which symbols have actually been looked up and
materializing only those).
Defined at line 567 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
APInt getSizeWithOverflow (const SizeOffsetAPInt & Data)===----------------------------------------------------------------------===//
Utility functions to compute size of objects.
Defined at line 567 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
Value * createShiftShuffle (Value * Vec, unsigned int OldIndex, unsigned int NewIndex, IRBuilderBase & Builder)Create a shuffle that translates (shifts) 1 element from the input vector
to a new element location.
Defined at line 567 of file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
-
LLVMBool LLVMGetInlineAsmNeedsAlignedStack (LLVMValueRef InlineAsmVal)Get if the inline asm snippet needs an aligned stack
Defined at line 568 of file llvm/lib/IR/Core.cpp
-
template <typename T>T * getEnclosingLoopRegionForRegion (T * P)Return the enclosing loop region for region
The templated version is
used to support both const and non-const block arguments.
Defined at line 568 of file llvm/lib/Transforms/Vectorize/VPlan.cpp
-
bool ProfitableToMerge (MachineBasicBlock * MBB1, MachineBasicBlock * MBB2, unsigned int MinCommonTailLength, unsigned int & CommonTailLen, int & I1, int & I2, MachineBasicBlock * SuccBB, MachineBasicBlock * PredBB, int & EHScopeMembership, bool AfterPlacement, MBFIWrapper & MBBFreqInfo, ProfileSummaryInfo * PSI)ProfitableToMerge - Check if two machine basic blocks have a common tail
and decide if it would be profitable to merge those tails. Return the
length of the common tail and iterators to the first common instruction
in each block.
MBB1, MBB2 The blocks to check
MinCommonTailLength Minimum size of tail block to be merged.
CommonTailLen Out parameter to record the size of the shared tail between
MBB1 and MBB2
I1, I2 Iterator references that will be changed to point to the first
instruction in the common tail shared by MBB1,MBB2
SuccBB A common successor of MBB1, MBB2 which are in a canonical form
relative to SuccBB
PredBB The layout predecessor of SuccBB, if any.
EHScopeMembership map from block to EH scope #.
AfterPlacement True if we are merging blocks after layout. Stricter
thresholds apply to prevent undoing tail-duplication.
Defined at line 568 of file llvm/lib/CodeGen/BranchFolding.cpp
-
void mergeCondAndCode (raw_ostream & CombinedStream, StringRef CondStr, StringRef CodeStr)Defined at line 569 of file llvm/utils/TableGen/CompressInstEmitter.cpp
-
uint32_t branchDiv (uint64_t Numerator, uint64_t Divisor)This custom division function mimics gcov's branch ouputs:
- Round to closest whole number
- Only output 0% or 100% if it's exactly that value
Defined at line 569 of file llvm/lib/ProfileData/GCOV.cpp
-
void checkWFRetconPrototype (const AnyCoroIdRetconInst * I, Value * V)Check that the given value is a well-formed prototype for the
llvm.coro.id.retcon.* intrinsics.
Defined at line 569 of file llvm/lib/Transforms/Coroutines/Coroutines.cpp
-
void checkAndStripPrefixes (xmlNodePtr Node, std::vector<xmlNsPtr> & RequiredPrefixes)The merging process may create too many prefix defined namespaces. This
function removes all unnecessary ones from the tree.
Defined at line 569 of file llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
-
void replaceSwiftErrorOps (Function & F, coro::Shape & Shape, int * VMap)Defined at line 569 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
bool unswitchTrivialBranch (Loop & L, BranchInst & BI, DominatorTree & DT, LoopInfo & LI, ScalarEvolution * SE, MemorySSAUpdater * MSSAU)Unswitch a trivial branch if the condition is loop invariant.
This routine should only be called when loop code leading to the branch has
been validated as trivial (no side effects). This routine checks if the
condition is invariant and one of the successors is a loop exit. This
allows us to unswitch without duplicating the loop, making it trivial.
If this routine fails to unswitch the branch it returns false.
If the branch can be unswitched, this routine splits the preheader and
hoists the branch above that split. Preserves loop simplified form
(splitting the exit block as necessary). It simplifies the branch within
the loop to an unconditional branch but doesn't remove it entirely. Further
cleanup can be done with some simplifycfg like pass.
If `SE` is not null, it will be updated based on the potential loop SCEVs
invalidated by this.
Defined at line 569 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
GenericValue executeFCMP_ULT (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 570 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
int getStartOrEndSlot (const MachineInstr & MI)Defined at line 570 of file llvm/lib/CodeGen/StackColoring.cpp
-
void getGapMask (const Constant & MaskConst, unsigned int Factor, unsigned int LeafMaskLen, APInt & GapMask)A wide mask
<
1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0> could be used to skip the
last field in a factor-of-three interleaved store or deinterleaved load (in
which case LeafMaskLen is 4). Such (wide) mask is also known as gap mask.
This helper function tries to detect this pattern and return the actual
factor we're accessing, which is 2 in this example.
Defined at line 570 of file llvm/lib/CodeGen/InterleavedAccessPass.cpp
-
void printFrameIndex (raw_ostream & OS, int FrameIndex, bool IsFixed, const MachineFrameInfo * MFI)Defined at line 571 of file llvm/lib/CodeGen/MachineOperand.cpp
-
ConstantRange getPreferredRange (const ConstantRange & CR1, const ConstantRange & CR2, PreferredRangeType Type)Defined at line 571 of file llvm/lib/IR/ConstantRange.cpp
-
MachineInstr * foldPatchpoint (MachineFunction & MF, MachineInstr & MI, ArrayRef<unsigned int> Ops, int FrameIndex, const TargetInstrInfo & TII)Defined at line 571 of file llvm/lib/CodeGen/TargetInstrInfo.cpp
-
const SCEV * NoopOrExtend (const SCEV * S, Type * Ty, ScalarEvolution & SE, bool Signed)If the type of
matches with
return
Otherwise, return
signed or unsigned extension of
to type
Defined at line 572 of file llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
-
void simplifyLiveInsWithSCEV (VPlan & Plan, PredicatedScalarEvolution & PSE)Check
live-in and replace them with constants, if they can be
simplified via SCEV.
Defined at line 572 of file llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
-
bool isNopCopy (const MachineInstr & PreviousCopy, MCRegister Src, MCRegister Def, const TargetRegisterInfo * TRI, const TargetInstrInfo * TII, bool UseCopyInstr)Return true if
did copy register
to register
This fact may have been obscured by sub register usage or may not be true at
all even though Src and Def are subregisters of the registers used in
PreviousCopy. e.g.
isNopCopy("ecx = COPY eax", AX, CX) == true
isNopCopy("ecx = COPY eax", AH, CL) == false
Defined at line 572 of file llvm/lib/CodeGen/MachineCopyPropagation.cpp
-
SourceLanguage MapDWARFLanguageToCVLang (SourceLanguageName DWLName)Defined at line 572 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
bool hasSameValue (const MachineRegisterInfo & MRI, const TargetInstrInfo * TII, Register TReg, Register FReg)Returns
true iff the two registers are known to have the same value.
Defined at line 572 of file llvm/lib/CodeGen/EarlyIfConversion.cpp
-
LLVMErrorRef LLVMOrcMaterializationResponsibilityDelegate (LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcSymbolStringPoolEntryRef * Symbols, size_t NumSymbols, LLVMOrcMaterializationResponsibilityRef * Result)Delegates responsibility for the given symbols to the returned
materialization responsibility. Useful for breaking up work between
threads, or different kinds of materialization processes.
The caller retains responsibility of the the passed
MaterializationResponsibility.
Defined at line 574 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMBool LLVMGetInlineAsmCanUnwind (LLVMValueRef InlineAsmVal)Get if the inline asm snippet may unwind the stack
Defined at line 573 of file llvm/lib/IR/Core.cpp
-
bool isNoReturnDef (const MachineOperand & MO)Defined at line 574 of file llvm/lib/CodeGen/MachineRegisterInfo.cpp
-
void MainLoop ()top ::= definition | external | expression | ';'
Defined at line 574 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
void TestFileWriterHelper (endianness ByteOrder)Defined at line 574 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
bool isFullDominator (const BasicBlock * BB, const DominatorTree & DT)True if block has successors and it dominates all of them.
Defined at line 576 of file llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
-
bool isACalleeSavedRegister (MCRegister Reg, const TargetRegisterInfo & TRI, const MachineFunction & MF)Defined at line 577 of file llvm/lib/CodeGen/RegAllocPBQP.cpp
-
int CompareValueComplexity (const LoopInfo *const LI, Value * LV, Value * RV, unsigned int Depth)Compare the two values
and
in terms of their "complexity" where
"complexity" is a partial (and somewhat ad-hoc) relation used to order
operands in SCEV expressions.
Defined at line 577 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
BitSetInfo buildBitSet (ArrayRef Offsets)Build a bit set for list of offsets.
Defined at line 578 of file llvm/lib/Transforms/IPO/LowerTypeTests.cpp
-
const MCSymbolELF * getLinkedToSymbol (const GlobalObject * GO, const TargetMachine & TM)Defined at line 578 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
Intrinsic::ID getForIntrinsic (Intrinsic::ID Id)Defined at line 578 of file llvm/lib/IR/IntrinsicInst.cpp
-
bool extractBranchProbabilities (Instruction * I, BranchProbability & TrueProb, BranchProbability & FalseProb)Constructs the true and false branch probabilities if the the instruction has
valid branch weights. Returns true when this was successful, false otherwise.
Defined at line 578 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
Cursor maybeLexHexadecimalLiteral (Cursor C, MIToken & Token)Defined at line 578 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void doExtract (StringRef Name, const object::Archive::Child & C)Implement the 'x' operation. This function extracts files back to the file
system.
Defined at line 578 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
optional getTypeSizeImpl (DWARFDie Die, uint64_t PointerSize, SmallPtrSetImpl<const DWARFDebugInfoEntry *> & Visited)Defined at line 578 of file llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
-
LLVMContextRef LLVMGetModuleContext (LLVMModuleRef M)Obtain the context to which this module is associated.
Defined at line 579 of file llvm/lib/IR/Core.cpp
-
GenericValue executeFCMP_UGT (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 579 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
basic_string getThinLTOOutputFile (StringRef Path, StringRef OldPrefix, StringRef NewPrefix)Given the original
to an output file, replace any path
prefix matching
with
Also, create the
resulting directory if it does not yet exist.
Defined at line 579 of file llvm/tools/llvm-lto/llvm-lto.cpp
-
Error loadNewSectionData (StringRef ArgValue, StringRef OptionName, SmallVector<NewSectionInfo, 0> & NewSections)Parse input option
and load section data. This function
extracts section name and name of the file keeping section data from
ArgValue, loads data from the file, and stores section name and data
into the vector of new sections
Defined at line 579 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
void encodeUTF8 (uint32_t UnicodeScalarValue, SmallVectorImpl<char> & Result)encodeUTF8 - Encode
in UTF-8 and append it to result.
Defined at line 579 of file llvm/lib/Support/YAMLParser.cpp
-
bool lookup (ObjectFile & Obj, DWARFContext & DICtx, uint64_t Address, raw_ostream & OS)Handle the --lookup option and dump the DIEs and line info for the given
address.
TODO: specified Address for --lookup option could relate for several
different sections(in case not-linked object file). llvm-dwarfdump
need to do something with this: extend lookup option with section
information or probably display all matched entries, or something else...
Defined at line 579 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
void adjustArgAttributes (AnyMemIntrinsic * Intrinsic, unsigned int ArgNo, uint64_t PtrOffset)Update the attributes given that a memory access is updated (the
dereferenced pointer could be moved forward when shortening a
mem intrinsic).
Defined at line 579 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
bool isFrameStoreOpcode (int Opcode, TypeSize & MemBytes)Defined at line 579 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool isTopLevelPadForMSVC (const Instruction * EHPad)Defined at line 580 of file llvm/lib/CodeGen/WinEHPrepare.cpp
-
uint32_t getMemberAlignment (SymbolicFile * SymObj)AIX big archives may contain shared object members. The AIX OS requires these
members to be aligned if they are 64-bit and recommends it for 32-bit
members. This ensures that when these members are loaded they are aligned in
memory.
Defined at line 580 of file llvm/lib/Object/ArchiveWriter.cpp
-
optional calculateSubRanges (ScalarEvolution & SE, const Loop & L, InductiveRangeCheck::Range & Range, const LoopStructure & MainLoopStructure)Compute a safe set of limits for the main loop to run in -- effectively the
intersection of `Range' and the iteration space of the original loop.
Return std::nullopt if unable to compute the set of subranges.
Defined at line 580 of file llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
-
bool checkEFLAGSLive (MachineInstr * MI)Defined at line 581 of file llvm/lib/Target/X86/X86CmovConversion.cpp
-
Value * getAvailableLoadStore (Instruction * Inst, const Value * Ptr, Type * AccessTy, bool AtLeastAtomic, const DataLayout & DL, bool * IsLoadCSE)Defined at line 581 of file llvm/lib/Analysis/Loads.cpp
-
vector getStandardOpcodeLengths (uint16_t Version, optional OpcodeBase)Defined at line 582 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
Value * translateExtract (ExtractElementInst * ExtElt, unsigned int NewIndex, IRBuilderBase & Builder)Given an extract element instruction with constant index operand, shuffle
the source vector (shift the scalar element) to a NewIndex for extraction.
Return null if the input can be constant folded, so that we are not creating
unnecessary instructions.
Defined at line 582 of file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
-
Error createStaticLibrary (LLVMContext & LLVMCtx, const Config & C)Defined at line 582 of file llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
-
void emitRegisterNameString (raw_ostream & O, StringRef AltName, const int & Registers)Defined at line 582 of file llvm/utils/TableGen/AsmWriterEmitter.cpp
-
void dumpMachOUniversalBinary (const MachOUniversalBinary * UBinary, ScopedPrinter & Writer)Dumps each object file in
Universal Binary;
Defined at line 583 of file llvm/tools/llvm-readobj/llvm-readobj.cpp
-
bool functionHasLines (const Function & F, unsigned int & EndLine)Defined at line 583 of file llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
-
ArchType parseArch (StringRef ArchName)Defined at line 583 of file llvm/lib/TargetParser/Triple.cpp
-
bool isCommutative (Instruction * I)This is a helper function to check whether
is commutative.
This is a convenience wrapper that calls the two-parameter version of
isCommutative with the same instruction for both parameters. This is
the common case where the instruction being checked for commutativity
is the same as the instruction whose uses are analyzed for special
patterns (see the two-parameter version above for details).
Parameters
I The instruction to check for commutativityDefined at line 584 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void initializeLowerSwitchLegacyPassPassOnce (PassRegistry & Registry)Defined at line 584 of file llvm/lib/Transforms/Utils/LowerSwitch.cpp
-
const char * getDarwinStabString (uint8_t NType)Defined at line 584 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
void writeJSON (StringRef OrigDIVerifyBugsReportFilePath, StringRef FileNameFromCU, StringRef NameOfWrappedPass, llvm::json::Array & Bugs)Write the json data into the specifed file.
Defined at line 584 of file llvm/lib/Transforms/Utils/Debugify.cpp
-
const char * getLTOPhase (ThinOrFullLTOPhase LTOPhase)Defined at line 585 of file llvm/lib/Analysis/InlineAdvisor.cpp
-
bool isSupportedAtomicType (Type * Ty)Are we allowed to form a atomic load or store of this type?
Defined at line 586 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
bool isFullPostDominator (const BasicBlock * BB, const PostDominatorTree & PDT)True if block has predecessors and it postdominates all of them.
Defined at line 586 of file llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
-
Value * createMaskedBitTest (IRBuilder<> & B, Value * Bits, Value * BitOffset)Build a test that bit BitOffset mod sizeof(Bits)*8 is set in
Bits. This pattern matches to the bt instruction on x86.
Defined at line 586 of file llvm/lib/Transforms/IPO/LowerTypeTests.cpp
-
void dropDeadSymbols (Module & Mod, const GVSummaryMapTy & DefinedGlobals, const ModuleSummaryIndex & Index)Defined at line 586 of file llvm/lib/LTO/LTOBackend.cpp
-
bool hasConditionalTerminator (const VPBasicBlock * VPBB)Defined at line 586 of file llvm/lib/Transforms/Vectorize/VPlan.cpp
-
void initializeMIR2VecVocabPrinterLegacyPassPassOnce (PassRegistry & Registry)Defined at line 588 of file llvm/lib/CodeGen/MIR2Vec.cpp
-
template <typename nlist_t>NListEntry constructNameList (const nlist_t & nlist)Defined at line 588 of file llvm/tools/obj2yaml/macho2yaml.cpp
-
template <typename MaxMinT>SCEVTypes convertToSCEVype (MaxMinT & MM)Defined at line 588 of file llvm/lib/Transforms/Scalar/NaryReassociate.cpp
-
ValueLatticeElement getFromRangeMetadata (Instruction * BBI)Defined at line 588 of file llvm/lib/Analysis/LazyValueInfo.cpp
-
GenericValue executeFCMP_ORD (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 588 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
bool canEvaluateShifted (Value * V, unsigned int NumBits, bool IsLeftShift, InstCombinerImpl & IC, Instruction * CxtI)See if we can compute the specified value, but shifted logically to the left
or right by some number of bits. This should return true if the expression
can be computed for the same cost as the current expression tree. This is
used to eliminate extraneous shifting from things like:
%C = shl i128 %A, 64
%D = shl i128 %B, 96
%E = or i128 %C, %D
%F = lshr i128 %E, 64
where the client will ask if E can be computed shifted right by 64-bits. If
this succeeds, getShiftedValue() will be called to produce the value.
Defined at line 588 of file llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
-
unsigned int getNumberOfPotentiallyCommutativeOps (Instruction * I)Parameters
I The instruction to check for commutativityDefined at line 589 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
unsigned int getEntrySizeForKind (SectionKind Kind)Defined at line 590 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
Option * LookupNearestOption (StringRef Arg, const StringMap<Option *> & OptionsMap, std::string & NearestString)LookupNearestOption - Lookup the closest match to the option specified by
the specified option on the command line. If there is a value specified
(after an equal sign) return that as well. This assumes that leading dashes
have already been stripped.
Defined at line 590 of file llvm/lib/Support/CommandLine.cpp
-
void LLVMOrcMaterializationResponsibilityFailMaterialization (LLVMOrcMaterializationResponsibilityRef MR)Notify all not-yet-emitted covered by this MaterializationResponsibility
instance that an error has occurred.
This will remove all symbols covered by this MaterializationResponsibility
from the target JITDylib, and send an error to any queries waiting on
these symbols.
Defined at line 591 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMGetTypeKind (LLVMTypeRef Ty)Obtain the enumerated type of a Type instance.
Defined at line 588 of file llvm/lib/IR/Core.cpp
-
Value * CreateTripRemainder (IRBuilder<> & B, Value * BECount, Value * TripCount, unsigned int Count)Calculate ModVal = (BECount + 1) % Count on the abstract integer domain
accounting for the possibility of unsigned overflow in the 2s complement
domain. Preconditions:
1) TripCount = BECount + 1 (allowing overflow)
2) Log2(Count)
<
= BitWidth(BECount)
Defined at line 589 of file llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
-
Value * foldSelectICmpMinMax (const ICmpInst * Cmp, Value * TVal, Value * FVal, InstCombiner::BuilderTy & Builder, const SimplifyQuery & SQ)Try to fold a select to a min/max intrinsic. Many cases are already handled
by matchDecomposedSelectPattern but here we handle the cases where more
extensive modification of the IR is required.
Defined at line 589 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
void initializeGlobalMergeFuncPassWrapperPassOnce (PassRegistry & Registry)Defined at line 590 of file llvm/lib/CodeGen/GlobalMergeFunctions.cpp
-
bool hasField (TBAAStructTypeNode BaseType, TBAAStructTypeNode FieldType)Defined at line 590 of file llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
-
void initializeHardwareLoopsLegacyPassOnce (PassRegistry & Registry)Defined at line 591 of file llvm/lib/CodeGen/HardwareLoops.cpp
-
void emitDxilOperation (const RecordKeeper & Records, raw_ostream & OS)Entry function call that invokes the functionality of this TableGen backend
Parameters
Records TableGen records of DXIL Operations defined in DXIL.tdOS output streamDefined at line 591 of file llvm/utils/TableGen/DXILEmitter.cpp
-
void thinlto_codegen_dispose (thinlto_code_gen_t cg)Frees the generator and all memory it internally allocated.
Upon return the thinlto_code_gen_t is no longer valid.
Defined at line 592 of file llvm/tools/lto/lto.cpp
-
void emitLeafTable (const DirectiveLanguage & DirLang, raw_ostream & OS, StringRef TableName)Defined at line 592 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
void printBitVectorAsHex (raw_ostream & OS, const BitVector & Bits, unsigned int Width)Print a BitVector as a sequence of hex numbers using a little-endian mapping.
Width is the number of bits per hex number.
Defined at line 593 of file llvm/utils/TableGen/RegisterInfoEmitter.cpp
-
void darwinPrintStab (MachOObjectFile * MachO, const NMSymbol & S)darwinPrintStab() prints the n_sect, n_desc along with a symbolic name of
a stab n_type value in a Mach-O file.
Defined at line 593 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
bool processMinMaxIntrinsic (MinMaxIntrinsic * MM, LazyValueInfo * LVI)See if this min/max intrinsic always picks it's one specific operand.
If not, check whether we can canonicalize signed minmax into unsigned version
Defined at line 593 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void thinlto_codegen_add_module (thinlto_code_gen_t cg, const char * identifier, const char * data, int length)Add a module to a ThinLTO code generator. Identifier has to be unique among
all the modules in a code generator. The data buffer stays owned by the
client, and is expected to be available for the entire lifetime of the
thinlto_code_gen_t it is added to.
On failure, returns NULL (check lto_get_error_message() for details).
Defined at line 594 of file llvm/tools/lto/lto.cpp
-
void replaceDbgUsesOutsideBlock (Value * V, Value * New, BasicBlock * BB)Replace debug record uses of MetadataAsValue(ValueAsMetadata(V)) outside BB
with New.
Defined at line 594 of file llvm/lib/IR/Value.cpp
-
Value * simplifyAddInst (Value * Op0, Value * Op1, bool IsNSW, bool IsNUW, const SimplifyQuery & Q, unsigned int MaxRecurse)Given operands for an Add, see if we can fold the result.
If not, this returns null.
Defined at line 594 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool IsARMArchitecture (vector Args)===---------------------------------------------------------------------===//
CC abstraction
Defined at line 595 of file llvm/tools/bugpoint/ToolRunner.cpp
-
void writeSymbolTable (raw_ostream & Out, Kind Kind, bool Deterministic, ArrayRef Members, StringRef StringTable, uint64_t MembersOffset, unsigned int NumSyms, uint64_t PrevMemberOffset, uint64_t NextMemberOffset, bool Is64Bit)Defined at line 595 of file llvm/lib/Object/ArchiveWriter.cpp
-
bool shouldInstrumentBlock (const Function & F, const BasicBlock * BB, const DominatorTree & DT, const PostDominatorTree & PDT, const SanitizerCoverageOptions & Options)Defined at line 596 of file llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
-
const DIExpression * combineDIExpressions (const DIExpression * Original, const DIExpression * Addition)Append the expression
to
and return the result.
Defined at line 597 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
void dumpCOFFObject (COFFObjectFile * Obj, ScopedPrinter & Writer)Dumps
file;
Defined at line 597 of file llvm/tools/llvm-readobj/llvm-readobj.cpp
-
template <typename T>void writeLoadConfig (T & S, raw_ostream & OS)Defined at line 598 of file llvm/lib/ObjectYAML/COFFEmitter.cpp
-
void PrintIndirectSymbolTable (MachOObjectFile * O, bool verbose, uint32_t n, uint32_t count, uint32_t stride, uint64_t addr)Defined at line 598 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void thinlto_codegen_process (thinlto_code_gen_t cg)Optimize and codegen all the modules added to the codegenerator using
ThinLTO. Resulting objects are accessible using thinlto_module_get_object().
Defined at line 599 of file llvm/tools/lto/lto.cpp
-
void LLVMOrcIRTransformLayerEmit (LLVMOrcIRTransformLayerRef IRTransformLayer, LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcThreadSafeModuleRef TSM)Defined at line 596 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
BranchProbability getCHRBiasThreshold ()Defined at line 599 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
const char * getInlineAdvisorContext (InlinePass IP)Defined at line 599 of file llvm/lib/Analysis/InlineAdvisor.cpp
-
int getSuccState (DenseMap<BasicBlock *, int> & InitialStates, Function & F, int ParentBaseState, BasicBlock * BB)Calculate the intersection of all the InitialStates for a BasicBlock's
successors.
Defined at line 599 of file llvm/lib/Target/X86/X86WinEHState.cpp
-
void AlignToInstStartColumn (size_t Start, const MCSubtargetInfo & STI, raw_ostream & OS)Defined at line 600 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
Cursor maybeLexNumericalLiteral (Cursor C, MIToken & Token)Defined at line 600 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
template <typename T>optional getInsertExtractIndex (const Value * Inst, unsigned int Offset)Defined at line 600 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
int main ()===----------------------------------------------------------------------===//
Main driver code.
===----------------------------------------------------------------------===//
Defined at line 600 of file llvm/examples/Kaleidoscope/Chapter3/toy.cpp
-
VPHeaderPHIRecipe * createWidenInductionRecipe (PHINode * Phi, VPPhi * PhiR, VPValue * Start, const InductionDescriptor & IndDesc, VPlan & Plan, PredicatedScalarEvolution & PSE, Loop & OrigLoop, DebugLoc DL)Creates a VPWidenIntOrFpInductionRecipe or VPWidenPointerInductionRecipe
for
based on
Defined at line 600 of file llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
-
int llvm_gsymutil_main (int argc, char ** argv, const llvm::ToolContext & )Defined at line 600 of file llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
-
void Destroy (void * Ctx)Defined at line 601 of file llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
-
unsigned int thinlto_module_get_num_objects (thinlto_code_gen_t cg)Returns the number of object files produced by the ThinLTO CodeGenerator.
It usually matches the number of input files, but this is not a guarantee of
the API and may change in future implementation, so the client should not
assume it.
Defined at line 601 of file llvm/tools/lto/lto.cpp
-
Expected<int64_t> parseChangeSectionLMA (StringRef ArgValue, StringRef OptionName)Defined at line 601 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
Error checkLinkeditDataCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex, const char ** LoadCmd, const char * CmdName, std::list<MachOElement> & Elements, const char * ElementName)Defined at line 601 of file llvm/lib/Object/MachOObjectFile.cpp
-
Instruction * transformToIndexedCompare (GEPOperator * GEPLHS, Value * RHS, CmpPredicate Cond, const DataLayout & DL, InstCombiner & IC)Converts (CMP GEPLHS, RHS) if this change would make RHS a constant.
We can look through PHIs, GEPs and casts in order to determine a common base
between GEPLHS and RHS.
Defined at line 601 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
DIType * solveDIType (DIBuilder & Builder, Type * Ty, const DataLayout & Layout, DIScope * Scope, unsigned int LineNum, DenseMap<Type *, DIType *> & DITypeCache)Defined at line 601 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
void initializeMachineOutlinerPassOnce (PassRegistry & Registry)Defined at line 602 of file llvm/lib/CodeGen/MachineOutliner.cpp
-
void TargetFn ()Defined at line 603 of file llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
-
bool isUsingScopeBasedEH (Function & F)Defined at line 603 of file llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
-
void group2Shuffle (MVT VT, SmallVectorImpl<int> & Mask, SmallVectorImpl<int> & Output)group2Shuffle reorder the shuffle stride back into continuous order.
For example For VF16 with Mask1 = {0,3,6,9,12,15,2,5,8,11,14,1,4,7,10,13} =>
MaskResult = {0,11,6,1,12,7,2,13,8,3,14,9,4,15,10,5}.
Defined at line 603 of file llvm/lib/Target/X86/X86InterleavedAccess.cpp
-
optional getFreezeInsertPt (Value * V, const DominatorTree & DT)Return Instruction before which we can insert freeze for the value V as close
to def as possible. If there is no place to add freeze, return empty.
Defined at line 603 of file llvm/lib/Transforms/Scalar/GuardWidening.cpp
-
bool checkNumberingAndReplace (DenseMap<unsigned int, DenseSet<unsigned int>> & CurrentSrcTgtNumberMapping, unsigned int SourceArgVal, unsigned int TargetArgVal)Determine if operand number
is in the current mapping set
for operand number
Parameters
CurrentSrcTgtNumberMapping [in,out] current mapping of global value numbers from source IRSimilarityCandidate to target IRSimilarityCandidate.SourceArgVal [in] The global value number for an operand in the in the original candidate.TargetArgVal [in] The global value number for the corresponding operand in the other candidate.Defined at line 603 of file llvm/lib/Analysis/IRSimilarityIdentifier.cpp
-
void scalarizeMaskedScatter (const DataLayout & DL, bool HasBranchDivergence, CallInst * CI, DomTreeUpdater * DTU, bool & ModifiedDT)Translate a masked scatter intrinsic, like
void
.masked.scatter.v16i32(
<
16 x i32> %Src,
<
16 x i32*>* %Ptrs, i32 4,
<
16 x i1> %Mask)
to a chain of basic blocks, that stores element one-by-one if
the appropriate mask bit is set.
%Ptrs = getelementptr i32, i32* %ptr,
<
16 x i64> %ind
%Mask0 = extractelement
<
16 x i1> %Mask, i32 0
br i1 %Mask0, label %cond.store, label %else
cond.store:
%Elt0 = extractelement
<
16 x i32> %Src, i32 0
%Ptr0 = extractelement
<
16 x i32*> %Ptrs, i32 0
store i32 %Elt0, i32* %Ptr0, align 4
br label %else
else:
%Mask1 = extractelement
<
16 x i1> %Mask, i32 1
br i1 %Mask1, label %cond.store1, label %else2
cond.store1:
%Elt1 = extractelement
<
16 x i32> %Src, i32 1
%Ptr1 = extractelement
<
16 x i32*> %Ptrs, i32 1
store i32 %Elt1, i32* %Ptr1, align 4
br label %else2
. . .
Defined at line 603 of file llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
-
thinlto_module_get_object (thinlto_code_gen_t cg, unsigned int index)Returns a reference to the ith object file produced by the ThinLTO
CodeGenerator.
Client should use
to get the number of
available objects.
Defined at line 604 of file llvm/tools/lto/lto.cpp
-
KnownBits computeForSatAddSub (bool Add, bool Signed, const KnownBits & LHS, const KnownBits & RHS)Defined at line 604 of file llvm/lib/Support/KnownBits.cpp
-
LLVMOrcJITDylibRef LLVMOrcExecutionSessionCreateBareJITDylib (LLVMOrcExecutionSessionRef ES, const char * Name)Create a "bare" JITDylib.
The client is responsible for ensuring that the JITDylib's name is unique,
e.g. by calling LLVMOrcExecutionSessionGetJTIDylibByName first.
This call does not install any library code or symbols into the newly
created JITDylib. The client is responsible for all configuration.
Defined at line 605 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
SourceLanguage MapDWARFLanguageToCVLang (SourceLanguage DWLang)Defined at line 605 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
void checkWFAlloc (const Instruction * I, Value * V)Check that the given value is a well-formed allocator.
Defined at line 605 of file llvm/lib/Transforms/Coroutines/Coroutines.cpp
-
bool X86SelectAddress (MachineInstr & I, const X86TargetMachine & TM, const MachineRegisterInfo & MRI, const X86Subtarget & STI, X86AddressMode & AM)Fill in an address from the given instruction.
Defined at line 605 of file llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
-
void Materialize (void * Ctx, LLVMOrcMaterializationResponsibilityRef MR)Defined at line 605 of file llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
-
bool hasSameBaseOpValue (MachineInstr * LoadInst, MachineInstr * StoreInst)Defined at line 606 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
bool mayBeAccessToSubobjectOf (TBAAStructTagNodeImpl BaseTag, TBAAStructTagNodeImpl SubobjectTag, const MDNode * CommonType, const MDNode ** GenericTag, bool & MayAlias)Return true if for two given accesses, one of the accessed objects may be a
subobject of the other. The
and
parameters
describe the accesses to the base object and the subobject respectively.
must be the metadata node describing the common type of the
accessed objects. On return,
is set to true iff these accesses
may alias and
if not null, points to the most generic access
tag for the given two.
Defined at line 607 of file llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
-
Value * convertToShadowDataInt (int & IRB, Value * Ptr, Type * IntptrTy, uint64_t PtrShift, Value * ShadowBase, Value * AppMemMask)Defined at line 608 of file llvm/lib/Transforms/Instrumentation/TypeSanitizer.cpp
-
bool isEphemeralValueOf (const Instruction * I, const Value * E)Defined at line 608 of file llvm/lib/Analysis/ValueTracking.cpp
-
template <typename K, typename S, typename M>bool checkBias (K * Key, BranchProbability TrueProb, BranchProbability FalseProb, S & TrueSet, S & FalseSet, M & BiasMap)A helper for CheckBiasedBranch and CheckBiasedSelect. If TrueProb >=
CHRBiasThreshold, put Key into TrueSet and return true. If FalseProb >=
CHRBiasThreshold, put Key into FalseSet and return true. Otherwise, return
false.
Defined at line 609 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
void packCmovGroup (MachineInstr * First, MachineInstr * Last)Given /p First CMOV instruction and /p Last CMOV instruction representing a
group of CMOV instructions, which may contain debug instructions in between,
move all debug instructions to after the last CMOV instruction, making the
CMOV group consecutive.
Defined at line 610 of file llvm/lib/Target/X86/X86CmovConversion.cpp
-
bool collectLineTableSources (const DWARFDebugLine::LineTable & LT, StringRef CompDir, std::vector<std::string> & Sources)Collect all sources referenced from the given line table, scoped to the given
CU compilation directory.
Defined at line 610 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
void createUniversalBinary (LLVMContext & LLVMCtx, ArrayRef<OwningBinary<Binary>> InputBinaries, const int & Alignments, StringRef OutputFileName, FatHeaderType HeaderType)Defined at line 610 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
Expected DebugAMiscompilation (BugDriver & BD, Expected<bool> (*)(BugDriver &, std::unique_ptr<Module>, std::unique_ptr<Module>) TestFn)This is a generic driver to narrow down miscompilations, either in an
optimization or a code generator.
Defined at line 610 of file llvm/tools/bugpoint/Miscompilation.cpp
-
int dsymutil_main (int argc, char ** argv, const llvm::ToolContext & )Defined at line 610 of file llvm/tools/dsymutil/dsymutil.cpp
-
template <typename ValT>void finishCallSiteParams (ValT Val, const DIExpression * Expr, ArrayRef<FwdRegParamInfo> DescribedParams, ParamSet & Params)Emit call site parameter entries that are described by the given value and
debug expression.
Defined at line 611 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
Value * simplifyX86movmsk (const IntrinsicInst & II, InstCombiner::BuilderTy & Builder)Defined at line 611 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
basic_string getOptionHelpName (const OptTable & Opts, OptSpecifier Id)Defined at line 611 of file llvm/lib/Option/OptTable.cpp
-
unsigned int thinlto_module_get_num_object_files (thinlto_code_gen_t cg)Returns the number of object files produced by the ThinLTO CodeGenerator.
It usually matches the number of input files, but this is not a guarantee of
the API and may change in future implementation, so the client should not
assume it.
Defined at line 612 of file llvm/tools/lto/lto.cpp
-
LLVMErrorRef LLVMOrcExecutionSessionCreateJITDylib (LLVMOrcExecutionSessionRef ES, LLVMOrcJITDylibRef * Result, const char * Name)Create a JITDylib.
The client is responsible for ensuring that the JITDylib's name is unique,
e.g. by calling LLVMOrcExecutionSessionGetJTIDylibByName first.
If a Platform is attached to the ExecutionSession then
Platform::setupJITDylib will be called to install standard platform symbols
(e.g. standard library interposes). If no Platform is installed then this
call is equivalent to LLVMExecutionSessionRefCreateBareJITDylib and will
always return success.
Defined at line 611 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool getPDataSection (const COFFObjectFile * Obj, std::vector<RelocationRef> & Rels, const RuntimeFunction *& RFStart, int & NumRFs)Given the COFF object file, this function returns the relocations for .pdata
and the pointer to "runtime function" structs.
Defined at line 612 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
bool canFitInBitfield (int64_t Value, unsigned int NumBits)Defined at line 613 of file llvm/lib/TableGen/Record.cpp
-
void dumpWindowsResourceFile (WindowsResource * WinRes, ScopedPrinter & Printer)Dumps
Windows Resource (.res) file;
Defined at line 613 of file llvm/tools/llvm-readobj/llvm-readobj.cpp
-
int readDisplacement (struct InternalInstruction * insn)Defined at line 613 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
bool isAssumedReadOnlyOrReadNone (Attributor & A, const IRPosition & IRP, const AbstractAttribute & QueryingAA, bool RequireReadNone, bool & IsKnown)Defined at line 613 of file llvm/lib/Transforms/IPO/Attributor.cpp
-
bool tryToShorten (Instruction * DeadI, int64_t & DeadStart, uint64_t & DeadSize, int64_t KillingStart, uint64_t KillingSize, bool IsOverwriteEnd)Defined at line 613 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
void readMemprof (Module & M, Function & F, IndexedInstrProfReader * MemProfReader, const TargetLibraryInfo & TLI, int & FullStackIdToAllocMatchInfo, int & MatchedCallSites, int & UndriftMaps, OptimizationRemarkEmitter & ORE, uint64_t MaxColdSize)Defined at line 613 of file llvm/lib/Transforms/Instrumentation/MemProfUse.cpp
-
void printHexDigits (raw_ostream & OS, ArrayRef Bytes, size_t StartBit, size_t NumBits)Helper function that prints hexdigit and have a sub-byte starting position.
Defined at line 614 of file llvm/lib/CAS/OnDiskTrieRawHashMap.cpp
-
TokenKind getMetadataKeywordKind (StringRef Identifier)Defined at line 614 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
CondCode getSetCCInverseImpl (CondCode Op, bool isIntegerLike)Defined at line 614 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
bool containsAddRecDependentOnLoop (const SCEV * S, const Loop & L)Defined at line 615 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
const char * thinlto_module_get_object_file (thinlto_code_gen_t cg, unsigned int index)Returns the path to the ith object file produced by the ThinLTO
CodeGenerator.
Client should use
to get the number
of available objects.
Defined at line 615 of file llvm/tools/lto/lto.cpp
-
StoreInst * combineStoreToNewValue (InstCombinerImpl & IC, StoreInst & SI, Value * V)Combine a store to a new type.
Returns the newly created store instruction.
Defined at line 615 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
void removeSSACopy (Function & F)The SCCP solver inserts bitcasts for PredicateInfo. These interfere with the
promoteConstantStackValues() optimization.
Defined at line 616 of file llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
-
StringRef getSectionPrefixForGlobal (SectionKind Kind, bool IsLarge)Return the section prefix name used by options FunctionsSections and
DataSections.
Defined at line 616 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
std::optional<SmallVector<uint32_t, 2>> computeMergedBranchWeights (ArrayRef<BCECmpBlock> Comparisons)Determine the branch weights for the resulting conditional branch, resulting
after merging
Defined at line 616 of file llvm/lib/Transforms/Scalar/MergeICmps.cpp
-
bool isBlockingStore (int64_t LoadDispImm, unsigned int LoadSize, int64_t StoreDispImm, unsigned int StoreSize)Defined at line 617 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
void removeRedundantInductionCasts (VPlan & Plan)Remove redundant casts of inductions.
Such redundant casts are casts of induction variables that can be ignored,
because we already proved that the casted phi is equal to the uncasted phi
in the vectorized loop. There is no need to vectorize the cast - the same
value can be used for both the phi and casts in the vector loop.
Defined at line 617 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void initializeStraightLineStrengthReduceLegacyPassPassOnce (PassRegistry & Registry)Defined at line 618 of file llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
-
Printable PrintNodeId (const SDNode & Node)Defined at line 618 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
-
bool ConstHasGlobalValuePredicate (const Constant * C, bool (*)(const GlobalValue *) Predicate)Check if C contains a GlobalValue for which Predicate is true.
Defined at line 618 of file llvm/lib/IR/Constants.cpp
-
bool symbolIsDefined (const NMSymbol & Sym)Defined at line 619 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
void printSimpleValueType (raw_ostream & OS, MVT VT)Defined at line 619 of file llvm/utils/TableGen/RegisterInfoEmitter.cpp
-
GenericValue executeFCMP_UNO (GenericValue Src1, GenericValue Src2, Type * Ty)Defined at line 619 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
void initializeX86DAGToDAGISelLegacyPassOnce (PassRegistry & Registry)Defined at line 620 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
DISubprogram * getSubprogramOrNull (OutlinableGroup & Group)Get the subprogram if it exists for one of the outlined regions.
Parameters
Group [in] - The set of regions to find a subprogram for.Defined at line 620 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
void checkWFDealloc (const Instruction * I, Value * V)Check that the given value is a well-formed deallocator.
Defined at line 620 of file llvm/lib/Transforms/Coroutines/Coroutines.cpp
-
bool checkIVUsers (FlattenInfo & FI)We require all uses of both induction variables to match this pattern:
(OuterPHI * InnerTripCount) + InnerPHI
Any uses of the induction variables not matching that pattern would
require a div/mod to reconstruct in the flattened loop, so the
transformation wouldn't be profitable.
Defined at line 620 of file llvm/lib/Transforms/Scalar/LoopFlatten.cpp
-
void visitIVCast (CastInst * Cast, WideIVInfo & WI, ScalarEvolution * SE, const TargetTransformInfo * TTI)Update information about the induction variable that is extended by this
sign or zero extend operation. This is used to determine the final width of
the IV before actually widening it.
Defined at line 620 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
void HandleInlinedLandingPad (InvokeInst * II, BasicBlock * FirstNewBlock, ClonedCodeInfo & InlinedCodeInfo)If we inlined an invoke site, we need to convert calls
in the body of the inlined function into invokes.
II is the invoke instruction being inlined. FirstNewBlock is the first
block of the inlined code (the last block is the end of the function),
and InlineCodeInfo is information about the code that got inlined.
Defined at line 620 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
XXH128_hash_t XXH_mult64to128 (uint64_t lhs, uint64_t rhs)Calculates a 64->128-bit long multiply.
Uses `__uint128_t` and `_umul128` if available, otherwise uses a scalar
version.
Parameters
lhs , rhs The 64-bit integers to be multipliedReturns
The 128-bit result represented in an
Defined at line 620 of file llvm/lib/Support/xxhash.cpp
-
bool outranks (InstructionContext upper, InstructionContext lower)outranks - Indicates whether, if an instruction has two different applicable
classes, which class should be preferred when performing decode. This
imposes a total ordering (ties are resolved toward "lower")
Parameters
upper - The class that may be preferablelower - The class that may be less preferableReturns
- True if upper is to be preferred, false otherwise.
Defined at line 621 of file llvm/utils/TableGen/X86DisassemblerTables.cpp
-
void thinlto_codegen_disable_codegen (thinlto_code_gen_t cg, lto_bool_t disable)Disable CodeGen, only run the stages till codegen and stop. The output will
be bitcode.
Defined at line 622 of file llvm/tools/lto/lto.cpp
-
LLVMOrcJITDylibRef LLVMOrcExecutionSessionGetJITDylibByName (LLVMOrcExecutionSessionRef ES, const char * Name)Returns the JITDylib with the given name, or NULL if no such JITDylib
exists.
Defined at line 622 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool areAllUsesEqual (Instruction * I)areAllUsesEqual - Check whether the uses of a value are all the same.
This is similar to Instruction::hasOneUse() except this will also return
true when there are no uses or multiple uses that all refer to the same
value.
Defined at line 622 of file llvm/lib/Transforms/Utils/Local.cpp
-
unsigned int getFixupKindSize (unsigned int Kind)Defined at line 622 of file llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
-
Value * phiNodeOperandWithNewAddressSpace (AddrSpaceCastInst * NewI, Value * Operand)Inserts an addrspacecast for a phi node operand, handling the proper
insertion position based on the operand type.
Defined at line 622 of file llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
-
void dumpInput (StringRef File, ScopedPrinter & Writer)Opens
and dumps it.
Defined at line 622 of file llvm/tools/llvm-readobj/llvm-readobj.cpp
-
void printSubRegIndex (raw_ostream & OS, const CodeGenSubRegIndex * Idx)Defined at line 623 of file llvm/utils/TableGen/RegisterInfoEmitter.cpp
-
template <typename SymbolType>Expected fromCodeViewSymbolImpl (CVRecord Symbol)Defined at line 623 of file llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
-
void writeFileName (raw_ostream & S, StringRef ArchiveName, StringRef ArchitectureName)Defined at line 623 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
unsigned int classifyReductivePower (const Value * V)FIXME: ReduceOperandsSkip has similar function, except it uses larger numbers
for more reduced.
Defined at line 623 of file llvm/tools/llvm-reduce/ReducerWorkItem.cpp
-
void ARM64EmitUnwindCode (MCStreamer & streamer, const WinEH::Instruction & inst)Unwind opcode encodings and restrictions are documented at
https://docs.microsoft.com/en-us/cpp/build/arm64-exception-handling
Defined at line 623 of file llvm/lib/MC/MCWin64EH.cpp
-
void updateBlockingStoresDispSizeMap (int & BlockingStoresDispSizeMap, int64_t DispImm, unsigned int Size)Keep track of all stores blocking a load
Defined at line 624 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
const char * getVersionMinDirective (MCVersionMinType Type)Defined at line 624 of file llvm/lib/MC/MCAsmStreamer.cpp
-
bool isLegalMaskCompare (SDNode * N, const X86Subtarget * Subtarget)Returns true if this masked compare can be implemented legally with this
type.
Defined at line 624 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
Instruction * foldVecTruncToExtElt (TruncInst & Trunc, InstCombinerImpl & IC)Given a vector that is bitcast to an integer, optionally logically
right-shifted, and truncated, convert it to an extractelement.
Example (big endian):
trunc (lshr (bitcast
<
4 x i32> %X to i128), 32) to i32
--->
extractelement
<
4 x i32> %X, 1
Defined at line 624 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
int lookupLLVMIntrinsicByName (ArrayRef NameOffsetTable, StringRef Name, StringRef Target)Looks up Name in NameTable via binary search. NameTable must be sorted
and all entries must start with "llvm.". If NameTable contains an exact
match for Name or a prefix of Name followed by a dot, its index in
NameTable is returned. Otherwise, -1 is returned.
Defined at line 624 of file llvm/lib/IR/Intrinsics.cpp
-
void initializeMIR2VecPrinterLegacyPassPassOnce (PassRegistry & Registry)Defined at line 625 of file llvm/lib/CodeGen/MIR2Vec.cpp
-
void printBits (raw_ostream & OS, ArrayRef Bytes, size_t StartBit, size_t NumBits)Defined at line 625 of file llvm/lib/CAS/OnDiskTrieRawHashMap.cpp
-
void insertCSRSaves (MachineBasicBlock & SaveBlock, ArrayRef<CalleeSavedInfo> CSI)Insert spill code for the callee-saved registers used in the function.
Defined at line 625 of file llvm/lib/CodeGen/PrologEpilogInserter.cpp
-
const char * toString (TokenKind TokenKind)Defined at line 625 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
bool getLoadsAndStores (BasicBlockSet & Blocks, SmallVector<Instruction *, 4> & MemInstr)Defined at line 625 of file llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
-
optional getElementIndex (const Value * Inst, unsigned int Offset)Defined at line 625 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
int collectDbgVariableRecords (Function & F)Returns all debug records in F.
Defined at line 626 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
Cursor maybeLexExclaim (Cursor C, MIToken & Token, function_ref ErrorCallback)Defined at line 626 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void thinlto_codegen_set_codegen_only (thinlto_code_gen_t cg, lto_bool_t codegen_only)Perform CodeGen only: disable all other stages.
Defined at line 627 of file llvm/tools/lto/lto.cpp
-
StringRef getOpcodeName (uint8_t Opcode, uint8_t OpcodeBase)Defined at line 627 of file llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
-
MachineBasicBlock * findFalseBlock (MachineBasicBlock * BB, MachineBasicBlock * TrueBB)BB has a fallthrough. Find its 'false' successor given its 'true' successor.
Defined at line 627 of file llvm/lib/CodeGen/IfConversion.cpp
-
template <class ProfTy>void preorderVisitOneRoot (ProfTy & Profile, function_ref<void (ProfTy &)> Visitor)Defined at line 627 of file llvm/lib/Analysis/CtxProfAnalysis.cpp
-
bool shouldCreateArchive (ArchiveOperation Op)Defined at line 627 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
bool checkBiasedBranch (BranchInst * BI, Region * R, DenseSet<Region *> & TrueBiasedRegionsGlobal, DenseSet<Region *> & FalseBiasedRegionsGlobal, DenseMap<Region *, BranchProbability> & BranchBiasMap)Returns true and insert a region into the right biased set and the map if the
branch of the region is biased.
Defined at line 627 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
bool collectObjectSources (ObjectFile & Obj, DWARFContext & DICtx, const Twine & Filename, raw_ostream & OS)Defined at line 627 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
bool isValidNamespaceIdentifier (StringRef S)Defined at line 628 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
bool processOverflowIntrinsic (WithOverflowInst * WO, LazyValueInfo * LVI)Rewrite this with.overflow intrinsic as non-overflowing.
Defined at line 629 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
bool IsBackEdge (BasicBlock * From, BasicBlock * To, const DominatorTree & DT)Returns true iff From->To is a backedge.
A twist here is that we treat From->To as a backedge if
* To dominates From or
* To->UniqueSuccessor dominates From
Defined at line 630 of file llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
-
Value * findBaseDefiningValueCached (Value * I, int & Cache, int & KnownBases)Returns the base defining value for this value.
Defined at line 630 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void unifyBitWidth (APInt & A, APInt & B)A helper function that unifies the bitwidth of A and B.
Defined at line 631 of file llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
-
void extractSlice (LLVMContext & LLVMCtx, ArrayRef<OwningBinary<Binary>> InputBinaries, const int & Alignments, StringRef ArchType, StringRef OutputFileName)Defined at line 631 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
void parseRawArgs (int Argc, char ** Argv)Defined at line 631 of file llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
-
int checkAllExpressions (RuntimeDyldChecker & Checker)Defined at line 633 of file llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
-
bool isNonEscapingGlobalNoAliasWithLoad (const GlobalValue * GV, const Value * V, int & Depth, const DataLayout & DL)GV is a non-escaping global. V is a pointer address that has been loaded from.
If we can prove that V must escape, we can conclude that a load from V cannot
alias GV.
Defined at line 633 of file llvm/lib/Analysis/GlobalsModRef.cpp
-
Expected<SectionPatternAddressUpdate> parseChangeSectionAddr (StringRef ArgValue, StringRef OptionName, MatchStyle SectionMatchStyle, function_ref<Error (Error)> ErrorCallback)Defined at line 633 of file llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
-
template <PointerStripKind StripKind>void NoopCallback (const Value * )Defined at line 634 of file llvm/lib/IR/Value.cpp
-
void checkConstantInt (const Instruction * I, Value * V, const char * Reason)Defined at line 634 of file llvm/lib/Transforms/Coroutines/Coroutines.cpp
-
void EmitSDKVersionSuffix (raw_ostream & OS, const VersionTuple & SDKVersion)Defined at line 634 of file llvm/lib/MC/MCAsmStreamer.cpp
-
void removeRedundantBlockingStores (int & BlockingStoresDispSizeMap)Remove blocking stores contained in each other.
Defined at line 634 of file llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
-
SmallString<128> getELFSectionNameForGlobal (const GlobalObject * GO, SectionKind Kind, Mangler & Mang, const TargetMachine & TM, unsigned int EntrySize, bool UniqueSectionName, const MachineJumpTableEntry * JTE)Defined at line 634 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
int Lookup (ArrayRef<TableEntry> Table, unsigned int Opcode)Defined at line 635 of file llvm/lib/Target/X86/X86FloatingPoint.cpp
-
unsigned int getMaxCounterID (const CounterMappingContext & Ctx, const CoverageMappingRecord & Record)Defined at line 635 of file llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
-
void sortSymbolList (int & SymbolList)Defined at line 636 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
void printMemOperand (raw_ostream & OS, const MachineMemOperand & MMO, const MachineFunction * MF, const Module * M, const MachineFrameInfo * MFI, const TargetInstrInfo * TII, LLVMContext & Ctx)Print the MMO with more information from the SelectionDAG.
Defined at line 636 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
-
void foldInlineAsmMemOperand (MachineInstr * MI, unsigned int OpNo, int FI, const TargetInstrInfo & TII)Defined at line 636 of file llvm/lib/CodeGen/TargetInstrInfo.cpp
-
bool CommaSeparateAndAddOccurrence (Option * Handler, unsigned int pos, StringRef ArgName, StringRef Value, bool MultiArg)CommaSeparateAndAddOccurrence - A wrapper around Handler->addOccurrence()
that does special handling of cl::CommaSeparated options.
Defined at line 636 of file llvm/lib/Support/CommandLine.cpp
-
template <PointerStripKind StripKind>const Value * stripPointerCastsAndOffsets (const Value * V, function_ref Func)Defined at line 637 of file llvm/lib/IR/Value.cpp
-
bool onlyAllocateTileRegisters (const TargetRegisterInfo & TRI, const MachineRegisterInfo & MRI, Register Reg)Defined at line 638 of file llvm/lib/Target/X86/X86TargetMachine.cpp
-
void normalizePredicate (ScalarEvolution * SE, Loop * L, LoopICmp & RC)Defined at line 638 of file llvm/lib/Transforms/Scalar/LoopPredication.cpp
-
template <class ProfilesTy, class ProfTy>void preorderVisit (ProfilesTy & Profiles, function_ref<void (ProfTy &)> Visitor)Defined at line 639 of file llvm/lib/Analysis/CtxProfAnalysis.cpp
-
bool isRootFile (const MCDwarfFile & RootFile, StringRef & Directory, StringRef & FileName, optional Checksum)Defined at line 639 of file llvm/lib/MC/MCDwarf.cpp
-
void printAddressSpace (const Module * M, unsigned int AS, raw_ostream & OS, StringRef Prefix, StringRef Suffix, bool ForcePrint)Defined at line 639 of file llvm/lib/IR/AsmWriter.cpp
-
int isSignedOp (CondCode Opcode)For an integer comparison, return 1 if the comparison is a signed operation
and 2 if the result is an unsigned comparison. Return zero if the operation
does not depend on the sign of the input (setne and seteq).
Defined at line 639 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
Error checkDyldInfoCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex, const char ** LoadCmd, const char * CmdName, std::list<MachOElement> & Elements)Defined at line 639 of file llvm/lib/Object/MachOObjectFile.cpp
-
int addClrEHHandler (WinEHFuncInfo & FuncInfo, int HandlerParentState, int TryParentState, ClrHandlerType HandlerType, uint32_t TypeToken, const BasicBlock * Handler)Defined at line 640 of file llvm/lib/CodeGen/WinEHPrepare.cpp
-
SDValue widenVectorToPartType (SelectionDAG & DAG, SDValue Val, const SDLoc & DL, EVT PartVT)Defined at line 640 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
Instruction * GetLoopInvariantInsertPosition (Loop * L, Instruction * Hint)Defined at line 641 of file llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
-
DiffVec & diffEncode (DiffVec & V, int List)Fills V with differentials between every two consecutive elements of List.
Defined at line 641 of file llvm/utils/TableGen/RegisterInfoEmitter.cpp
-
void insertCSRRestores (MachineBasicBlock & RestoreBlock, int & CSI)Insert restore code for the callee-saved registers used in the function.
Defined at line 641 of file llvm/lib/CodeGen/PrologEpilogInserter.cpp
-
basic_string mangleCoveragePath (StringRef Filename, bool PreservePaths)Convert a path to a gcov filename. If PreservePaths is true, this
translates "/" to "#", ".." to "^", and drops ".", to match gcov.
Defined at line 641 of file llvm/lib/ProfileData/GCOV.cpp
-
template <typename T>error_code getSymbolAuxData (const COFFObjectFile * Obj, COFFSymbolRef Symbol, uint8_t AuxSymbolIdx, const T *& Aux)Defined at line 642 of file llvm/tools/llvm-readobj/COFFDumper.cpp
-
template <class ELFT>void overrideFields (ELFYAML::Section * From, typename ELFT::Shdr & To)Defined at line 642 of file llvm/lib/ObjectYAML/ELFEmitter.cpp
-
void addToFwdRegWorklist (int & Worklist, unsigned int Reg, const DIExpression * Expr, ArrayRef<FwdRegParamInfo> ParamsToAdd)Add
to the worklist, if it's not already present, and mark that the
given parameter registers' values can (potentially) be described using
that register and an debug expression.
Defined at line 642 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
Value * simplifyX86addcarry (const IntrinsicInst & II, InstCombiner::BuilderTy & Builder)Defined at line 642 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
Value * foldShiftedShift (BinaryOperator * InnerShift, unsigned int OuterShAmt, bool IsOuterShl, InstCombiner::BuilderTy & Builder)Fold OuterShift (InnerShift X, C1), C2.
See canEvaluateShiftedShift() for the constraints on these instructions.
Defined at line 642 of file llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
-
bool getX86CpuIDAndInfo (unsigned int value, unsigned int * rEAX, unsigned int * rEBX, unsigned int * rECX, unsigned int * rEDX)getX86CpuIDAndInfo - Execute the specified cpuid and return the 4 values in
the specified arguments. If we can't run cpuid on the host, return true.
Defined at line 643 of file llvm/lib/TargetParser/Host.cpp
-
basic_string getUdtStatLabel (uint32_t Kind)Defined at line 644 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
LegalizeResult simpleLibcall (MachineInstr & MI, MachineIRBuilder & MIRBuilder, unsigned int Size, Type * OpType, LostDebugLocObserver & LocObserver)Useful for libcalls where all operands have the same type.
Defined at line 644 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
void createCmpXchgInstFun (IRBuilderBase & Builder, Value * Addr, Value * Loaded, Value * NewVal, Align AddrAlign, AtomicOrdering MemOpOrder, SyncScope::ID SSID, Value *& Success, Value *& NewLoaded, Instruction * MetadataSrc)Defined at line 644 of file llvm/lib/CodeGen/AtomicExpandPass.cpp
-
bool eliminateLoadsAcrossLoops (Function & F, LoopInfo & LI, DominatorTree & DT, BlockFrequencyInfo * BFI, ProfileSummaryInfo * PSI, ScalarEvolution * SE, AssumptionCache * AC, LoopAccessInfoManager & LAIs)Defined at line 644 of file llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
-
ModRMDecisionType getDecisionType (ModRMDecision & decision)getDecisionType - Determines whether a ModRM decision with 255 entries can
be compacted by eliminating redundant information.
Parameters
decision - The decision to be compacted.Returns
- The compactest available representation for the decision.
Defined at line 644 of file llvm/utils/TableGen/X86DisassemblerTables.cpp
-
OverflowResult checkOverflow (FlattenInfo & FI, DominatorTree * DT, AssumptionCache * AC)Return an OverflowResult dependant on if overflow of the multiplication of
InnerTripCount and OuterTripCount can be assumed not to happen.
Defined at line 644 of file llvm/lib/Transforms/Scalar/LoopFlatten.cpp
-
int readModRM (struct InternalInstruction * insn)Consumes all addressing information (ModR/M byte, SIB byte, and displacement.
Defined at line 644 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
GlobalValue * createThreadLocalGV (const char * Name, Module & M, Type * Ty)Defined at line 645 of file llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
-
bool IsInterestingCmp (ICmpInst * CMP, const DominatorTree & DT, const SanitizerCoverageOptions & Options)Prunes uninteresting Cmp instrumentation:
* CMP instructions that feed into loop backedge branch.
Note that Cmp pruning is controlled by the same flag as the
BB pruning.
Defined at line 645 of file llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
-
bool isValidInBitMode (Binary & Bin)Defined at line 645 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
template <typename T0>vector getStatepointArgs (IRBuilderBase & B, uint64_t ID, uint32_t NumPatchBytes, Value * ActualCallee, uint32_t Flags, ArrayRef<T0> CallArgs)Defined at line 645 of file llvm/lib/IR/IRBuilder.cpp
-
unsigned int getEncodedCastOpcode (unsigned int Opcode)Defined at line 645 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
unsigned int getMaxBitmapSize (const CoverageMappingRecord & Record, bool IsVersion11)Returns the bit count
Defined at line 645 of file llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
-
void writeSymbolMap (raw_ostream & Out, Kind Kind, bool Deterministic, ArrayRef Members, SymMap & SymMap, uint64_t MembersOffset)Defined at line 645 of file llvm/lib/Object/ArchiveWriter.cpp
-
int getIslands (const KnownBits & EncodingBits, const KnownBits & FilterBits)Calculates the island(s) needed to decode the instruction.
This returns a list of undecoded bits of an instructions, for example,
Inst{20} = 1
&
&
Inst{3-0} == 0b1111 represents two islands of yet-to-be
decoded bits in order to verify that the instruction matches the Opcode.
Defined at line 645 of file llvm/utils/TableGen/DecoderEmitter.cpp
-
std::optional<int64_t> getTruncStoreByteOffset (GStore & Store, Register & SrcVal, MachineRegisterInfo & MRI)Check if the store
is a truncstore that can be merged. That is,
it's a store of a shifted value of
If
is an empty
Register then it does not need to match and SrcVal is set to the source
value found.
On match, returns the start byte offset of the
that is being
stored.
Defined at line 645 of file llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
-
bool foldLoadsRecursive (Value * V, LoadOps & LOps, const DataLayout & DL, AliasAnalysis & AA)Identify and Merge consecutive loads recursively which is of the form
(ZExt(L1)
<
<
shift1) | (ZExt(L2)
<
<
shift2) -> ZExt(L3)
<
<
shift1
(ZExt(L1)
<
<
shift1) | ZExt(L2) -> ZExt(L3)
Defined at line 645 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
void printExportSymbolList (const int & SymbolList)Defined at line 646 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
TokenKind symbolToken (char C)Defined at line 646 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
bool collectSingleShuffleElements (Value * V, Value * LHS, Value * RHS, SmallVectorImpl<int> & Mask)If V is a shuffle of values that ONLY returns elements from either LHS or
RHS, return the shuffle mask and true. Otherwise, return false.
Defined at line 646 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
BasicBlock * mergeComparisons (ArrayRef<BCECmpBlock> Comparisons, BasicBlock *const InsertBefore, BasicBlock *const NextCmpBlock, PHINode & Phi, const TargetLibraryInfo & TLI, AliasAnalysis & AA, DomTreeUpdater & DTU)Merges the given contiguous comparison blocks into one memcmp block.
Defined at line 646 of file llvm/lib/Transforms/Scalar/MergeICmps.cpp
-
Value * findBaseOrBDV (Value * I, int & Cache, int & KnownBases)Return a base pointer for this value if known. Otherwise, return it's
base defining value.
Defined at line 647 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void printMemOperand (raw_ostream & OS, const MachineMemOperand & MMO, const SelectionDAG * G)Defined at line 647 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
-
bool preservesForwardDependence (Instruction * Src, Instruction * Dst, unsigned int UnrollLevel, unsigned int JamLevel, bool Sequentialized, Dependence * D)Defined at line 647 of file llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
-
void applySpecificSectionMappings (RuntimeDyld & Dyld, const FileToSectionIDMap & FileToSecIDMap)Defined at line 648 of file llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
-
bool isValidReservedSectionIndex (uint16_t Index, uint16_t Machine)Defined at line 648 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
bool promoteSingleBlockAlloca (AllocaInst * AI, const AllocaInfo & Info, LargeBlockInfo & LBI, const DataLayout & DL, DominatorTree & DT, AssumptionCache * AC, SmallPtrSet<DbgVariableRecord *, 8> * DVRAssignsToDelete)Many allocas are only used within a single basic block. If this is the
case, avoid traversing the CFG and inserting a lot of potentially useless
PHI nodes by just performing a single linear pass over the basic block
using the Alloca.
If we cannot promote this alloca (because it is read before it is written),
return false. This is necessary in cases where, due to control flow, the
alloca is undefined only on some control flow paths. e.g. code like
this is correct in LLVM IR:
// A is an alloca with no stores so far
for (...) {
int t = *A;
if (!first_iteration)
use(t);
*A = 42;
}
Defined at line 649 of file llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
-
template <typename ConcreteType>void mapSymbolRecordImpl (IO & IO, const char * Class, SymbolKind Kind, CodeViewYAML::SymbolRecord & Obj)Defined at line 650 of file llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
-
void computeDeadSymbolsInIndex (ModuleSummaryIndex & Index, const int & GUIDPreservedSymbols)Defined at line 650 of file llvm/lib/LTO/ThinLTOCodeGenerator.cpp
-
GenericValue executeFCMP_BOOL (GenericValue Src1, GenericValue Src2, Type * Ty, const bool val)Defined at line 650 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
void TestAddressRangeEncodeDecodeHelper (const AddressRanges & Ranges, const uint64_t BaseAddr)Defined at line 650 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
void removeRedundantCanonicalIVs (VPlan & Plan)Try to replace VPWidenCanonicalIVRecipes with a widened canonical IV
recipe, if it exists.
Defined at line 650 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
Instruction * foldSelectICmpAndAnd (Type * SelType, const ICmpInst * Cmp, Value * TVal, Value * FVal, InstCombiner::BuilderTy & Builder)We want to turn:
(select (icmp eq (and X, Y), 0), (and (lshr X, Z), 1), 1)
into:
zext (icmp ne i32 (and X, (or Y, (shl 1, Z))), 0)
Note:
Z may be 0 if lshr is missing.
Worst-case scenario is that we will replace 5 instructions with 5 different
instructions, but we got rid of select.
Defined at line 650 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
LLVMBool LLVMLinkModules2 (LLVMModuleRef Dest, LLVMModuleRef Src)Links the source module into the destination module. The source module is
destroyed.
The return value is true if an error occurred, false otherwise.
Use the diagnostic handler to get any diagnostic message.
Defined at line 651 of file llvm/lib/Linker/LinkModules.cpp
-
int p_simp_re (struct parse * , int )Defined at line 647 of file llvm/lib/Support/regcomp.c
-
void thinlto_debug_options (const char *const * options, int number)Parse -mllvm style debug options.
Defined at line 632 of file llvm/tools/lto/lto.cpp
-
lto_bool_t lto_module_is_thinlto (lto_module_t mod)Test if a module has support for ThinLTO linking.
Defined at line 641 of file llvm/tools/lto/lto.cpp
-
void thinlto_codegen_add_must_preserve_symbol (thinlto_code_gen_t cg, const char * name, int length)Adds a symbol to the list of global symbols that must exist in the final
generated code. If a function is not listed there, it might be inlined into
every usage and optimized away. For every single module, the functions
referenced from code outside of the ThinLTO modules need to be added here.
Defined at line 645 of file llvm/tools/lto/lto.cpp
-
void thinlto_codegen_add_cross_referenced_symbol (thinlto_code_gen_t cg, const char * name, int length)Adds a symbol to the list of global symbols that are cross-referenced between
ThinLTO files. If the ThinLTO CodeGenerator can ensure that every
references from a ThinLTO module to this symbol is optimized away, then
the symbol can be discarded.
Defined at line 650 of file llvm/tools/lto/lto.cpp
-
LLVMErrorRef LLVMOrcJITDylibDefine (LLVMOrcJITDylibRef JD, LLVMOrcMaterializationUnitRef MU)Add the given MaterializationUnit to the given JITDylib.
If this operation succeeds then JITDylib JD will take ownership of MU.
If the operation fails then ownership remains with the caller who should
call LLVMOrcDisposeMaterializationUnit to destroy it.
Defined at line 628 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMErrorRef LLVMOrcJITDylibClear (LLVMOrcJITDylibRef JD)Calls remove on all trackers associated with this JITDylib, see
JITDylib::clear().
Defined at line 639 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void LLVMOrcJITDylibAddGenerator (LLVMOrcJITDylibRef JD, LLVMOrcDefinitionGeneratorRef DG)Add a DefinitionGenerator to the given JITDylib.
The JITDylib will take ownership of the given generator: The client is no
longer responsible for managing its memory.
Defined at line 643 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcDefinitionGeneratorRef LLVMOrcCreateCustomCAPIDefinitionGenerator (LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction F, void * Ctx, LLVMOrcDisposeCAPIDefinitionGeneratorFunction Dispose)Create a custom generator.
The F argument will be used to implement the DefinitionGenerator's
tryToGenerate method (see
LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction).
Ctx is a context object that will be passed to F. This argument is
permitted to be null.
Dispose is the disposal function for Ctx. This argument is permitted to be
null (in which case the client is responsible for the lifetime of Ctx).
Defined at line 648 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMBool LLVMTypeIsSized (LLVMTypeRef Ty)Whether the type has a known size.
Things that don't have a size are abstract types, labels, and void.a
Defined at line 636 of file llvm/lib/IR/Core.cpp
-
LLVMContextRef LLVMGetTypeContext (LLVMTypeRef Ty)Obtain the context to which this type instance is associated.
Defined at line 641 of file llvm/lib/IR/Core.cpp
-
void LLVMDumpType (LLVMTypeRef Val)Dump a representation of a type to stderr.
Defined at line 645 of file llvm/lib/IR/Core.cpp
-
char * LLVMPrintTypeToString (LLVMTypeRef Val)Return a string representation of the type. Use
LLVMDisposeMessage to free the string.
Defined at line 649 of file llvm/lib/IR/Core.cpp
-
void checkAsyncFuncPointer (const Instruction * I, Value * V)Defined at line 651 of file llvm/lib/Transforms/Coroutines/Coroutines.cpp
-
MachineBasicBlock * getNextBlock (MachineBasicBlock & MBB)Returns the next block in the function blocks ordering. If it is the end,
returns NULL.
Defined at line 651 of file llvm/lib/CodeGen/IfConversion.cpp
-
unsigned int dumpParentChain (DWARFDie Die, raw_ostream & OS, unsigned int Indent, DIDumpOptions DumpOpts, unsigned int Depth)Helper to dump a DIE with all of its parents, but no siblings.
Defined at line 651 of file llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
-
void printWin64EHUnwindInfo (const Win64EH::UnwindInfo * UI)Defined at line 652 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
Instruction * foldCtpop (IntrinsicInst & II, InstCombinerImpl & IC)Defined at line 652 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
void appendIndexBits (std::string & Prefix, size_t Index, size_t NumSlots)Defined at line 653 of file llvm/lib/CAS/OnDiskTrieRawHashMap.cpp
-
void initializeModuleNDMPassOnce (PassRegistry & Registry)Defined at line 654 of file llvm/unittests/IR/LegacyPassManagerTest.cpp
-
template <typename Iter>DiffVec & diffEncode (DiffVec & V, unsigned int InitVal, Iter Begin, Iter End)Defined at line 654 of file llvm/utils/TableGen/RegisterInfoEmitter.cpp
-
bool isSafeAndProfitableToSinkLoad (LoadInst * L)Return true if we know that it is safe to sink the load out of the block
that defines it. This means that it must be obvious the value of the load is
not changed from the point of the load to the end of the block it is in.
Finally, it is safe, but not profitable, to sink a load targeting a
non-address-taken alloca. Doing so will cause us to not promote the alloca
to a register.
Defined at line 654 of file llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
-
void PrintIndirectSymbols (MachOObjectFile * O, bool verbose)Defined at line 654 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void thinlto_codegen_set_cpu (thinlto_code_gen_t cg, const char * cpu)Sets the cpu to generate code for.
Defined at line 655 of file llvm/tools/lto/lto.cpp
-
void initializeCGPassPassOnce (PassRegistry & Registry)Defined at line 655 of file llvm/unittests/IR/LegacyPassManagerTest.cpp
-
void LLVMOrcLookupStateContinueLookup (LLVMOrcLookupStateRef S, LLVMErrorRef Err)Continue a lookup that was suspended in a generator (see
LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction).
Defined at line 655 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
Function * getFunction (basic_string Name)Defined at line 655 of file llvm/examples/Kaleidoscope/Chapter6/toy.cpp
-
bool processSaturatingInst (SaturatingInst * SI, LazyValueInfo * LVI)Defined at line 655 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
uint64_t computeIRComplexityScoreImpl (const Function & F)TODO: Additional flags and attributes may be complexity reducing. If we start
adding flags and attributes, they could have negative cost.
Defined at line 655 of file llvm/tools/llvm-reduce/ReducerWorkItem.cpp
-
void printLineNumbers (symbolize::LLVMSymbolizer & Symbolizer, const NMSymbol & S)Defined at line 655 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
basic_string CreateErrorMessage (AccountRecordStatus Error, const XRayRecord & Record, const FuncIdConversionHelper & Converter)Defined at line 656 of file llvm/tools/llvm-xray/xray-stacks.cpp
-
bool printAsmMRegister (const X86AsmPrinter & P, const MachineOperand & MO, char Mode, raw_ostream & O)Defined at line 656 of file llvm/lib/Target/X86/X86AsmPrinter.cpp
-
std::optional<int> CompareSCEVComplexity (const LoopInfo *const LI, const SCEV * LHS, const SCEV * RHS, DominatorTree & DT, unsigned int Depth)Return negative, zero, or positive, if LHS is less than, equal to, or greater
than RHS, respectively. A three-way result allows recursive comparisons to be
more efficient.
If the max analysis depth was reached, return std::nullopt, assuming we do
not know if they are equivalent for sure.
Defined at line 656 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
uint32_t getLongestTypeLeafName (const StatCollection & Stats)Defined at line 657 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
const char * getPlatformName (PlatformType Type)Defined at line 657 of file llvm/lib/MC/MCAsmStreamer.cpp
-
bool checkBiasedSelect (SelectInst * SI, Region * R, DenseSet<SelectInst *> & TrueBiasedSelectsGlobal, DenseSet<SelectInst *> & FalseBiasedSelectsGlobal, DenseMap<SelectInst *, BranchProbability> & SelectBiasMap)Returns true and insert a select into the right biased set and the map if the
select is biased.
Defined at line 657 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
void initializeFPassPassOnce (PassRegistry & Registry)Defined at line 658 of file llvm/unittests/IR/LegacyPassManagerTest.cpp
-
void llvm_blake3_hasher_reset (llvm_blake3_hasher * self)Defined at line 658 of file llvm/lib/Support/BLAKE3/blake3.c
-
void convertMJTI (ModuleSlotTracker & MST, yaml::MachineJumpTable & YamlJTI, const MachineJumpTableInfo & JTI)Defined at line 657 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
MDNode * createBranchWeights (LLVMContext & Context, uint64_t TrueWeight, uint64_t FalseWeight)Creates 'branch_weights' prof metadata using TrueWeight and FalseWeight.
Scales uint64_t counters down to uint32_t if necessary to prevent overflow.
Defined at line 658 of file llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
-
Error macho2yaml (raw_ostream & Out, const object::MachOObjectFile & Obj, unsigned int RawSegments)Defined at line 658 of file llvm/tools/obj2yaml/macho2yaml.cpp
-
bool allSameOpcode (ArrayRef VL)Defined at line 658 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
Value * operandWithNewAddressSpaceOrCreatePoison (const Use & OperandUse, unsigned int NewAddrSpace, const ValueToValueMapTy & ValueWithNewAddrSpace, const PredicatedAddrSpaceMapTy & PredicatedAS, SmallVectorImpl<const Use *> * PoisonUsesToFix)A helper function for cloneInstructionWithNewAddressSpace. Returns the clone
of OperandUse.get() in the new address space. If the clone is not ready yet,
returns poison in the new address space as a placeholder.
Defined at line 658 of file llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
-
void initializeLPassPassOnce (PassRegistry & Registry)Defined at line 659 of file llvm/unittests/IR/LegacyPassManagerTest.cpp
-
void thinlto_codegen_set_cache_dir (thinlto_code_gen_t cg, const char * cache_dir)Sets the path to a directory to use as a cache storage for incremental build.
Setting this activates caching.
Defined at line 659 of file llvm/tools/lto/lto.cpp
-
bool hasProfileData (const Function & F, const FunctionOutliningInfo & OI)Check if there is PGO data or user annotated branch data:
Defined at line 659 of file llvm/lib/Transforms/IPO/PartialInlining.cpp
-
unsigned int emitNop (MCStreamer & OS, unsigned int NumBytes, const X86Subtarget * Subtarget)Emit the largest nop instruction smaller than or equal to
bytes. Return the size of nop emitted.
Defined at line 659 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
Expected getAsBinary (const NewArchiveMember & NM, LLVMContext * Context)Defined at line 660 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
ConstantAsMetadata * wrapConstantAsMetadata (const ConstantAsMetadata & CMD, Value * MappedV)Defined at line 661 of file llvm/lib/Transforms/Utils/ValueMapper.cpp
-
bool isOriginalBaseResult (Value * V)This value is a base pointer that is not generated by RS4GC, i.e. it already
exists in the code.
Defined at line 662 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool printMarkupContext (raw_ostream & OS, const char * MainExecutableName)Defined at line 662 of file llvm/lib/Support/Unix/Signals.inc
-
unsigned int getCostValue (const Cost & C)Get the unsigned Value of given Cost object. Assumes the Cost is always
non-negative, which is true for both TCK_CodeSize and TCK_Latency, and
always Valid.
Defined at line 662 of file llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
-
MachineInstr * foldInlineAsmMemOperand (MachineInstr & MI, ArrayRef<unsigned int> Ops, int FI, const TargetInstrInfo & TII)Returns nullptr if not possible to fold.
Defined at line 662 of file llvm/lib/CodeGen/TargetInstrInfo.cpp
-
bool simplifyAndDCEInstruction (Instruction * I, SmallSetVector<Instruction *, 16> & WorkList, const DataLayout & DL, const TargetLibraryInfo * TLI)Defined at line 662 of file llvm/lib/Transforms/Utils/Local.cpp
-
const RopePieceBTreeLeaf * getCN (const void * P)===----------------------------------------------------------------------===//
RopePieceBTreeIterator Implementation
===----------------------------------------------------------------------===//
Defined at line 663 of file llvm/lib/Support/RewriteRope.cpp
-
void interpretValues (const MachineInstr * CurMI, int & ForwardedRegWorklist, ParamSet & Params, int & ClobberedRegUnits)Interpret values loaded into registers by
Defined at line 663 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
void thinlto_codegen_set_cache_pruning_interval (thinlto_code_gen_t cg, int interval)Sets the cache pruning interval (in seconds). A negative value disables the
pruning. An unspecified default value will be applied, and a value of 0 will
force prunning to occur.
Defined at line 664 of file llvm/tools/lto/lto.cpp
-
LLVMErrorRef LLVMOrcCreateDynamicLibrarySearchGeneratorForProcess (LLVMOrcDefinitionGeneratorRef * Result, char GlobalPrefx, LLVMOrcSymbolPredicate Filter, void * FilterCtx)Get a DynamicLibrarySearchGenerator that will reflect process symbols into
the JITDylib. On success the resulting generator is owned by the client.
Ownership is typically transferred by adding the instance to a JITDylib
using LLVMOrcJITDylibAddGenerator,
The GlobalPrefix argument specifies the character that appears on the front
of linker-mangled symbols for the target platform (e.g. '_' on MachO).
If non-null, this character will be stripped from the start of all symbol
strings before passing the remaining substring to dlsym.
The optional Filter and Ctx arguments can be used to supply a symbol name
filter: Only symbols for which the filter returns true will be visible to
JIT'd code. If the Filter argument is null then all process symbols will
be visible to JIT'd code. Note that the symbol name passed to the Filter
function is the full mangled symbol: The client is responsible for stripping
the global prefix if present.
Defined at line 662 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void PrintHelpOptionList (raw_ostream & OS, StringRef Title, std::vector<OptionInfo> & OptionHelp)Defined at line 663 of file llvm/lib/Option/OptTable.cpp
-
int createWriter ()Defined at line 664 of file llvm/tools/llvm-readobj/llvm-readobj.cpp
-
void printDatum (json::OStream & J, const char * Key, Value Value)Print human-readable output.
\
{
Defined at line 664 of file llvm/tools/llvm-dwarfdump/Statistics.cpp
-
void printPrefix (raw_ostream & OS, StringRef Prefix)Defined at line 664 of file llvm/lib/CAS/OnDiskTrieRawHashMap.cpp
-
template <typename T1, typename T2, typename T3>vector getStatepointBundles (std::optional<ArrayRef<T1>> TransitionArgs, std::optional<ArrayRef<T2>> DeoptArgs, ArrayRef<T3> GCArgs)Defined at line 664 of file llvm/lib/IR/IRBuilder.cpp
-
int buildReplacementSlices (ArrayRef<OwningBinary<Binary>> ReplacementBinaries, const int & Alignments)Defined at line 664 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
bool ProvideOption (Option * Handler, StringRef ArgName, StringRef Value, int argc, const char *const * argv, int & i)ProvideOption - For Value, this differentiates between an empty value ("")
and a null value (StringRef()). The later is accepted for arguments that
don't allow a value (-foo) the former is rejected (-foo=).
Defined at line 664 of file llvm/lib/Support/CommandLine.cpp
-
bool isPotentiallyReachable (Attributor & A, const Instruction & FromI, const Instruction * ToI, const Function & ToFn, const AbstractAttribute & QueryingAA, const AA::InstExclusionSetTy * ExclusionSet, std::function<bool (const Function &)> GoBackwardsCB)Defined at line 664 of file llvm/lib/Transforms/IPO/Attributor.cpp
-
void printDiff16 (raw_ostream & OS, int16_t Val)Defined at line 665 of file llvm/utils/TableGen/RegisterInfoEmitter.cpp
-
LLVMTypeRef LLVMInt1TypeInContext (LLVMContextRef C)Obtain an integer type from a context with specified bit width.
Defined at line 665 of file llvm/lib/IR/Core.cpp
-
unsigned int getEncodedUnaryOpcode (unsigned int Opcode)Defined at line 665 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool preservesBackwardDependence (Instruction * Src, Instruction * Dst, unsigned int UnrollLevel, unsigned int JamLevel, bool Sequentialized, Dependence * D)Defined at line 665 of file llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
-
bool AllUsesOfValueWillTrapIfNull (const Value * V, SmallPtrSetImpl<const PHINode *> & PHIs)Return true if all users of the specified value will trap if the value is
dynamically null. PHIs keeps track of any phi nodes we've seen to avoid
reprocessing them.
Defined at line 665 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool isSpecialMachOSection (StringRef Section)This function returns true if the given data Section name has custom
subsection-splitting semantics in Mach-O (such as splitting by a fixed size)
See also ObjFile::parseSections and getRecordSize in lld/MachO/InputFiles.cpp
Defined at line 666 of file llvm/lib/CodeGen/GlobalMerge.cpp
-
void printMask (raw_ostream & OS, LaneBitmask Val)Defined at line 667 of file llvm/utils/TableGen/RegisterInfoEmitter.cpp
-
void checkAsyncContextProjectFunction (const Instruction * I, Function * F)Defined at line 667 of file llvm/lib/Transforms/Coroutines/Coroutines.cpp
-
void overlapInput (const std::string & BaseFilename, const std::string & TestFilename, WriterContext * WC, OverlapStats & Overlap, const OverlapFuncFilters & FuncFilter, raw_fd_ostream & OS, bool IsCS)Computer the overlap b/w profile BaseFilename and TestFileName,
and store the program level result to Overlap.
Defined at line 667 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
Expected getAsBinary (const Archive::Child & C, LLVMContext * Context)Defined at line 668 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
bool leftDistributesOverRight (BinaryOps LOp, BinaryOps ROp)Return whether "X LOp (Y ROp Z)" is always equal to
"(X LOp Y) ROp (X LOp Z)".
Defined at line 668 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
void thinlto_codegen_set_cache_entry_expiration (thinlto_code_gen_t cg, unsigned int expiration)Sets the expiration (in seconds) for an entry in the cache. An unspecified
default value will be applied. A value of 0 will be ignored.
Defined at line 669 of file llvm/tools/lto/lto.cpp
-
LLVMTypeRef LLVMInt8TypeInContext (LLVMContextRef C)Defined at line 668 of file llvm/lib/IR/Core.cpp
-
ConstantInt * createOrdering (int * IRB, AtomicOrdering ord)Defined at line 668 of file llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
-
Value * simplifyTernarylogic (const IntrinsicInst & II, InstCombiner::BuilderTy & Builder)Defined at line 669 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
bool isKnownBase (Value * V, const int & KnownBases)Returns true if V is a known base.
Defined at line 670 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
LLVMTypeRef LLVMInt16TypeInContext (LLVMContextRef C)Defined at line 671 of file llvm/lib/IR/Core.cpp
-
unsigned int extendOpFromFlags (ArgFlagsTy Flags)Defined at line 671 of file llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
-
void writeECSymbols (raw_ostream & Out, Kind Kind, bool Deterministic, ArrayRef Members, SymMap & SymMap)Defined at line 671 of file llvm/lib/Object/ArchiveWriter.cpp
-
int llvm_readobj_main (int argc, char ** , const llvm::ToolContext & )Defined at line 671 of file llvm/tools/llvm-readobj/llvm-readobj.cpp
-
void AddNonNullPointer (Value * Ptr, int & PtrSet, bool IsDereferenced)Defined at line 672 of file llvm/lib/Analysis/LazyValueInfo.cpp
-
unsigned int getEncodedBinaryOpcode (unsigned int Opcode)Defined at line 672 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
template <class A>bool isValidInBitMode (const A & Member)Defined at line 673 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
bool combine (const CodeGenSubRegIndex * Idx, SmallVectorImpl<const CodeGenSubRegIndex *> & Vec)Try to combine Idx's compose map into Vec if it is compatible.
Return false if it's not possible.
Defined at line 673 of file llvm/utils/TableGen/RegisterInfoEmitter.cpp
-
void printLocationStats (json::OStream & J, const char * Key, std::vector<SaturatingUINT64> & LocationStats)Defined at line 673 of file llvm/tools/llvm-dwarfdump/Statistics.cpp
-
void thinlto_codegen_set_final_cache_size_relative_to_available_space (thinlto_code_gen_t cg, unsigned int percentage)Sets the maximum cache size that can be persistent across build, in terms of
percentage of the available space on the disk. Set to 100 to indicate
no limit, 50 to indicate that the cache size will not be left over half the
available space. A value over 100 will be reduced to 100, a value of 0 will
be ignored. An unspecified default value will be applied.
The formula looks like:
AvailableSpace = FreeSpace + ExistingCacheSize
NewCacheSize = AvailableSpace * P/100
Defined at line 674 of file llvm/tools/lto/lto.cpp
-
LLVMTypeRef LLVMInt32TypeInContext (LLVMContextRef C)Defined at line 674 of file llvm/lib/IR/Core.cpp
-
bool constantFoldTerminators (Loop & L, DominatorTree & DT, LoopInfo & LI, ScalarEvolution & SE, MemorySSAUpdater * MSSAU, bool & IsLoopDeleted)Turn branches and switches with known constant conditions into unconditional
branches.
Defined at line 674 of file llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
-
Error macho2yaml (raw_ostream & Out, const object::MachOUniversalBinary & Obj, unsigned int RawSegments)Defined at line 674 of file llvm/tools/obj2yaml/macho2yaml.cpp
-
Error removeNotes (Object & Obj, endianness Endianness, ArrayRef NotesToRemove, function_ref ErrorCallback)Defined at line 674 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
Instruction * foldVecExtTruncToExtElt (TruncInst & Trunc, InstCombinerImpl & IC)Whenever an element is extracted from a vector, optionally shifted down, and
then truncated, canonicalize by converting it to a bitcast followed by an
extractelement.
Examples (little endian):
trunc (extractelement
<
4 x i64> %X, 0) to i32
--->
extractelement
<
8 x i32> (bitcast
<
4 x i64> %X to
<
8 x i32>), i32 0
trunc (lshr (extractelement
<
4 x i32> %X, 0), 8) to i8
--->
extractelement
<
16 x i8> (bitcast
<
4 x i32> %X to
<
16 x i8>), i32 1
Defined at line 674 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
APInt stripAndComputeConstantOffsets (const DataLayout & DL, Value *& V)Compute the base pointer and cumulative constant offsets for V.
This strips all constant offsets off of V, leaving it the base pointer, and
accumulates the total constant offset applied in the returned constant.
It returns zero if there are no constant offsets applied.
This is very similar to stripAndAccumulateConstantOffsets(), except it
normalizes the offset bitwidth to the stripped pointer type, not the
original pointer type.
Defined at line 675 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Expected<Config> parseCommandLine (int Argc, char ** Argv)Defined at line 675 of file llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
-
bool isKnownLessThan (ScalarEvolution * SE, const SCEV * S, const SCEV * Size)Compare to see if S is less than Size, using
isKnownNegative(S - Size)
with some extra checking if S is an AddRec and we can prove less-than using
the loop bounds.
Defined at line 675 of file llvm/lib/Analysis/Delinearization.cpp
-
void sortAndUniqueRegisters (int & M)===----------------------------------------------------------------------===//
CodeGenRegisterClass
===----------------------------------------------------------------------===//
Defined at line 676 of file llvm/utils/TableGen/Common/CodeGenRegisters.cpp
-
void setKnownBase (Value * V, bool IsKnownBase, int & KnownBases)Caches the IsKnownBase flag for a value and asserts that it wasn't present
in the cache before.
Defined at line 676 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
Instruction * getBranchInsertPoint (RegInfo & RI)Returns the instruction at which to hoist the dependent condition values and
insert the CHR branch for a region. This is the terminator branch in the
entry block or the first select in the entry block, if any.
Defined at line 676 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
int getMatchedEntries (InstructionMapper & Mapper)Find all matches in the global outlined hash tree.
It's quadratic complexity in theory, but it's nearly linear in practice
since the length of outlined sequences are small within a block.
Defined at line 676 of file llvm/lib/CodeGen/MachineOutliner.cpp
-
bool processCallSite (CallBase & CB, LazyValueInfo * LVI)Infer nonnull attributes for the arguments at the specified callsite.
Defined at line 676 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
Cursor maybeLexSymbol (Cursor C, MIToken & Token)Defined at line 677 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
void HandleInlinedEHPad (InvokeInst * II, BasicBlock * FirstNewBlock, ClonedCodeInfo & InlinedCodeInfo)If we inlined an invoke site, we need to convert calls
in the body of the inlined function into invokes.
II is the invoke instruction being inlined. FirstNewBlock is the first
block of the inlined code (the last block is the end of the function),
and InlineCodeInfo is information about the code that got inlined.
Defined at line 677 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
template <typename T>Expected fromCodeViewRecordImpl (CVRecord Type)Defined at line 678 of file llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp
-
bool canBeHidden (const GlobalValue * GV, const MCAsmInfo & MAI)Defined at line 679 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
Expected checkParameter (StringRef Label, size_t Max, optional Value, optional Default, StringRef Path, StringRef TableName)Defined at line 679 of file llvm/lib/CAS/OnDiskTrieRawHashMap.cpp
-
bool matchAccessTags (const MDNode * A, const MDNode * B, const MDNode ** GenericTag)matchTags - Return true if the given couple of accesses are allowed to
overlap. If
Defined at line 679 of file llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
-
void getCopyToPartsVector (SelectionDAG & DAG, const SDLoc & dl, SDValue Val, SDValue * Parts, unsigned int NumParts, MVT PartVT, const Value * V, std::optional<CallingConv::ID> CallConv)getCopyToPartsVector - Create a series of nodes that contain the specified
value split into legal parts.
Defined at line 687 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
pair cloneFrom (VPBlockBase * Entry)Clone the CFG for all nodes reachable from
this includes cloning
the blocks and their recipes. Operands of cloned recipes will NOT be updated.
Remapping of operands must be done separately. Returns a pair with the new
entry and exiting blocks of the cloned region. If
isn't part of a
region, return nullptr for the exiting block.
Defined at line 678 of file llvm/lib/Transforms/Vectorize/VPlan.cpp
-
void thinlto_codegen_set_cache_size_bytes (thinlto_code_gen_t cg, unsigned int max_size_bytes)Sets the maximum size of the cache directory (in bytes). A value over the
amount of available space on the disk will be reduced to the amount of
available space. An unspecified default value will be applied. A value of 0
will be ignored.
Defined at line 679 of file llvm/tools/lto/lto.cpp
-
void thinlto_codegen_set_cache_size_megabytes (thinlto_code_gen_t cg, unsigned int max_size_megabytes)Same as thinlto_codegen_set_cache_size_bytes, except the maximum size is in
megabytes (2^20 bytes).
Defined at line 684 of file llvm/tools/lto/lto.cpp
-
LLVMErrorRef LLVMOrcCreateDynamicLibrarySearchGeneratorForPath (LLVMOrcDefinitionGeneratorRef * Result, const char * FileName, char GlobalPrefix, LLVMOrcSymbolPredicate Filter, void * FilterCtx)Get a LLVMOrcCreateDynamicLibararySearchGeneratorForPath that will reflect
library symbols into the JITDylib. On success the resulting generator is
owned by the client. Ownership is typically transferred by adding the
instance to a JITDylib using LLVMOrcJITDylibAddGenerator,
The GlobalPrefix argument specifies the character that appears on the front
of linker-mangled symbols for the target platform (e.g. '_' on MachO).
If non-null, this character will be stripped from the start of all symbol
strings before passing the remaining substring to dlsym.
The optional Filter and Ctx arguments can be used to supply a symbol name
filter: Only symbols for which the filter returns true will be visible to
JIT'd code. If the Filter argument is null then all library symbols will
be visible to JIT'd code. Note that the symbol name passed to the Filter
function is the full mangled symbol: The client is responsible for stripping
the global prefix if present.
THIS API IS EXPERIMENTAL AND LIKELY TO CHANGE IN THE NEAR FUTURE!
Defined at line 687 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMTypeRef LLVMInt64TypeInContext (LLVMContextRef C)Defined at line 677 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMInt128TypeInContext (LLVMContextRef C)Defined at line 680 of file llvm/lib/IR/Core.cpp
-
void emitRetireControlUnitInfo (const CodeGenProcModel & ProcModel, raw_ostream & OS)Defined at line 680 of file llvm/utils/TableGen/SubtargetEmitter.cpp
-
template <typename T0, typename T1, typename T2, typename T3>CallInst * CreateGCStatepointCallCommon (IRBuilderBase * Builder, uint64_t ID, uint32_t NumPatchBytes, FunctionCallee ActualCallee, uint32_t Flags, ArrayRef<T0> CallArgs, std::optional<ArrayRef<T1>> TransitionArgs, std::optional<ArrayRef<T2>> DeoptArgs, ArrayRef<T3> GCArgs, const Twine & Name)Defined at line 680 of file llvm/lib/IR/IRBuilder.cpp
-
void AddNonNullPointersByInstruction (Instruction * I, int & PtrSet)Defined at line 680 of file llvm/lib/Analysis/LazyValueInfo.cpp
-
void emitBinaryParser (raw_ostream & OS, indent Indent, const InstructionEncoding & Encoding, const OperandInfo & OpInfo)Defined at line 680 of file llvm/utils/TableGen/DecoderEmitter.cpp
-
void printCFI (raw_ostream & OS, const MCCFIInstruction & CFI, const TargetRegisterInfo * TRI)Defined at line 680 of file llvm/lib/CodeGen/MachineOperand.cpp
-
bool mayHaveSideEffects (MachineInstr & MI)Defined at line 681 of file llvm/lib/CodeGen/ReachingDefAnalysis.cpp
-
VendorType parseVendor (StringRef VendorName)Defined at line 682 of file llvm/lib/TargetParser/Triple.cpp
-
LLVMTypeRef LLVMIntTypeInContext (LLVMContextRef C, unsigned int NumBits)Defined at line 683 of file llvm/lib/IR/Core.cpp
-
StringRef getTypeNamePrefix (StringRef Name)Defined at line 683 of file llvm/lib/Linker/IRMover.cpp
-
void initializeMachineBlockPlacementLegacyPassOnce (PassRegistry & Registry)Defined at line 684 of file llvm/lib/CodeGen/MachineBlockPlacement.cpp
-
StringRef GetSymbolValueName (StorageClass SC)Defined at line 685 of file llvm/tools/llvm-readobj/XCOFFDumper.cpp
-
Instruction * combineLoadToOperationType (InstCombinerImpl & IC, LoadInst & Load)Combine loads to match the type of their uses' value after looking
through intervening bitcasts.
The core idea here is that if the result of a load is used in an operation,
we should load the type most conducive to that operation. For example, when
loading an integer and converting that immediately to a pointer, we should
instead directly load a pointer.
However, this routine must never change the width of a load or the number of
loads as that would introduce a semantic change. This combine is expected to
be a semantic no-op which just allows loads to more closely model the types
of their consuming operations.
Currently, we also refuse to change the precise type used for an atomic load
or a volatile load. This is debatable, and might be reasonable to change
later. However, it is risky in case some backend or other part of LLVM is
relying on the exact type loaded to select appropriate atomic operations.
Defined at line 685 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
pair findTargetSubtable (StringRef Name)Find the segment of
for intrinsics with the same
target as
or the generic table if
is not target specific.
Returns the relevant slice of
and the target
name.
Defined at line 686 of file llvm/lib/IR/Intrinsics.cpp
-
LLVMTypeRef LLVMInt1Type ()Obtain an integer type from the global context with a specified bit
width.
Defined at line 687 of file llvm/lib/IR/Core.cpp
-
void warnInvalidObjectForFileMode (Twine Name)Defined at line 687 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
bool areBothVectorOrScalar (Value * First, Value * Second)Returns true if First and Second values are both scalar or both vector.
Defined at line 687 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
uint64_t getRedzoneSizeForScale (int MappingScale)Defined at line 688 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
Constant * computePointerDifference (const DataLayout & DL, Value * LHS, Value * RHS)Compute the constant difference between two pointer values.
If the difference is not a constant, returns zero.
Defined at line 688 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void printDebugLoc (const DebugLoc & DL, raw_ostream & CommentOS, const LLVMContext & Ctx)Defined at line 688 of file llvm/lib/CodeGen/LiveDebugVariables.cpp
-
Constant * getConstantAtOffset (Constant * Base, APInt Offset, const DataLayout & DL)If this Offset points exactly to the start of an aggregate element, return
that element, otherwise return nullptr.
Defined at line 688 of file llvm/lib/Analysis/ConstantFolding.cpp
-
void remapSectionsAndSymbols (const llvm::Triple & TargetTriple, RuntimeDyld & Dyld, TrivialMemoryManager & MemMgr)Scatter sections in all directions!
Remaps section addresses for -verify mode. The following command line options
can be used to customize the layout of the memory within the phony target's
address space:
-target-addr-start
-- Specify where the phony target address range starts.
-target-addr-end
<e
> -- Specify where the phony target address range ends.
-target-section-sep
<d
> -- Specify how big a gap should be left between the
end of one section and the start of the next.
Defaults to zero. Set to something big
(e.g. 1
<
<
32) to stress-test stubs, GOTs, etc.
Defined at line 688 of file llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
-
void buildFrameDebugInfo (Function & F, coro::Shape & Shape, FrameDataInfo & FrameData)Build artificial debug info for C++ coroutine frames to allow users to
inspect the contents of the frame directly
Create Debug information for coroutine frame with debug name "__coro_frame".
The debug information for the fields of coroutine frame is constructed from
the following way:
1. For all the value in the Frame, we search the use of dbg.declare to find
the corresponding debug variables for the value. If we can find the
debug variable, we can get full and accurate debug information.
2. If we can't get debug information in step 1 and 2, we could only try to
build the DIType by Type. We did this in solveDIType. We only handle
integer, float, double, integer type and struct type for now.
Defined at line 688 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
llvm::ModulePass * createCheckDebugifyModulePass (bool Strip, StringRef NameOfWrappedPass, int * StatsMap, DebugifyMode Mode, DebugInfoPerPass * DebugInfoBeforePass, StringRef OrigDIVerifyBugsReportFilePath)Defined at line of file
-
llvm::FunctionPass * createCheckDebugifyFunctionPass (bool Strip, StringRef NameOfWrappedPass, int * StatsMap, DebugifyMode Mode, DebugInfoPerPass * DebugInfoBeforePass, StringRef OrigDIVerifyBugsReportFilePath)Defined at line of file
-
bool rightDistributesOverLeft (BinaryOps LOp, BinaryOps ROp)Return whether "(X LOp Y) ROp Z" is always equal to
"(X ROp Z) LOp (Y ROp Z)".
Defined at line 689 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
unique_ptr createRegInfo (const object::ObjectFile & Obj)Defined at line 689 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
bool isDeadRecipe (VPRecipeBase & R)Returns true if
is dead and can be removed.
Defined at line 689 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void TestLineTableHelper (endianness ByteOrder, const LineTable & LT)Defined at line 689 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
bool isECObject (object::SymbolicFile & Obj)Defined at line 689 of file llvm/lib/Object/ArchiveWriter.cpp
-
SDValue lowerMasksToReg (const SDValue & ValArg, const EVT & ValLoc, const SDLoc & DL, SelectionDAG & DAG)Lowers masks values (v*i1) to the local register values
Defined at line 689 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
void findIrreducibleHeaders (const BlockFrequencyInfoImplBase & BFI, const IrreducibleGraph & G, const std::vector<const IrreducibleGraph::IrrNode *> & SCC, LoopData::NodeList & Headers, LoopData::NodeList & Others)Find extra irreducible headers.
Find entry blocks and other blocks with backedges, which exist when
contains irreducible sub-SCCs.
Defined at line 689 of file llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
-
LLVMTypeRef LLVMInt8Type ()Defined at line 690 of file llvm/lib/IR/Core.cpp
-
void getImpliedEnabledFeatures (FeatureBitset & Bits, const FeatureBitset & Implies)For each feature that is (transitively) implied by this feature, set it.
Defined at line 690 of file llvm/lib/TargetParser/X86TargetParser.cpp
-
BasicBlock * getInstrBB (CFGMST<Edge, BBInfo> & MST, Edge & E, const int & ExecBlocks)Defined at line 690 of file llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
-
void replaceSlices (LLVMContext & LLVMCtx, ArrayRef<OwningBinary<Binary>> InputBinaries, const int & Alignments, StringRef OutputFileName, ArrayRef<InputFile> ReplacementFiles)Defined at line 690 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
void thinlto_codegen_set_cache_size_files (thinlto_code_gen_t cg, unsigned int max_size_files)Sets the maximum number of files in the cache directory. An unspecified
default value will be applied. A value of 0 will be ignored.
Defined at line 691 of file llvm/tools/lto/lto.cpp
-
bool getDataDeps (const MachineInstr & UseMI, SmallVectorImpl<DataDep> & Deps, const MachineRegisterInfo * MRI)Get the input data dependencies that must be ready before UseMI can issue.
Return true if UseMI has any physreg operands.
Defined at line 691 of file llvm/lib/CodeGen/MachineTraceMetrics.cpp
-
void performReadOperation (ArchiveOperation Operation, object::Archive * OldArchive)Defined at line 691 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
bool checkDependency (Instruction * Src, Instruction * Dst, unsigned int UnrollLevel, unsigned int JamLevel, bool Sequentialized, DependenceInfo & DI)Check whether it is semantically safe Src and Dst considering any potential
dependency between them.
Parameters
UnrollLevel The level of the loop being unrolledJamLevel The level of the loop being jammed; if Src and Dst are on different levels, the outermost common loop counts as jammed levelReturns
true if is safe and false if there is a dependency violation.
Defined at line 691 of file llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
-
const char * stringForDecisionType (ModRMDecisionType dt)stringForDecisionType - Returns a statically-allocated string corresponding
to a particular decision type.
Parameters
dt - The decision type.Returns
- A pointer to the statically-allocated string (e.g.,
"MODRM_ONEENTRY" for MODRM_ONEENTRY).
Defined at line 692 of file llvm/utils/TableGen/X86DisassemblerTables.cpp
-
bool mergeBlocksIntoPredecessors (Loop & L, DominatorTree & DT, LoopInfo & LI, MemorySSAUpdater * MSSAU, ScalarEvolution & SE)Defined at line 692 of file llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
-
LLVMTypeRef LLVMInt16Type ()Defined at line 693 of file llvm/lib/IR/Core.cpp
-
void initializeX86LowerAMXIntrinsicsLegacyPassPassOnce (PassRegistry & Registry)Defined at line 693 of file llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
-
Cursor maybeLexNewline (Cursor C, MIToken & Token)Defined at line 693 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
bool getFSqrtDivOptPattern (Instruction * Div, SmallPtrSetImpl<Instruction *> & R1, SmallPtrSetImpl<Instruction *> & R2)If we have the following pattern,
X = 1.0/sqrt(a)
R1 = X * X
R2 = a/sqrt(a)
then this method collects all the instructions that match R1 and R2.
Defined at line 693 of file llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
-
void addData (SmallVectorImpl<char> & DataBytes, MCSectionWasm & DataSection)Defined at line 693 of file llvm/lib/MC/WasmObjectWriter.cpp
-
uint64_t GetCtorAndDtorPriority (Triple & TargetTriple)Defined at line 694 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
basic_string getNameForFeatureBitset (ArrayRef<const Record *> FeatureBitset)Defined at line 694 of file llvm/utils/TableGen/InstrInfoEmitter.cpp
-
void emitRegisterFileInfo (const CodeGenProcModel & ProcModel, unsigned int NumRegisterFiles, unsigned int NumCostEntries, raw_ostream & OS)Defined at line 694 of file llvm/utils/TableGen/SubtargetEmitter.cpp
-
void printRuntimeFunction (const COFFObjectFile * Obj, const RuntimeFunction & RF)Prints out the given RuntimeFunction struct for x64, assuming that Obj is
pointing to an executable file.
Defined at line 694 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
void loadInput (const WeightedFile & Input, SymbolRemapper * Remapper, const InstrProfCorrelator * Correlator, StringRef ProfiledBinary, WriterContext * WC, const object::BuildIDFetcher * BIDFetcher, const ProfCorrelatorKind * BIDFetcherCorrelatorKind)Load an input into a writer context.
Defined at line 694 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
MCSymbolAttr MCAttrForString (StringRef Type)Defined at line 695 of file llvm/lib/MC/MCParser/ELFAsmParser.cpp
-
SmallBitVector buildUseMask (int VF, ArrayRef Mask, UseMask MaskArg)Prepares a use bitset for the given mask either for the first argument or
for the second.
Defined at line 695 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void thinlto_codegen_set_savetemps_dir (thinlto_code_gen_t cg, const char * save_temps_dir)Sets the path to a directory to use as a storage for temporary bitcode files.
The intention is to make the bitcode files available for debugging at various
stage of the pipeline.
Defined at line 696 of file llvm/tools/lto/lto.cpp
-
bool canCreateThunkFor (Function * F)Whether this function may be replaced by a forwarding thunk.
Defined at line 696 of file llvm/lib/Transforms/IPO/MergeFunctions.cpp
-
bool canPredictSuccessors (const MachineBasicBlock & MBB)Defined at line 696 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
Expected TestOptimizer (BugDriver & BD, unique_ptr Test, unique_ptr Safe)This is the predicate function used to check to see if the "Test" portion of
the program is misoptimized. If so, return true. In any case, both module
arguments are deleted.
Defined at line 696 of file llvm/tools/bugpoint/Miscompilation.cpp
-
unsigned int getEncodedRMWOperation (BinOp Op)Defined at line 696 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
void scalarizeMaskedExpandLoad (const DataLayout & DL, bool HasBranchDivergence, CallInst * CI, DomTreeUpdater * DTU, bool & ModifiedDT)Defined at line 696 of file llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
-
MCInstrAnalysis * createX86MCInstrAnalysis (const MCInstrInfo * Info)Defined at line 697 of file llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
-
bool getX86CpuIDAndInfoEx (unsigned int value, unsigned int subleaf, unsigned int * rEAX, unsigned int * rEBX, unsigned int * rECX, unsigned int * rEDX)getX86CpuIDAndInfoEx - Execute the specified cpuid with subleaf and return
the 4 values in the specified arguments. If we can't run cpuid on the host,
return true.
Defined at line 697 of file llvm/lib/TargetParser/Host.cpp
-
bool isKnownTypeIdMember (Metadata * TypeId, const DataLayout & DL, Value * V, uint64_t COffset)Defined at line 697 of file llvm/lib/Transforms/IPO/LowerTypeTests.cpp
-
basic_string getBlockName (const MachineBasicBlock * BB)Helper to print the name of a MBB.
Only used by debug logging.
Defined at line 698 of file llvm/lib/CodeGen/MachineBlockPlacement.cpp
-
void ProfileListInit (FoldingSetNodeID & ID, ArrayRef Elements, const RecTy * EltTy)Defined at line 698 of file llvm/lib/TableGen/Record.cpp
-
Value * foldSelectICmpAndZeroShl (const ICmpInst * Cmp, Value * TVal, Value * FVal, InstCombiner::BuilderTy & Builder)We want to turn:
(select (icmp eq (and X, C1), 0), 0, (shl [nsw/nuw] X, C2));
iff C1 is a mask and the number of its leading zeros is equal to C2
into:
shl X, C2
Defined at line 698 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool mayLoadFromGOTOrConstantPool (MachineInstr & MI)Return true if this machine instruction loads from global offset table or
constant pool.
Defined at line 699 of file llvm/lib/CodeGen/MachineSink.cpp
-
const char * getOptionHelpGroup (const OptTable & Opts, OptSpecifier Id)Defined at line 700 of file llvm/lib/Option/OptTable.cpp
-
bool printAsmVRegister (const MachineOperand & MO, char Mode, raw_ostream & O)Defined at line 700 of file llvm/lib/Target/X86/X86AsmPrinter.cpp
-
Twine genName (StringRef suffix)Defined at line 701 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
void thinlto_set_generated_objects_dir (thinlto_code_gen_t cg, const char * save_temps_dir)Set the path to a directory where to save generated object files. This
path can be used by a linker to request on-disk files instead of in-memory
buffers. When set, results are available through
thinlto_module_get_object_file() instead of thinlto_module_get_object().
Defined at line 701 of file llvm/tools/lto/lto.cpp
-
bool CanFlattenLoopPair (FlattenInfo & FI, DominatorTree * DT, LoopInfo * LI, ScalarEvolution * SE, AssumptionCache * AC, const TargetTransformInfo * TTI)Defined at line 701 of file llvm/lib/Transforms/Scalar/LoopFlatten.cpp
-
int findJumpTableIndex (const MachineBasicBlock & MBB)Defined at line 702 of file llvm/lib/CodeGen/MachineBasicBlock.cpp
-
Cursor maybeLexEscapedIRValue (Cursor C, MIToken & Token, function_ref ErrorCallback)Defined at line 702 of file llvm/lib/CodeGen/MIRParser/MILexer.cpp
-
template <typename TI, typename T>bool updateCycleLoopInfo (TI * LCI, BasicBlock * CallBrBlock, BasicBlock * CallBrTarget, BasicBlock * Succ)Helper function to update the cycle or loop information after inserting a
new block between a callbr instruction and one of its target blocks. Adds
the new block to the innermost cycle or loop that the callbr instruction and
the original target block share.
cycle or loop information to update
block containing the callbr instruction
new target block of the callbr instruction
original target block of the callbr instruction
Defined at line 702 of file llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
-
void LLVMInitializeX86TargetMC ()Force static initialization.
Defined at line 702 of file llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
-
OSType parseOS (StringRef OSName)Defined at line 703 of file llvm/lib/TargetParser/Triple.cpp
-
void moveFunctionData (Function & Old, Function & New, DenseMap<Value *, BasicBlock *> & NewEnds)Move each BasicBlock in
to
Parameters
Old [in] - The function to move the basic blocks from.New [in] - The function to move the basic blocks to.NewEnds [out] - The return blocks of the new overall function.Defined at line 703 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
Value * getIdentityValue (BinaryOps Opcode, Value * V)This function returns identity value for given opcode, which can be used to
factor patterns like (X * 2) + X ==> (X * 2) + (X * 1) ==> X * (2 + 1).
Defined at line 704 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
void AssertSorted (MemoryDependenceResults::NonLocalDepInfo & Cache, int Count)This method is used when -debug is specified to verify that cache arrays
are properly kept sorted.
Defined at line 704 of file llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
-
unsigned int getExtLoadOpcForExtend (unsigned int ExtOpc)Defined at line 704 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
bool updateOperand (Instruction * Inst, unsigned int Idx, Instruction * Mat)Updates the operand at Idx in instruction Inst with the result of
instruction Mat. If the instruction is a PHI node then special
handling for duplicate values from the same incoming basic block is
required.
Returns
The update will always succeed, but the return value indicated if
Mat was used for the update or not.
Defined at line 704 of file llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
-
bool dumpObjectFile (ObjectFile & Obj, DWARFContext & DICtx, const Twine & Filename, raw_ostream & OS)Defined at line 704 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
std::optional<std::pair<bool, bool>> parseFunctionPipelineName (StringRef Name)Defined at line 705 of file llvm/lib/Passes/PassBuilder.cpp
-
Value * getShiftedValue (Value * V, unsigned int NumBits, bool isLeftShift, InstCombinerImpl & IC, const DataLayout & DL)When canEvaluateShifted() returns true for an expression, this function
inserts the new computation that produces the shifted value.
Defined at line 705 of file llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
-
void AddNodeIDOpcode (FoldingSetNodeID & ID, unsigned int OpC)AddNodeIDOpcode - Add the node opcode to the NodeID data.
Defined at line 706 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
lto_bool_t thinlto_codegen_set_pic_model (thinlto_code_gen_t cg, )Sets which PIC code model to generate.
Returns true on error (check lto_get_error_message() for details).
Defined at line 706 of file llvm/tools/lto/lto.cpp
-
unsigned int calcUniqueIDUpdateFlagsAndSize (const GlobalObject * GO, StringRef SectionName, SectionKind Kind, const TargetMachine & TM, MCContext & Ctx, Mangler & Mang, unsigned int & Flags, unsigned int & EntrySize, unsigned int & NextUniqueID, const bool Retain, const bool ForceUnique)Calculate an appropriate unique ID for a section, and update Flags,
EntrySize and NextUniqueID where appropriate.
Defined at line 706 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
void getImpliedDisabledFeatures (FeatureBitset & Bits, unsigned int Value)Create bit vector of features that are implied disabled if the feature
passed in Value is disabled.
Defined at line 707 of file llvm/lib/TargetParser/X86TargetParser.cpp
-
bool tryToShortenEnd (Instruction * DeadI, int & IntervalMap, int64_t & DeadStart, uint64_t & DeadSize)Defined at line 707 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
Error macho2yaml (llvm::raw_ostream & Out, const llvm::object::Binary & Obj, unsigned int RawSegments)Defined at line 709 of file llvm/tools/obj2yaml/macho2yaml.cpp
-
void printExtendedName (raw_ostream & OS, const DINode * Node, const DILocation * DL)Defined at line 709 of file llvm/lib/CodeGen/LiveDebugVariables.cpp
-
bool isAnyArm64COFF (object::SymbolicFile & Obj)Defined at line 710 of file llvm/lib/Object/ArchiveWriter.cpp
-
void AddNodeIDValueTypes (FoldingSetNodeID & ID, SDVTList VTList)AddNodeIDValueTypes - Value type lists are intern'd so we can represent them
solely with their pointer.
Defined at line 712 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
SDNode * findGluedUser (SDNode * N)findGluedUser - Find the representative use of a glue value by walking
the use chain.
Defined at line 712 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
-
AllocaInst * CreateEntryBlockAlloca (Function * TheFunction, StringRef VarName)CreateEntryBlockAlloca - Create an alloca instruction in the entry block of
the function. This is used for mutable variables etc.
Defined at line 712 of file llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp
-
Value * simplifyByDomEq (unsigned int Opcode, Value * Op0, Value * Op1, const SimplifyQuery & Q, unsigned int MaxRecurse)Test if there is a dominating equivalence condition for the
two operands. If there is, try to reduce the binary operation
between the two operands.
Example: Op0 - Op1 --> 0 when Op0 == Op1
Defined at line 712 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool isAssociative (const COFFSection & Section)Defined at line 713 of file llvm/lib/MC/WinCOFFObjectWriter.cpp
-
void copyMetadataIfPresent (Function * From, Function * To, StringRef Kind)Copy all metadata of a specific kind from one function to another.
Defined at line 713 of file llvm/lib/Transforms/IPO/MergeFunctions.cpp
-
LLVMErrorRef LLVMOrcCreateStaticLibrarySearchGeneratorForPath (LLVMOrcDefinitionGeneratorRef * Result, LLVMOrcObjectLayerRef ObjLayer, const char * FileName)Get a LLVMOrcCreateStaticLibrarySearchGeneratorForPath that will reflect
static library symbols into the JITDylib. On success the resulting
generator is owned by the client. Ownership is typically transferred by
adding the instance to a JITDylib using LLVMOrcJITDylibAddGenerator,
Call with the optional TargetTriple argument will succeed if the file at
the given path is a static library or a MachO universal binary containing a
static library that is compatible with the given triple. Otherwise it will
return an error.
THIS API IS EXPERIMENTAL AND LIKELY TO CHANGE IN THE NEAR FUTURE!
Defined at line 713 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMTypeRef LLVMInt32Type ()Defined at line 696 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMInt64Type ()Defined at line 699 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMInt128Type ()Defined at line 702 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMIntType (unsigned int NumBits)Defined at line 705 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetIntTypeWidth (LLVMTypeRef IntegerTy)Defined at line 709 of file llvm/lib/IR/Core.cpp
-
RopePieceBTreeNode * getRoot (void * P)===----------------------------------------------------------------------===//
RopePieceBTree Implementation
===----------------------------------------------------------------------===//
Defined at line 714 of file llvm/lib/Support/RewriteRope.cpp
-
void AdjustStackOffset (MachineFrameInfo & MFI, int FrameIdx, bool StackGrowsDown, int64_t & Offset, Align & MaxAlign)AdjustStackOffset - Helper function used to adjust the stack frame offset.
Defined at line 714 of file llvm/lib/CodeGen/PrologEpilogInserter.cpp
-
LLVMTypeRef LLVMHalfTypeInContext (LLVMContextRef C)Obtain a 16-bit floating point type from a context.
Defined at line 715 of file llvm/lib/IR/Core.cpp
-
bool CantUseSP (const MachineFrameInfo & MFI)===----------------------------------------------------------------------===//
Stack Frame Processing methods
===----------------------------------------------------------------------===//
Defined at line 716 of file llvm/lib/Target/X86/X86RegisterInfo.cpp
-
DebugLoc getDebugLocFromInstOrOperands (Instruction * I)Look for a meaningful debug location on the instruction or its operands.
Defined at line 716 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
BinaryOps getBinOpsForFactorization (BinaryOps TopOpcode, BinaryOperator * Op, Value *& LHS, Value *& RHS, BinaryOperator * OtherOp)This function predicates factorization using distributive laws. By default,
it just returns the 'Op' inputs. But for special-cases like
'add(shl(X, 5), ...)', this function will have TopOpcode == Instruction::Add
and Op = shl(X, 5). The 'shl' is treated as the more general 'mul X, 32' to
allow more factorization opportunities.
Defined at line 716 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
void PrintRType (const uint64_t cputype, const unsigned int r_type)Defined at line 716 of file llvm/tools/llvm-objdump/MachODump.cpp
-
template <bool IsPoisonOnly = false>SmallBitVector isUndefVector (const Value * V, const SmallBitVector & UseMask)Checks if the given value is actually an undefined constant vector.
Also, if the
is not empty, tries to check if the non-masked
elements actually mask the insertelement buildvector, if any.
Defined at line 716 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void AddNodeIDOperands (FoldingSetNodeID & ID, ArrayRef<SDValue> Ops)AddNodeIDOperands - Various routines for adding operands to the NodeID data.
Defined at line 717 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
void splitSchedReadWrites (const ConstRecVec & RWDefs, ConstRecVec & WriteDefs, ConstRecVec & ReadDefs)Defined at line 717 of file llvm/utils/TableGen/Common/CodeGenSchedule.cpp
-
void writeToResolutionFile (raw_ostream & OS, InputFile * Input, ArrayRef<SymbolResolution> Res)Defined at line 717 of file llvm/lib/LTO/LTO.cpp
-
void printRuntimeFunctionRels (const COFFObjectFile * Obj, const RuntimeFunction & RF, uint64_t SectionOffset, const std::vector<RelocationRef> & Rels)Prints out the given RuntimeFunction struct for x64, assuming that Obj is
pointing to an object file. Unlike executable, fields in RuntimeFunction
struct are filled with zeros, but instead there are relocations pointing to
them so that the linker will fill targets' RVAs to the fields at link
time. This function interprets the relocations to find the data to be used
in the resulting executable.
Defined at line 717 of file llvm/tools/llvm-objdump/COFFDump.cpp
-
bool shouldGenerateData (const Function & F)Defined at line 718 of file llvm/lib/Passes/StandardInstrumentations.cpp
-
Error handleUserSection (const NewSectionInfo & NewSection, function_ref F)Defined at line 719 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
void getPHIDeps (const MachineInstr & UseMI, SmallVectorImpl<DataDep> & Deps, const MachineBasicBlock * Pred, const MachineRegisterInfo * MRI)Get the input data dependencies of a PHI instruction, using Pred as the
preferred predecessor.
This will add at most one dependency to Deps.
Defined at line 719 of file llvm/lib/CodeGen/MachineTraceMetrics.cpp
-
bool allUsesOfLoadedValueWillTrapIfNull (const GlobalVariable * GV)Return true if all uses of any loads from GV will trap if the loaded value
is null. Note that this also permits comparisons of the loaded value
against null, as a special case.
Defined at line 719 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool replaceExtractElements (InsertElementInst * InsElt, ExtractElementInst * ExtElt, InstCombinerImpl & IC)If we have insertion into a vector that is wider than the vector that we
are extracting from, try to widen the source vector to allow a single
shufflevector to replace one or more insert/extract pairs.
Defined at line 719 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
bool getX86XCR0 (unsigned int * rEAX, unsigned int * rEDX)Read control register 0 (XCR0). Used to detect features such as AVX.
Defined at line 720 of file llvm/lib/TargetParser/Host.cpp
-
void Passv64i1ArgInRegs (const SDLoc & DL, SelectionDAG & DAG, SDValue & Arg, SmallVectorImpl<std::pair<Register, SDValue>> & RegsToPass, CCValAssign & VA, CCValAssign & NextVA, const X86Subtarget & Subtarget)Breaks v64i1 value into two registers and adds the new node to the DAG
Defined at line 720 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
int llvm_libtool_darwin_main (int argc, char ** , const llvm::ToolContext & )Defined at line 730 of file llvm/tools/llvm-libtool-darwin/llvm-libtool-darwin.cpp
-
BasicBlock * CreateFailBB (Function * F, const TargetLowering & TLI)CreateFailBB - Create a basic block to jump to when the stack protector
check fails.
Defined at line 721 of file llvm/lib/CodeGen/StackProtector.cpp
-
bool shouldGenerateData (const MachineFunction & MF)Defined at line 722 of file llvm/lib/Passes/StandardInstrumentations.cpp
-
void forEachUser (const Value * User, SmallPtrSet<const Value *, 32> & Visited, function_ref Callback)Helper to iterate over indirect users. By returning false, the callback can ask to stop traversing further.
Defined at line 722 of file llvm/lib/IR/Verifier.cpp
-
const char * lfast (struct lmat * , const char * , const char * , sopno , sopno )- fast - step through the string at top speed
Defined at line 724 of file llvm/lib/Support/regengine.inc
-
const char * sfast (struct smat * , const char * , const char * , sopno , sopno )- fast - step through the string at top speed
Defined at line 724 of file llvm/lib/Support/regengine.inc
-
void printMBB (raw_ostream & OS, MFPrintState & State, const MachineBasicBlock & MBB)Defined at line 725 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
lto_input_t lto_input_create (const void * buffer, size_t buffer_size, const char * path)Creates an LTO input file from a buffer. The path
argument is used for diagnotics as this function
otherwise does not know which file the given buffer
is associated with.
Defined at line 728 of file llvm/tools/lto/lto.cpp
-
void lto_input_dispose (lto_input_t input)Frees all memory internally allocated by the LTO input file.
Upon return the lto_module_t is no longer valid.
Defined at line 732 of file llvm/tools/lto/lto.cpp
-
LLVMOrcThreadSafeContextRef LLVMOrcCreateNewThreadSafeContext ()Create a ThreadSafeContextRef containing a new LLVMContext.
Ownership of the underlying ThreadSafeContext data is shared: Clients
can and should dispose of their ThreadSafeContextRef as soon as they no
longer need to refer to it directly. Other references (e.g. from
ThreadSafeModules) will keep the underlying data alive as long as it is
needed.
Defined at line 730 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMTypeRef LLVMBFloatTypeInContext (LLVMContextRef C)Obtain a 16-bit brain floating point type from a context.
Defined at line 718 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMFloatTypeInContext (LLVMContextRef C)Obtain a 32-bit floating point type from a context.
Defined at line 721 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMDoubleTypeInContext (LLVMContextRef C)Obtain a 64-bit floating point type from a context.
Defined at line 724 of file llvm/lib/IR/Core.cpp
-
template <typename ConcreteType>void mapLeafRecordImpl (IO & IO, const char * Class, TypeLeafKind Kind, LeafRecord & Obj)Defined at line 724 of file llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp
-
void initializeExternalAAWrapperPassPassOnce (PassRegistry & Registry)Defined at line 726 of file llvm/lib/Analysis/AliasAnalysis.cpp
-
lto::InputFile * unwrap (lto_input_t P)Defined at line 726 of file llvm/tools/lto/lto.cpp
-
lto_input_t wrap (const lto::InputFile * P)Defined at line 726 of file llvm/tools/lto/lto.cpp
-
void AddNodeIDOperands (FoldingSetNodeID & ID, ArrayRef<SDUse> Ops)AddNodeIDOperands - Various routines for adding operands to the NodeID data.
Defined at line 726 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
uint64_t writeContent (ContiguousBlobAccumulator & CBA, const std::optional<yaml::BinaryRef> & Content, const std::optional<llvm::yaml::Hex64> & Size)Defined at line 726 of file llvm/lib/ObjectYAML/ELFEmitter.cpp
-
int unwindBacktrace (void ** StackTrace, int MaxEntries)Defined at line 726 of file llvm/lib/Support/Unix/Signals.inc
-
bool isFSqrtDivToFMulLegal (Instruction * X, SmallPtrSetImpl<Instruction *> & R1, SmallPtrSetImpl<Instruction *> & R2)Check legality for transforming
x = 1.0/sqrt(a)
r1 = x * x;
r2 = a/sqrt(a);
TO
r1 = 1/a
r2 = sqrt(a)
x = r1 * r2
This transform works only when 'a' is known positive.
Defined at line 726 of file llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
-
LLVMTypeRef LLVMX86FP80TypeInContext (LLVMContextRef C)Obtain a 80-bit floating point type (X87) from a context.
Defined at line 727 of file llvm/lib/IR/Core.cpp
-
std::optional<int> parseDevirtPassName (StringRef Name)Defined at line 727 of file llvm/lib/Passes/PassBuilder.cpp
-
bool simplifyLoopCFG (Loop & L, DominatorTree & DT, LoopInfo & LI, ScalarEvolution & SE, MemorySSAUpdater * MSSAU, bool & IsLoopDeleted)Defined at line 727 of file llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
-
Error getIncompatibleError (StringRef Ext1, StringRef Ext2)Defined at line 728 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
Error verifyNoteSection (StringRef Name, endianness Endianness, ArrayRef Data)Defined at line 728 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
void initializeDummyCGSCCPassPassOnce (PassRegistry & Registry)Defined at line 729 of file llvm/lib/Analysis/CallGraphSCCPass.cpp
-
bool isImportDescriptor (StringRef Name)Defined at line 729 of file llvm/lib/Object/ArchiveWriter.cpp
-
bool bothUsedInPHI (const MachineBasicBlock & A, const SmallPtrSet<MachineBasicBlock *, 8> & SuccsB)Defined at line 729 of file llvm/lib/CodeGen/TailDuplicator.cpp
-
optional combinePossibleConstantValues (optional LHS, optional RHS, Mode EvalMode)Defined at line 729 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
unsigned int getEncodedOrdering (AtomicOrdering Ordering)Defined at line 729 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool violatesLegacyMultiExitLoopCheck (Loop * L)This "heuristic" exactly matches implicit behavior which used to exist
inside getLoopEstimatedTripCount. It was added here to keep an
improvement inside that API from causing peeling to become more aggressive.
This should probably be removed.
Defined at line 729 of file llvm/lib/Transforms/Utils/LoopPeel.cpp
-
void generateGetDirectiveAssociation (const DirectiveLanguage & DirLang, raw_ostream & OS)Defined at line 729 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
LLVMTypeRef LLVMFP128TypeInContext (LLVMContextRef C)Obtain a 128-bit floating point type (112-bit mantissa) from a
context.
Defined at line 730 of file llvm/lib/IR/Core.cpp
-
Function * getOrInsertIntrinsicDeclarationImpl (Module * M, Intrinsic::ID id, ArrayRef Tys, FunctionType * FT)Defined at line 730 of file llvm/lib/IR/Intrinsics.cpp
-
bool constantIsDead (const Constant * C, bool RemoveDeadUsers)Return true if the specified constantexpr is dead. This involves
recursively traversing users of the constantexpr.
If RemoveDeadUsers is true, also remove dead users at the same time.
Defined at line 730 of file llvm/lib/IR/Constants.cpp
-
Instruction * unpackLoadToAggregate (InstCombinerImpl & IC, LoadInst & LI)Defined at line 730 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
void printSymbolList (SymbolicFile & Obj, int & SymbolList, bool printName, StringRef ArchiveName, StringRef ArchitectureName)Defined at line 730 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
void ProcessSDDbgValues (SDNode * N, SelectionDAG * DAG, InstrEmitter & Emitter, SmallVectorImpl<std::pair<unsigned int, MachineInstr *>> & Orders, int & VRBaseMap, unsigned int Order)ProcessSDDbgValues - Process SDDbgValues associated with this node.
Defined at line 731 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
-
void collectEHScopeMembers (int & EHScopeMembership, int EHScope, const MachineBasicBlock * MBB)Defined at line 732 of file llvm/lib/CodeGen/Analysis.cpp
-
LLVMTypeRef LLVMPPCFP128TypeInContext (LLVMContextRef C)Obtain a 128-bit floating point type (two 64-bits) from a context.
Defined at line 733 of file llvm/lib/IR/Core.cpp
-
Error getExtensionRequiresError (StringRef Ext, StringRef ReqExt)Defined at line 733 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
unsigned int getLeaOP (LLT Ty, const X86Subtarget & STI)Defined at line 733 of file llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
-
template <typename IntTy, std::enable_if_t<std::is_unsigned_v<IntTy>, int> = 0>IntTy readULEB128As (DataExtractor & Data, DataExtractor::Cursor & Cur, Error & ULEBSizeErr)Helper to extract and decode the next ULEB128 value as unsigned int.
Returns zero and sets ULEBSizeErr if the ULEB128 value exceeds the unsigned
int limit.
Also returns zero if ULEBSizeErr is already in an error state.
ULEBSizeErr is an out variable if an error occurs.
Defined at line 733 of file llvm/lib/Object/ELF.cpp
-
int llvm_lipo_main (int argc, char ** argv, const llvm::ToolContext & )Defined at line 734 of file llvm/tools/llvm-lipo/llvm-lipo.cpp
-
Option * getOptionPred (StringRef Name, size_t & Length, bool (*)(const Option *) Pred, const StringMap<Option *> & OptionsMap)getOptionPred - Check to see if there are any options that satisfy the
specified predicate with names that are the prefixes in Name. This is
checked by progressively stripping characters off of the name, checking to
see if there options that satisfy the predicate. If we find one, return it,
otherwise return null.
Defined at line 735 of file llvm/lib/Support/CommandLine.cpp
-
unsigned int lto_input_get_num_dependent_libraries (lto_input_t input)Returns the number of dependent library specifiers
for the given LTO input file.
Defined at line 736 of file llvm/tools/lto/lto.cpp
-
LLVMOrcThreadSafeContextRef LLVMOrcCreateNewThreadSafeContextFromLLVMContext (LLVMContextRef Ctx)Create a ThreadSafeContextRef from a given LLVMContext, which must not be
associated with any existing ThreadSafeContext.
The underlying ThreadSafeContext will take ownership of the LLVMContext
object, so clients should not free the LLVMContext passed to this
function.
Ownership of the underlying ThreadSafeContext data is shared: Clients
can and should dispose of their ThreadSafeContextRef as soon as they no
longer need to refer to it directly. Other references (e.g. from
ThreadSafeModules) will keep the underlying data alive as long as it is
needed.
Defined at line 734 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void AddNodeIDNode (FoldingSetNodeID & ID, unsigned int OpC, SDVTList VTList, ArrayRef<SDValue> OpList)Defined at line 734 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
MachineOperand GetMOForConstDbgOp (const SDDbgOperand & Op)Defined at line 734 of file llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
-
template <typename T0, typename T1, typename T2, typename T3>InvokeInst * CreateGCStatepointInvokeCommon (IRBuilderBase * Builder, uint64_t ID, uint32_t NumPatchBytes, FunctionCallee ActualInvokee, BasicBlock * NormalDest, BasicBlock * UnwindDest, uint32_t Flags, ArrayRef<T0> InvokeArgs, std::optional<ArrayRef<T1>> TransitionArgs, std::optional<ArrayRef<T2>> DeoptArgs, ArrayRef<T3> GCArgs, const Twine & Name)Defined at line 734 of file llvm/lib/IR/IRBuilder.cpp
-
bool tryToShortenBegin (Instruction * DeadI, int & IntervalMap, int64_t & DeadStart, uint64_t & DeadSize)Defined at line 734 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
void dumpEdges (CFGMST<Edge, BBInfo> & MST, GCOVFunction & GF)Defined at line 735 of file llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
-
void emitNullTerminatedSymbolName (MCStreamer & OS, StringRef S, unsigned int MaxFixedRecordLength)Defined at line 735 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
VPScalarIVStepsRecipe * createScalarIVSteps (VPlan & Plan, InductionKind Kind, BinaryOps InductionOpcode, FPMathOperator * FPBinOp, Instruction * TruncI, VPValue * StartV, VPValue * Step, DebugLoc DL, VPBuilder & Builder)Defined at line 735 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
LLVMTypeRef LLVMX86AMXTypeInContext (LLVMContextRef C)Create a X86 AMX type in a context.
Defined at line 736 of file llvm/lib/IR/Core.cpp
-
void debugVectorizationMessage (StringRef Prefix, StringRef DebugMsg, Instruction * I)Defined at line 736 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
Value * foldSelectICmpLshrAshr (const ICmpInst * IC, Value * TrueVal, Value * FalseVal, InstCombiner::BuilderTy & Builder)We want to turn:
(select (icmp sgt x, C), lshr (X, Y), ashr (X, Y)); iff C s>= -1
(select (icmp slt x, C), ashr (X, Y), lshr (X, Y)); iff C s>= 0
into:
ashr (X, Y)
Defined at line 736 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
Expected getSymbols (SymbolicFile * Obj, uint16_t Index, raw_ostream & SymNames, SymMap * SymMap)Defined at line 736 of file llvm/lib/Object/ArchiveWriter.cpp
-
void initializeAAResultsWrapperPassPassOnce (PassRegistry & Registry)Defined at line 738 of file llvm/lib/Analysis/AliasAnalysis.cpp
-
Error checkDylibCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex, const char * CmdName)Defined at line 738 of file llvm/lib/Object/MachOObjectFile.cpp
-
void updatePhysDepsDownwards (const MachineInstr * UseMI, SmallVectorImpl<DataDep> & Deps, int & RegUnits, const TargetRegisterInfo * TRI)Identify physreg dependencies for UseMI, and update the live regunit
tracking set when scanning instructions downwards.
Defined at line 738 of file llvm/lib/CodeGen/MachineTraceMetrics.cpp
-
void LLVMOrcDisposeThreadSafeContext (LLVMOrcThreadSafeContextRef TSCtx)Dispose of a ThreadSafeContext.
Defined at line 739 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void printSectionSizes (json::OStream & J, const SectionSizes & Sizes)Defined at line 739 of file llvm/tools/llvm-dwarfdump/Statistics.cpp
-
LLVMTypeRef LLVMHalfType ()Obtain a floating point type from the global context.
These map to the functions in this group of the same name.
Defined at line 740 of file llvm/lib/IR/Core.cpp
-
uint64_t SpecialAddr (MCDwarfLineTableParams Params, uint64_t op)Given a special op, return the address skip amount (in units of
DWARF2_LINE_MIN_INSN_LENGTH).
Defined at line 740 of file llvm/lib/MC/MCDwarf.cpp
-
const char * lto_input_get_dependent_library (lto_input_t input, size_t index, size_t * size)Returns the ith dependent library specifier
for the given LTO input file. The returned
string is not null-terminated.
Defined at line 740 of file llvm/tools/lto/lto.cpp
-
void detectX86FamilyModel (unsigned int EAX, unsigned int * Family, unsigned int * Model)Defined at line 740 of file llvm/lib/TargetParser/Host.cpp
-
optional aggregatePossibleConstantValuesImpl (const Value * V, Mode EvalMode, unsigned int BitWidth, unsigned int recursionDepth)Defined at line 741 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
void writeStringRecord (BitstreamWriter & Stream, unsigned int Code, StringRef Str, unsigned int AbbrevToUse)Defined at line 742 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
StringRef getDefaultLinkSec (unsigned int SecType)Defined at line 742 of file llvm/lib/ObjectYAML/ELFEmitter.cpp
-
int llvm_rc_main (int Argc, char ** Argv, const llvm::ToolContext & )Defined at line 742 of file llvm/tools/llvm-rc/llvm-rc.cpp
-
Instruction * simplifyNeonTbl (IntrinsicInst & II, InstCombiner & IC, bool IsExtension)Convert `tbl`/`tbx` intrinsics to shufflevector if the mask is constant, and
at most two source operands are actually referenced.
Defined at line 742 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
void AddNodeIDCustom (FoldingSetNodeID & ID, const SDNode * N)If this is an SDNode with special info, add this info to the NodeID data.
Defined at line 742 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
void initializeTypeBasedAAWrapperPassPassOnce (PassRegistry & Registry)Defined at line 743 of file llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
-
LLVMTypeRef LLVMBFloatType ()Defined at line 743 of file llvm/lib/IR/Core.cpp
-
DIType * createTypeWithFlags (const DIType * Ty, DIFlags FlagsToSet)Defined at line 743 of file llvm/lib/IR/DIBuilder.cpp
-
MDNode * getUnrollMetadataForLoop (const Loop * L, StringRef Name)Returns the loop hint metadata node with the given name (for example,
"llvm.loop.unroll.count"). If no such metadata node exists, then nullptr is
returned.
Defined at line 743 of file llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
-
void raiseUserConstantDataAllocasToEntryBlock (IRBuilderBase & Builder, Function * Function)Defined at line 743 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
uint64_t XXH_xorshift64 (uint64_t v64, int shift)Seems to produce slightly better code on GCC for some reason.
Defined at line 744 of file llvm/lib/Support/xxhash.cpp
-
bool regIsPICBase (Register BaseReg, const MachineRegisterInfo & MRI)Return true if register is PIC base; i.e.g defined by X86::MOVPC32r.
Defined at line 744 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
basic_string getDecoderString (const InstructionEncoding & Encoding)Defined at line 744 of file llvm/utils/TableGen/DecoderEmitter.cpp
-
void addChildMember (std::vector<NewArchiveMember> & Members, const object::Archive::Child & M, bool FlattenArchive)Defined at line 744 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
void computeFreeStackSlots (MachineFrameInfo & MFI, bool StackGrowsDown, int64_t FixedCSEnd, BitVector & StackBytesFree)Compute which bytes of fixed and callee-save stack area are unused and keep
track of them in StackBytesFree.
Defined at line 744 of file llvm/lib/CodeGen/PrologEpilogInserter.cpp
-
void printUnexpectedRawAuxEnt (ScopedPrinter & W, uintptr_t AuxAddress)Defined at line 745 of file llvm/tools/llvm-readobj/XCOFFDumper.cpp
-
Value * tryFactorization (BinaryOperator & I, const SimplifyQuery & SQ, InstCombiner::BuilderTy & Builder, BinaryOps InnerOpcode, Value * A, Value * B, Value * C, Value * D)This tries to simplify binary operations by factorizing out common terms
(e. g. "(A*B)+(A*C)" -> "A*(B+C)").
Defined at line 745 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
const char *const * lto_runtime_lib_symbols_list (size_t * size)Returns the list of libcall symbols that can be generated by LTO
that might not be visible from the symbol table of bitcode files.
Defined at line 746 of file llvm/tools/lto/lto.cpp
-
LLVMErrorRef LLVMOrcThreadSafeModuleWithModuleDo (LLVMOrcThreadSafeModuleRef TSM, LLVMOrcGenericIRModuleOperationFunction F, void * Ctx)Apply the given function to the module contained in this ThreadSafeModule.
Defined at line 743 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMTypeRef LLVMFloatType ()Defined at line 746 of file llvm/lib/IR/Core.cpp
-
bool mayInstNodeLoadOrStore (const TreePatternNode & N, const CodeGenDAGPatterns & CGP)Defined at line 746 of file llvm/utils/TableGen/DAGISelMatcherGen.cpp
-
void updateVarsWithAbstractOriginLocCovInfo (DWARFDie FnDieWithAbstractOrigin, AbstractOriginVarsTy & AbstractOriginVars)Stop tracking variables that contain abstract_origin with a location.
This is used for out-of-order DW_AT_inline subprograms only.
Defined at line 746 of file llvm/tools/llvm-dwarfdump/Statistics.cpp
-
Value * simplifySubInst (Value * Op0, Value * Op1, bool IsNSW, bool IsNUW, const SimplifyQuery & Q, unsigned int MaxRecurse)Given operands for a Sub, see if we can fold the result.
If not, this returns null.
Defined at line 746 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool DoFlattenLoopPair (FlattenInfo & FI, DominatorTree * DT, LoopInfo * LI, ScalarEvolution * SE, AssumptionCache * AC, const TargetTransformInfo * TTI, LPMUpdater * U, MemorySSAUpdater * MSSAU)Defined at line 747 of file llvm/lib/Transforms/Scalar/LoopFlatten.cpp
-
bool outputDenormalIsIEEEOrPosZero (const MachineFunction & MF, LLT Ty)Defined at line 748 of file llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
-
LLVMOrcThreadSafeModuleRef LLVMOrcCreateNewThreadSafeModule (LLVMModuleRef M, LLVMOrcThreadSafeContextRef TSCtx)Create a ThreadSafeModule wrapper around the given LLVM module. This takes
ownership of the M argument which should not be disposed of or referenced
after this function returns.
Ownership of the ThreadSafeModule is unique: If it is transferred to the JIT
(e.g. by LLVMOrcLLJITAddLLVMIRModule) then the client is no longer
responsible for it. If it is not transferred to the JIT then the client
should call LLVMOrcDisposeThreadSafeModule to dispose of it.
Defined at line 751 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMTypeRef LLVMDoubleType ()Defined at line 749 of file llvm/lib/IR/Core.cpp
-
XXH128_hash_t XXH3_len_1to3_128b (const uint8_t * input, size_t len, const uint8_t * secret, uint64_t seed)Defined at line 749 of file llvm/lib/Support/xxhash.cpp
-
bool hasUnrollFullPragma (const Loop * L)Returns true if the loop has an unroll(full) pragma.
Defined at line 750 of file llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
-
void initializeObjCARCContractLegacyPassPassOnce (PassRegistry & Registry)Defined at line 750 of file llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
-
EnvironmentType parseEnvironment (StringRef EnvironmentName)Defined at line 751 of file llvm/lib/TargetParser/Triple.cpp
-
template <typename ELFT>Expected decodeBBAddrMapImpl (const ELFFile<ELFT> & EF, const typename ELFFile<ELFT>::Elf_Shdr & Sec, const typename ELFFile<ELFT>::Elf_Shdr * RelaSec, std::vector<PGOAnalysisMap> * PGOAnalyses)Defined at line 751 of file llvm/lib/Object/ELF.cpp
-
LLVMTypeRef LLVMX86FP80Type ()Defined at line 752 of file llvm/lib/IR/Core.cpp
-
bool cmpExcludesZero (Predicate Pred, const Value * RHS)TODO: cmpExcludesZero misses many cases where `RHS` is non-constant but
we still have enough information about `RHS` to conclude non-zero. For
example Pred=EQ, RHS=isKnownNonZero. cmpExcludesZero is called in loops
so the extra compile time may not be worth it, but possibly a second API
should be created for use outside of loops.
Defined at line 752 of file llvm/lib/Analysis/ValueTracking.cpp
-
Value * checkForNegativeOperand (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Checks if any operand is negative and we can convert add to sub.
This function checks for following negative patterns
ADD(XOR(OR(Z, NOT(C)), C)), 1) == NEG(AND(Z, C))
ADD(XOR(AND(Z, C), C), 1) == NEG(OR(Z, ~C))
XOR(AND(Z, C), (C + 1)) == NEG(OR(Z, ~C)) if C is even
Defined at line 752 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
void findFuncPointers (const Constant * I, uint64_t StartingOffset, const Module & M, ModuleSummaryIndex & Index, VTableFuncList & VTableFuncs, const GlobalVariable & OrigGV)Find function pointers referenced within the given vtable initializer
(or subset of an initializer)
The starting offset of
within
the vtable initializer is
Any discovered function
pointers are added to
along with their cumulative offset
within the initializer.
Defined at line 752 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
int getPtrToIdxMap (ArrayRef<RuntimeCheckingPtrGroup> CheckingGroups)Assign each RuntimeCheckingPtrGroup pointer an index for stable UTC output.
Defined at line 753 of file llvm/lib/Analysis/LoopAccessAnalysis.cpp
-
struct jit_code_entry * findNextDebugDescriptorEntry (struct jit_code_entry * Latest)Defined at line 753 of file llvm/tools/lli/lli.cpp
-
void allUsesOfLoadAndStores (GlobalVariable * GV, SmallVector<Value *, 4> & Uses)Get all the loads/store uses for global variable
Defined at line 753 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
void writeIRFileDisplayName (raw_ostream & ResultStream, Any IR)Defined at line 753 of file llvm/lib/Passes/StandardInstrumentations.cpp
-
bool isOperandUnresolved (Metadata * Op)Defined at line 754 of file llvm/lib/IR/Metadata.cpp
-
unsigned int numNodesThatMayLoadOrStore (const TreePatternNode & N, const CodeGenDAGPatterns & CGP)Defined at line 754 of file llvm/utils/TableGen/DAGISelMatcherGen.cpp
-
bool checkDependencies (Loop & Root, const BasicBlockSet & SubLoopBlocks, const DenseMap<Loop *, BasicBlockSet> & ForeBlocksMap, const DenseMap<Loop *, BasicBlockSet> & AftBlocksMap, DependenceInfo & DI, LoopInfo & LI)Defined at line 754 of file llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
-
LLVMTypeRef LLVMFP128Type ()Defined at line 755 of file llvm/lib/IR/Core.cpp
-
OptimizationRemarkAnalysis createLVAnalysis (const char * PassName, StringRef RemarkName, Loop * TheLoop, Instruction * I, DebugLoc DL)Create an analysis remark that explains why vectorization failed
is the name of the pass (e.g. can be AlwaysPrint).
is the identifier for the remark. If
is passed it is an
instruction that prevents vectorization. Otherwise
is used for
the location of the remark. If
is passed, use it as debug location for
the remark.
Returns
the remark object that can be streamed to.
Defined at line 755 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
bool canRenameComdat (Function & F, int & ComdatMembers)Check if we can safely rename this Comdat function.
Defined at line 755 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
StringRef getIntelProcessorTypeAndSubtype (unsigned int Family, unsigned int Model, const unsigned int * Features, unsigned int * Type, unsigned int * Subtype)Defined at line 755 of file llvm/lib/TargetParser/Host.cpp
-
bool hasUnrollEnablePragma (const Loop * L)Returns true if the loop has an unroll(enable) pragma. This metadata is used
for both "#pragma unroll" and "#pragma clang loop unroll(enable)" directives.
Defined at line 756 of file llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
-
template <typename ConcreteType>void mapMemberRecordImpl (IO & IO, const char * Class, TypeLeafKind Kind, MemberRecord & Obj)Defined at line 756 of file llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp
-
Predicate getIntPredicateFromMD (const Value * Op)Defined at line 757 of file llvm/lib/IR/IntrinsicInst.cpp
-
uint64_t getAttrKindEncoding (AttrKind Kind)Defined at line 757 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
void LLVMOrcDisposeThreadSafeModule (LLVMOrcThreadSafeModuleRef TSM)Dispose of a ThreadSafeModule. This should only be called if ownership has
not been passed to LLJIT (e.g. because some error prevented the client from
adding this to the JIT).
Defined at line 758 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMTypeRef LLVMPPCFP128Type ()Defined at line 758 of file llvm/lib/IR/Core.cpp
-
Domain getDomain (const ConstantRange & CR)Defined at line 758 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void createIrreducibleLoop (BlockFrequencyInfoImplBase & BFI, const IrreducibleGraph & G, LoopData * OuterLoop, _List_iterator Insert, const std::vector<const IrreducibleGraph::IrrNode *> & SCC)Defined at line 758 of file llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp
-
void createMemMoveLoopKnownSize (Instruction * InsertBefore, Value * SrcAddr, Value * DstAddr, ConstantInt * CopyLen, Align SrcAlign, Align DstAlign, bool SrcIsVolatile, bool DstIsVolatile, const TargetTransformInfo & TTI)Similar to createMemMoveLoopUnknownSize, only the trip counts are computed at
compile time, obsolete loops and branches are omitted, and the residual code
is straight-line code instead of a loop.
Defined at line 758 of file llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
-
void dumpUUID (raw_ostream & OS, const ObjectFile & Obj)Dump the UUID load command.
Defined at line 759 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
LLVMTypeRef LLVMX86AMXType ()Defined at line 761 of file llvm/lib/IR/Core.cpp
-
bool hasRuntimeUnrollDisablePragma (const Loop * L)Returns true if the loop has an runtime unroll(disable) pragma.
Defined at line 761 of file llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
-
bool verifyObjectFile (ObjectFile & Obj, DWARFContext & DICtx, const Twine & Filename, raw_ostream & OS)Defined at line 761 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
void findConstants (IRSimilarityCandidate & C, DenseSet<unsigned int> & NotSame, std::vector<unsigned int> & Inputs)Find the constants that will need to be lifted into arguments
as they are not the same in each instance of the region.
Parameters
C [in] - The IRSimilarityCandidate containing the region we are analyzing.NotSame [in] - The set of global value numbers that do not have a single Constant across all OutlinableRegions similar toInputs [out] - The list containing the global value numbers of the arguments needed for the region of code.Defined at line 761 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
LLVMErrorRef TryToGenerateWithSuspendedLookup (LLVMOrcDefinitionGeneratorRef GeneratorObj, void * RawCtx, LLVMOrcLookupStateRef * LookupState, Kind, LLVMOrcJITDylibRef JD, JDLookupFlags, LLVMOrcCLookupSet LookupSet, size_t LookupSetSize)Defined at line 761 of file llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
-
void PrintRLength (const uint64_t cputype, const unsigned int r_type, const unsigned int r_length, const bool previous_arm_half)Defined at line 761 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void initializePeepholeOptimizerLegacyPassOnce (PassRegistry & Registry)Defined at line 762 of file llvm/lib/CodeGen/PeepholeOptimizer.cpp
-
bool isSchedBoundary (int MI, MachineBasicBlock * MBB, MachineFunction * MF, const TargetInstrInfo * TII)Return true of the given instruction should not be included in a scheduling
region.
MachineScheduler does not currently support scheduling across calls. To
handle calls, the DAG builder needs to be modified to create register
anti/output dependencies on the registers clobbered by the call's regmask
operand. In PreRA scheduling, the stack pointer adjustment already prevents
scheduling across calls. In PostRA scheduling, we need the isCall to enforce
the boundary, but there would be no benefit to postRA scheduling across
calls this late anyway.
Defined at line 762 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
LLVMErrorRef LLVMOrcJITTargetMachineBuilderDetectHost (LLVMOrcJITTargetMachineBuilderRef * Result)Create a JITTargetMachineBuilder by detecting the host.
On success the client owns the resulting JITTargetMachineBuilder. It must be
passed to a consuming operation (e.g.
LLVMOrcLLJITBuilderSetJITTargetMachineBuilder) or disposed of by calling
LLVMOrcDisposeJITTargetMachineBuilder.
Defined at line 762 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
ToolOutputFile & claimToolOutput ()Defined at line 762 of file llvm/tools/lli/lli.cpp
-
basic_string getPredicateString (const InstructionEncoding & Encoding, StringRef TargetName)Defined at line 763 of file llvm/utils/TableGen/DecoderEmitter.cpp
-
Constant * tryToMergePartialOverlappingStores (StoreInst * KillingI, StoreInst * DeadI, int64_t KillingOffset, int64_t DeadOffset, const DataLayout & DL, BatchAAResults & AA, DominatorTree * DT)Defined at line 763 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
Option * HandlePrefixedOrGroupedOption (StringRef & Arg, StringRef & Value, bool & ErrorParsing, const StringMap<Option *> & OptionsMap)HandlePrefixedOrGroupedOption - The specified argument string (which started
with at least one '-') does not fully match an available option. Check to
see if this is a prefix or grouped option. If so, split arg into output an
Arg/Value pair and return the Option to parse it with.
Defined at line 763 of file llvm/lib/Support/CommandLine.cpp
-
int p_count (struct parse * )Defined at line 764 of file llvm/lib/Support/regcomp.c
-
void TestLineTableDecodeError (endianness ByteOrder, StringRef Bytes, const uint64_t BaseAddr, basic_string ExpectedErrorMsg)Defined at line 765 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
template <typename DirIter>void checkContents (DirIter I, ArrayRef ExpectedOut)Defined at line 766 of file llvm/unittests/Support/VirtualFileSystemTest.cpp
-
LLVMTypeRef LLVMFunctionType (LLVMTypeRef ReturnType, LLVMTypeRef * ParamTypes, unsigned int ParamCount, LLVMBool IsVarArg)Obtain a function type consisting of a specified signature.
The function is defined as a tuple of a return Type, a list of
parameter types, and whether the function is variadic.
Defined at line 767 of file llvm/lib/IR/Core.cpp
-
unsigned int unrollCountPragmaValue (const Loop * L)If loop has an unroll_count pragma return the (necessarily
positive) value from the pragma. Otherwise return 0.
Defined at line 767 of file llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
-
bool canShiftBinOpWithConstantRHS (BinaryOperator & Shift, BinaryOperator * BO)If this is a bitwise operator or add with a constant RHS we might be able
to pull it through a shift.
Defined at line 767 of file llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
-
void GroupByComplexity (SmallVectorImpl<const SCEV *> & Ops, LoopInfo * LI, DominatorTree & DT)Given a list of SCEV objects, order them by their complexity, and group
objects of the same complexity together by value. When this routine is
finished, we know that any duplicates in the vector are consecutive and that
complexity is monotonically increasing.
Note that we go take special precautions to ensure that we get deterministic
results from this routine. In other words, we don't want the results of
this to depend on where the addresses of various SCEV objects happened to
land in memory.
Defined at line 767 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
Value * NegateValue (Value * V, Instruction * BI, ReassociatePass::OrderedSet & ToRedo)Insert instructions before the instruction pointed to by BI,
that computes the negative version of the value specified. The negative
version of the value is returned, and BI is left pointing at the instruction
that should be processed next by the reassociation pass.
Also add intermediate instructions to the redo list that are modified while
pushing the negates through adds. These will be revisited to see if
additional opportunities have been exposed.
Defined at line 767 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
bool narrowSDivOrSRem (BinaryOperator * Instr, const ConstantRange & LCR, const ConstantRange & RCR)Try to shrink a sdiv/srem's width down to the smallest power of two that's
sufficient to contain its operands.
Defined at line 768 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void collectZeroLocCovForVarsWithAbstractOrigin (DWARFUnit * DwUnit, GlobalStats & GlobalStats, LocationStats & LocStats, AbstractOriginVarsTyMap & LocalAbstractOriginFnInfo, FunctionsWithAbstractOriginTy & FnsWithAbstractOriginToBeProcessed)Collect zero location coverage for inlined variables which refer to
a DW_AT_inline copy of subprogram that is out of order in the DWARF.
Also cover the variables of a concrete function (represented with
the DW_TAG_subprogram) with an abstract_origin attribute.
Defined at line 769 of file llvm/tools/llvm-dwarfdump/Statistics.cpp
-
Error checkDylibIdCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex, const char ** LoadCmd)Defined at line 770 of file llvm/lib/Object/MachOObjectFile.cpp
-
LoadCommandType getLCFromMCVM (MCVersionMinType Type)Defined at line 771 of file llvm/lib/MC/MachObjectWriter.cpp
-
PHINode * getLoopPhiForCounter (Value * IncV, Loop * L)Given an Value which is hoped to be part of an add recurance in the given
loop, return the associated Phi node if so. Otherwise, return null. Note
that this is less general than SCEVs AddRec checking.
Defined at line 771 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
bool upgradeArmOrAarch64IntrinsicFunction (bool IsArm, Function * F, StringRef Name, Function *& NewFn)Upgrade ARM (IsArm) or Aarch64 (!IsArm) intrinsic fns. Return true iff so.
IsArm: 'arm.*', !IsArm: 'aarch64.*'.
Defined at line 771 of file llvm/lib/IR/AutoUpgrade.cpp
-
void getSchedRegions (MachineBasicBlock * MBB, MBBRegionsVector & Regions, bool RegionsTopDown)Defined at line 772 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
bool OptimizeAwayTrappingUsesOfValue (Value * V, Constant * NewV)Defined at line 772 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
LLVMBool LLVMIsFunctionVarArg (LLVMTypeRef FunctionTy)Returns whether a function type is variadic.
Defined at line 774 of file llvm/lib/IR/Core.cpp
-
KnownBits avgComputeU (KnownBits LHS, KnownBits RHS, bool IsCeil)Defined at line 774 of file llvm/lib/Support/KnownBits.cpp
-
optional aggregatePossibleConstantValues (const Value * V, Mode EvalMode, unsigned int BitWidth)Defined at line 774 of file llvm/lib/Analysis/MemoryBuiltins.cpp
-
bool tryOptimizeLEAtoMOV (int II)tryOptimizeLEAtoMOV - helper function that tries to replace a LEA instruction
of the form 'lea (%esp), %ebx' --> 'mov %esp, %ebx'.
TODO: In this case we should be really trying first to entirely eliminate
this instruction which is a plain copy.
Defined at line 774 of file llvm/lib/Target/X86/X86RegisterInfo.cpp
-
void initializeLoopSimplifyPassOnce (PassRegistry & Registry)Defined at line 775 of file llvm/lib/Transforms/Utils/LoopSimplify.cpp
-
SmallVector collectUsersRecursively (VPValue * V)Defined at line 775 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
unique_ptr CleanupAndPrepareModules (BugDriver & BD, unique_ptr Test, Module * Safe)Get the specified modules ready for code generator testing.
Defined at line 776 of file llvm/tools/bugpoint/Miscompilation.cpp
-
void disassembleObject (llvm::object::ObjectFile * , bool InlineRelocs)Defined at line of file
-
int enablezOSAutoConversion (int FD)Defined at line of file
-
void emitX86Nops (MCStreamer & OS, unsigned int NumBytes, const X86Subtarget * Subtarget)Emit a minimal sequence of nops spanning NumBytes bytes.
Defined at line 776 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
LLVMOrcJITTargetMachineBuilderRef LLVMOrcJITTargetMachineBuilderCreateFromTargetMachine (LLVMTargetMachineRef TM)Create a JITTargetMachineBuilder from the given TargetMachine template.
This operation takes ownership of the given TargetMachine and destroys it
before returing. The resulting JITTargetMachineBuilder is owned by the client
and must be passed to a consuming operation (e.g.
LLVMOrcLLJITBuilderSetJITTargetMachineBuilder) or disposed of by calling
LLVMOrcDisposeJITTargetMachineBuilder.
Defined at line 776 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
XXH128_hash_t XXH3_len_4to8_128b (const uint8_t * input, size_t len, const uint8_t * secret, uint64_t seed)Defined at line 776 of file llvm/lib/Support/xxhash.cpp
-
void updateNewSCCFunctionAnalyses (LazyCallGraph::SCC & C, LazyCallGraph & G, CGSCCAnalysisManager & AM, FunctionAnalysisManager & FAM)When a new SCC is created for the graph we first update the
FunctionAnalysisManager in the Proxy's result.
As there might be function analysis results cached for the functions now in
that SCC, two forms of updates are required.
First, a proxy from the SCC to the FunctionAnalysisManager needs to be
created so that any subsequent invalidation events to the SCC are
propagated to the function analysis results cached for functions within it.
Second, if any of the functions within the SCC have analysis results with
outer analysis dependencies, then those dependencies would point to the
*wrong* SCC's analysis result. We forcibly invalidate the necessary
function analyses so that they don't retain stale handles.
Defined at line 776 of file llvm/lib/Analysis/CGSCCPassManager.cpp
-
bool areTypesABICompatible (ArrayRef Types, const Function & F, const TargetTransformInfo & TTI)Check if callers and callee agree on how promoted arguments would be
passed.
Defined at line 777 of file llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
-
void ProcessSourceNode (SDNode * N, SelectionDAG * DAG, InstrEmitter & Emitter, int & VRBaseMap, SmallVectorImpl<std::pair<unsigned int, MachineInstr *>> & Orders, int & Seen, MachineInstr * NewInsn)ProcessSourceNode - Process nodes with source order numbers. These are added
to a vector which EmitSchedule uses to determine how to insert dbg_value
instructions in the right order.
Defined at line 777 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
-
Expected computeMemberData (raw_ostream & StringTable, raw_ostream & SymNames, Kind Kind, bool Thin, bool Deterministic, SymtabWritingMode NeedSymbols, SymMap * SymMap, LLVMContext & Context, ArrayRef NewMembers, optional IsEC, function_ref Warn)Defined at line 777 of file llvm/lib/Object/ArchiveWriter.cpp
-
int disablezOSAutoConversion (int FD)Defined at line of file
-
void exportCoverageDataToJson (const coverage::CoverageMapping & CoverageMapping, const CoverageViewOptions & Options, raw_ostream & OS)Defined at line of file
-
LLVMTypeRef LLVMGetReturnType (LLVMTypeRef FunctionTy)Obtain the Type this function Type returns.
Defined at line 778 of file llvm/lib/IR/Core.cpp
-
void getArrayElements (const Constant * C, SmallVectorImpl<Constant *> & Dest)Defined at line 778 of file llvm/lib/Linker/IRMover.cpp
-
bool interpretNextInstr (const MachineInstr * CurMI, int & ForwardedRegWorklist, ParamSet & Params, int & ClobberedRegUnits)Defined at line 778 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
bool handleArchive (StringRef Filename, Archive & Arch, function HandleObj, raw_ostream & OS)Defined at line 779 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
function createIRDebugDumper ()Defined at line 779 of file llvm/tools/lli/lli.cpp
-
int linkAndVerify ()Load and link the objects specified on the command line, but do not execute
anything. Instead, attach a RuntimeDyldChecker instance and call it to
verify the correctness of the linked memory.
Defined at line 779 of file llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp
-
unsigned int getAttributeProperties (AttrKind Kind)Defined at line 780 of file llvm/lib/IR/Attributes.cpp
-
template <typename T>std::optional<T> parseULEB128 (DWARFDataExtractor & Data, DataExtractor::Cursor & Cursor)Parse a ULEB128 using the specified
Defined at line 781 of file llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
-
unsigned int LLVMCountParamTypes (LLVMTypeRef FunctionTy)Obtain the number of parameters this function accepts.
Defined at line 782 of file llvm/lib/IR/Core.cpp
-
Value * foldAndOrOfICmpsWithPow2AndWithZero (InstCombiner::BuilderTy & Builder, ICmpInst * LHS, ICmpInst * RHS, bool IsAnd, const SimplifyQuery & Q)(or (icmp eq X, 0), (icmp eq X, Pow2OrZero))
-> (icmp eq (and X, Pow2OrZero), X)
(and (icmp ne X, 0), (icmp ne X, Pow2OrZero))
-> (icmp ne (and X, Pow2OrZero), X)
Defined at line 783 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
void breakSelfRecursivePHI (const Use * U, const PHINode * PHI, Value *& ValOut, Instruction *& CtxIOut, const PHINode ** PhiOut)Defined at line 783 of file llvm/lib/Analysis/ValueTracking.cpp
-
Error handleArgs (const CommonConfig & Config, const ELFConfig & ELFConfig, ElfType OutputElfType, Object & Obj)This function handles the high level operations of GNU objcopy including
handling command line options. It's important to outline certain properties
we expect to hold of the command line operations. Any operation that "keeps"
should keep regardless of a remove. Additionally any removal should respect
any previous removals. Lastly whether or not something is removed shouldn't
depend a) on the order the options occur in or b) on some opaque priority
system. The only priority is that keeps/copies overrule removes.
Defined at line 783 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
basic_string getIRFileDisplayName (Any IR)Defined at line 784 of file llvm/lib/Passes/StandardInstrumentations.cpp
-
void p_bracket (struct parse * )- p_bracket - parse a bracketed character list
Note a significant property of this code: if the allocset() did SETERROR,
no set operations are done.
Defined at line 784 of file llvm/lib/Support/regcomp.c
-
std::optional<TargetTransformInfo::ShuffleKind> isFixedVectorShuffle (ArrayRef VL, SmallVectorImpl<int> & Mask, AssumptionCache * AC)Checks if the vector of instructions can be represented as a shuffle, like:
%x0 = extractelement
<
4 x i8> %x, i32 0
%x3 = extractelement
<
4 x i8> %x, i32 3
%y1 = extractelement
<
4 x i8> %y, i32 1
%y2 = extractelement
<
4 x i8> %y, i32 2
%x0x0 = mul i8 %x0, %x0
%x3x3 = mul i8 %x3, %x3
%y1y1 = mul i8 %y1, %y1
%y2y2 = mul i8 %y2, %y2
%ins1 = insertelement
<
4 x i8> poison, i8 %x0x0, i32 0
%ins2 = insertelement
<
4 x i8> %ins1, i8 %x3x3, i32 1
%ins3 = insertelement
<
4 x i8> %ins2, i8 %y1y1, i32 2
%ins4 = insertelement
<
4 x i8> %ins3, i8 %y2y2, i32 3
ret
<
4 x i8> %ins4
can be transformed into:
%1 = shufflevector
<
4 x i8> %x,
<
4 x i8> %y,
<
4 x i32>
<i32
0, i32 3, i32 5,
i32 6>
%2 = mul
<
4 x i8> %1, %1
ret
<
4 x i8> %2
Mask will return the Shuffle Mask equivalent to the extracted elements.
TODO: Can we split off and reuse the shuffle mask detection from
ShuffleVectorInst/getShuffleCost?
Defined at line 784 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void yamlToPdb (StringRef Path)Defined at line 784 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
unsigned int getFullUnrollBoostingFactor (const EstimatedUnrollCost & Cost, unsigned int MaxPercentThresholdBoost)Computes the boosting factor for complete unrolling.
If fully unrolling the loop would save a lot of RolledDynamicCost, it would
be beneficial to fully unroll the loop even if unrolledcost is large. We
use (RolledDynamicCost / UnrolledCost) to model the unroll benefits to adjust
the unroll threshold.
Defined at line 785 of file llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
-
NewArchiveMember getArchiveMember (StringRef FileName)Defined at line 785 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
vector collectContributionData (iterator_range Units)Collect all the contributions to the string offsets table from all units,
sort them by their starting offsets and remove duplicates.
Defined at line 785 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
void mergeOperations (int MBBIStartPos, MachineBasicBlock & MBBCommon)Defined at line 785 of file llvm/lib/CodeGen/BranchFolding.cpp
-
bool hasAttributeProperty (AttrKind Kind, AttributeProperty Prop)Defined at line 786 of file llvm/lib/IR/Attributes.cpp
-
void LLVMGetParamTypes (LLVMTypeRef FunctionTy, LLVMTypeRef * Dest)Obtain the types of a function's parameters.
The Dest parameter should point to a pre-allocated array of
LLVMTypeRef at least LLVMCountParamTypes() large. On return, the
first LLVMCountParamTypes() entries in the array will be populated
with LLVMTypeRef instances.
Parameters
FunctionTy The function type to operate on.Dest Memory address of an array to be filled with result.Defined at line 786 of file llvm/lib/IR/Core.cpp
-
std::tuple<StringRef, bool, unsigned int> getGlobalObjectInfo (const GlobalObject * GO, const TargetMachine & TM)Defined at line 786 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
Error checkDyldCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex, const char * CmdName)Defined at line 787 of file llvm/lib/Object/MachOObjectFile.cpp
-
int getOrderedBlocks (PHINode & Phi, BasicBlock *const LastBlock, int NumBlocks)Defined at line 787 of file llvm/lib/Transforms/Scalar/MergeICmps.cpp
-
void DisposeSuspendedLookupContext (void * Ctx)Defined at line 788 of file llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
-
template <bool Is64>void encodeCrel (ArrayRef Relocs, raw_ostream & OS)Defined at line 788 of file llvm/lib/MC/ELFObjectWriter.cpp
-
bool scavengeStackSlot (MachineFrameInfo & MFI, int FrameIdx, bool StackGrowsDown, Align MaxAlign, BitVector & StackBytesFree)Assign frame object to an unused portion of the stack in the fixed stack
object range. Return true if the allocation was successful.
Defined at line 788 of file llvm/lib/CodeGen/PrologEpilogInserter.cpp
-
void mapInputsToGVNs (IRSimilarityCandidate & C, SetVector<Value *> & CurrentInputs, const DenseMap<Value *, Value *> & OutputMappings, std::vector<unsigned int> & EndInputNumbers)Find the GVN for the inputs that have been found by the CodeExtractor.
Parameters
C [in] - The IRSimilarityCandidate containing the region we are analyzing.CurrentInputs [in] - The set of inputs found by the CodeExtractor.OutputMappings [in] - The mapping of values that have been replaced by a new output value.EndInputNumbers [out] - The global value numbers for the extracted arguments.Defined at line 789 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
Error createInvalidTrieError (uint64_t Offset, const Twine & Msg)Defined at line 790 of file llvm/lib/CAS/OnDiskTrieRawHashMap.cpp
-
VPValue * scalarizeVPWidenPointerInduction (VPWidenPointerInductionRecipe * PtrIV, VPlan & Plan, VPBuilder & Builder)Scalarize a VPWidenPointerInductionRecipe by replacing it with a PtrAdd
(IndStart, ScalarIVSteps (0, Step)). This is used when the recipe only
generates scalar values.
Defined at line 790 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
bool foldConsecutiveLoads (Instruction & I, const DataLayout & DL, TargetTransformInfo & TTI, AliasAnalysis & AA, const DominatorTree & DT)For a given BB instruction, evaluate all loads in the chain that form a
pattern which suggests that the loads can be combined. The one and only use
of the loads is to form a wider load.
Defined at line 790 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
BranchInst * getExpectedExitLoopLatchBranch (Loop * L)Checks if
has an exiting latch branch. There may also be other
exiting blocks. Returns branch instruction terminating the loop
latch if above check is successful, nullptr otherwise.
Defined at line 791 of file llvm/lib/Transforms/Utils/LoopUtils.cpp
-
Value * foldSelectICmpAndBinOp (Value * CondVal, Value * TrueVal, Value * FalseVal, Value * V, const APInt & AndMask, bool CreateAnd, InstCombiner::BuilderTy & Builder)We want to turn:
(select (icmp eq (and X, C1), 0), Y, (BinOp Y, C2))
into:
IF C2 u>= C1
(BinOp Y, (shl (and X, C1), C3))
ELSE
(BinOp Y, (lshr (and X, C1), C3))
iff:
0 on the RHS is the identity value (i.e add, xor, shl, etc...)
C1 and C2 are both powers of 2
where:
IF C2 u>= C1
C3 = Log(C2) - Log(C1)
ELSE
C3 = Log(C1) - Log(C2)
This transform handles cases where:
1. The icmp predicate is inverted
2. The select operands are reversed
3. The magnitude of C2 and C1 are flipped
Defined at line 791 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
void suspendLookupTestLookupHandlerCallback (LLVMErrorRef Err, LLVMOrcCSymbolMapPairs Result, size_t NumPairs, void * RawCtx)Defined at line 792 of file llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp
-
bool shouldCheckArgs (CallBase & CI, const TargetLibraryInfo & TLI, const std::optional<Regex> & CheckFunctionsFilter)Returns true if the instrumentation should emit code to check arguments
before a function call.
Defined at line 792 of file llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
-
void printMI (raw_ostream & OS, MFPrintState & State, const MachineInstr & MI)Defined at line 794 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
bool handleBuffer (StringRef Filename, MemoryBufferRef Buffer, function HandleObj, raw_ostream & OS)Defined at line 796 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
void LLVMOrcDisposeJITTargetMachineBuilder (LLVMOrcJITTargetMachineBuilderRef JTMB)Dispose of a JITTargetMachineBuilder.
Defined at line 796 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMTypeRef LLVMStructTypeInContext (LLVMContextRef C, LLVMTypeRef * ElementTypes, unsigned int ElementCount, LLVMBool Packed)Create a new structure type in a context.
A structure is specified by a list of inner elements/types and
whether these can be packed together.
Defined at line 794 of file llvm/lib/IR/Core.cpp
-
std::pair<bool, bool> addSegmentsWithValNo (LiveRange & Dst, VNInfo * DstValNo, const LiveRange & Src, const VNInfo * SrcValNo)Copy segments with value number
from liverange
to live
range
and use value number
there.
Defined at line 794 of file llvm/lib/CodeGen/RegisterCoalescer.cpp
-
Function * promoteArguments (Function * F, FunctionAnalysisManager & FAM, unsigned int MaxElements, bool IsRecursive)PromoteArguments - This method checks the specified function to see if there
are any promotable arguments and if it is safe to promote the function (for
example, all callers are direct). If safe to promote some arguments, it
calls the DoPromotion method.
Defined at line 794 of file llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
-
void initializeX86LoadValueInjectionLoadHardeningPassPassOnce (PassRegistry & Registry)Defined at line 795 of file llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
-
optional shouldPragmaUnroll (Loop * L, const PragmaInfo & PInfo, const unsigned int TripMultiple, const unsigned int TripCount, unsigned int MaxTripCount, UnrollCostEstimator UCE, const TargetTransformInfo::UnrollingPreferences & UP)Defined at line 797 of file llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
-
void PrintRelocationEntries (const MachOObjectFile * O, const relocation_iterator Begin, const relocation_iterator End, const uint64_t cputype, const bool verbose)Defined at line 797 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isAsciiPrintable (uint64_t CodePoint)Returns true if CodePoint represents a printable ASCII character.
Defined at line 799 of file llvm/lib/Demangle/RustDemangle.cpp
-
bool isFuncletReturnInstr (MachineInstr & MI)Defined at line 799 of file llvm/lib/Target/X86/X86RegisterInfo.cpp
-
LLVMTypeRef LLVMStructType (LLVMTypeRef * ElementTypes, unsigned int ElementCount, LLVMBool Packed)Create a new structure type in the global context.
Defined at line 800 of file llvm/lib/IR/Core.cpp
-
void initializePreISelIntrinsicLoweringLegacyPassPassOnce (PassRegistry & Registry)Defined at line 800 of file llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
-
bool haveCommonPrefix (MDNode * MIBStackContext, MDNode * CallsiteStackContext)Defined at line 800 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
raw_ostream & operator<< (raw_ostream & OS, const BDVState & State)Defined at line 801 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
StringRef handlePragmaClangSection (const GlobalObject * GO, SectionKind Kind)Defined at line 801 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
XXH128_hash_t XXH3_len_9to16_128b (const uint8_t * input, size_t len, const uint8_t * secret, uint64_t seed)Defined at line 801 of file llvm/lib/Support/xxhash.cpp
-
bool isAddRecSExtable (const SCEVAddRecExpr * AR, ScalarEvolution & SE)Return true if the given addrec can be sign-extended without changing its
value.
Defined at line 802 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
void reportFastISelFailure (MachineFunction & MF, OptimizationRemarkEmitter & ORE, OptimizationRemarkMissed & R, bool ShouldAbort)Defined at line 802 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
void updateScopeLine (Instruction * ActiveSuspend, DISubprogram & SPToUpdate)Adjust the scope line of the funclet to the first line number after the
suspend point. This avoids a jump in the line table from the function
declaration (where prologue instructions are attributed to) to the suspend
point.
Only adjust the scope line when the files are the same.
If no candidate line number is found, fallback to the line of ActiveSuspend.
Defined at line 802 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
bool hasIntersectProperty (AttrKind Kind, AttributeProperty Prop)Defined at line 803 of file llvm/lib/IR/Attributes.cpp
-
bool unswitchTrivialSwitch (Loop & L, SwitchInst & SI, DominatorTree & DT, LoopInfo & LI, ScalarEvolution * SE, MemorySSAUpdater * MSSAU)Unswitch a trivial switch if the condition is loop invariant.
This routine should only be called when loop code leading to the switch has
been validated as trivial (no side effects). This routine checks if the
condition is invariant and that at least one of the successors is a loop
exit. This allows us to unswitch without duplicating the loop, making it
trivial.
If this routine fails to unswitch the switch it returns false.
If the switch can be unswitched, this routine splits the preheader and
copies the switch above that split. If the default case is one of the
exiting cases, it copies the non-exiting cases and points them at the new
preheader. If the default case is not exiting, it copies the exiting cases
and points the default at the preheader. It preserves loop simplified form
(splitting the exit blocks as necessary). It simplifies the switch within
the loop by removing now-dead cases. If the default case is one of those
unswitched, it replaces its destination with a new basic block containing
only unreachable. Such basic blocks, while technically loop exits, are not
considered for unswitching so this is a stable transform and the same
switch will not be revisited. If after unswitching there is only a single
in-loop successor, the switch is further simplified to an unconditional
branch. Still more cleanup can be done with some simplifycfg like pass.
If `SE` is not null, it will be updated based on the potential loop SCEVs
invalidated by this.
Defined at line 803 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
void typesetLinesAndColumns (LinePrinter & P, uint32_t Start, const LineColumnEntry & E)Defined at line 804 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
bool isEligibleLoopForm (const Loop & Root)Defined at line 805 of file llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
-
Value * cloneConstantExprWithNewAddressSpace (ConstantExpr * CE, unsigned int NewAddrSpace, const ValueToValueMapTy & ValueWithNewAddrSpace, const DataLayout * DL, const TargetTransformInfo * TTI)Similar to cloneInstructionWithNewAddressSpace, returns a clone of the
constant expression `CE` with its operands replaced as specified in
ValueWithNewAddrSpace.
Defined at line 805 of file llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
-
const char * lslow (struct lmat * , const char * , const char * , sopno , sopno )- slow - step through the string more deliberately
Defined at line 809 of file llvm/lib/Support/regengine.inc
-
const char * sslow (struct smat * , const char * , const char * , sopno , sopno )- slow - step through the string more deliberately
Defined at line 809 of file llvm/lib/Support/regengine.inc
-
char * LLVMOrcJITTargetMachineBuilderGetTargetTriple (LLVMOrcJITTargetMachineBuilderRef JTMB)Returns the target triple for the given JITTargetMachineBuilder as a string.
The caller owns the resulting string as must dispose of it by calling
LLVMDisposeMessage
Defined at line 801 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void LLVMOrcJITTargetMachineBuilderSetTargetTriple (LLVMOrcJITTargetMachineBuilderRef JTMB, const char * TargetTriple)Sets the target triple for the given JITTargetMachineBuilder to the given
string.
Defined at line 809 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMErrorRef LLVMOrcObjectLayerAddObjectFile (LLVMOrcObjectLayerRef ObjLayer, LLVMOrcJITDylibRef JD, LLVMMemoryBufferRef ObjBuffer)Add an object to an ObjectLayer to the given JITDylib.
Adds a buffer representing an object file to the given JITDylib using the
given ObjectLayer instance. This operation transfers ownership of the buffer
to the ObjectLayer instance. The buffer should not be disposed of or
referenced once this function returns.
Resources associated with the given object will be tracked by the given
JITDylib's default ResourceTracker.
Defined at line 814 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMTypeRef LLVMStructCreateNamed (LLVMContextRef C, const char * Name)Create an empty structure in a context having a specified name.
Defined at line 806 of file llvm/lib/IR/Core.cpp
-
bool isPointerUseReplacable (const Use & U, bool HasNonAddressBits)Returns true if a use is either in an ICmp/PtrToInt or a Phi/Select that only
feeds into them.
Defined at line 806 of file llvm/lib/Analysis/Loads.cpp
-
bool doesHistoryAllowICP (const Instruction & Inst, StringRef Candidate)Check whether the indirect call promotion history of
allows
the promotion for
If the profile count for the promotion candidate
is
NOMORE_ICP_MAGICNUM, it means
has already been promoted
for
If we already have at least MaxNumPromotions
NOMORE_ICP_MAGICNUM count values in the value profile of
we
cannot promote for
anymore.
Defined at line 806 of file llvm/lib/Transforms/IPO/SampleProfile.cpp
-
void collectCallSiteParameters (const MachineInstr * CallMI, ParamSet & Params)Try to interpret values loaded into registers that forward parameters
for
Store parameters with interpreted value into
Defined at line 806 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
void addMember (std::vector<NewArchiveMember> & Members, NewArchiveMember & NM)Defined at line 808 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
bool isLoopExitTestBasedOn (Value * V, BasicBlock * ExitingBB)Whether the current loop exit test is based on this value. Currently this
is limited to a direct use in the loop condition.
Defined at line 809 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
BranchProbability getAdjustedProbability (BranchProbability OrigProb, BranchProbability AdjustedSumProb)The helper function returns the branch probability that is adjusted
or normalized over the new total
Defined at line 809 of file llvm/lib/CodeGen/MachineBlockPlacement.cpp
-
GenericValue executeSelectInst (GenericValue Src1, GenericValue Src2, GenericValue Src3, Type * Ty)Defined at line 809 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
Instruction * foldNoWrapAdd (BinaryOperator & Add, InstCombiner::BuilderTy & Builder)Wrapping flags may allow combining constants separated by an extend.
Defined at line 809 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
unsigned int CountNumOperands (StringRef AsmString, unsigned int Variant)Defined at line 810 of file llvm/utils/TableGen/AsmWriterEmitter.cpp
-
void initializeImplicitNullChecksPassOnce (PassRegistry & Registry)Defined at line 810 of file llvm/lib/CodeGen/ImplicitNullChecks.cpp
-
bool isAddSExtable (const SCEVAddExpr * A, ScalarEvolution & SE)Return true if the given add can be sign-extended without changing its
value.
Defined at line 810 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
ObjectFormatType parseFormat (StringRef EnvironmentName)Defined at line 810 of file llvm/lib/TargetParser/Triple.cpp
-
bool isNoopIntrinsic (Instruction * I)Returns true if
is an intrinsic that does not read or write memory.
Defined at line 810 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
pair collectShuffleElements (Value * V, SmallVectorImpl<int> & Mask, Value * PermittedRHS, InstCombinerImpl & IC, bool & Rerun)Defined at line 810 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
const char * LLVMGetStructName (LLVMTypeRef Ty)Obtain the name of a structure.
Defined at line 811 of file llvm/lib/IR/Core.cpp
-
PartwordMaskValues createMaskInstrs (IRBuilderBase & Builder, Instruction * I, Type * ValueType, Value * Addr, Align AddrAlign, unsigned int MinWordSize)This is a helper function which builds instructions to provide
values necessary for partword atomic operations. It takes an
incoming address, Addr, and ValueType, and constructs the address,
shift-amounts and masks needed to work with a larger value of size
WordSize.
AlignedAddr: Addr rounded down to a multiple of WordSize
ShiftAmt: Number of bits to right-shift a WordSize value loaded
from AlignAddr for it to have the same value as if
ValueType was loaded from Addr.
Mask: Value to mask with the value loaded from AlignAddr to
include only the part that would've been loaded from Addr.
Inv_Mask: The inverse of Mask.
Defined at line 811 of file llvm/lib/CodeGen/AtomicExpandPass.cpp
-
Value * findBasePointer (Value * I, int & Cache, int & KnownBases)For a given value or instruction, figure out what base ptr its derived from.
For gc objects, this is simply itself. On success, returns a value which is
the base pointer. (This is reliable and can be used for relocation.) On
failure, returns nullptr.
Defined at line 811 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool hasHugeExpression (ArrayRef Ops)Returns true if
contains a huge SCEV (the subtree of S contains at
least HugeExprThreshold nodes).
Defined at line 813 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
raw_ostream & operator<< (raw_ostream & OS, DbgLoop D)Defined at line 813 of file llvm/lib/Transforms/Utils/LoopUtils.cpp
-
bool canCreateAliasFor (Function * F)Whether this function may be replaced by an alias
Defined at line 813 of file llvm/lib/Transforms/IPO/MergeFunctions.cpp
-
void addMember (std::vector<NewArchiveMember> & Members, StringRef FileName, bool FlattenArchive)Defined at line 813 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
void collectZeroLocCovForVarsWithCrossCUReferencingAbstractOrigin (LocationStats & LocStats, DenseMap AbstractOriginFnCUs, AbstractOriginVarsTyMap & GlobalAbstractOriginFnInfo, CrossCUReferencingDIELocationTy & CrossCUReferencesToBeResolved)Collect zero location coverage for inlined variables which refer to
a DW_AT_inline copy of subprogram that is in a different CU.
Defined at line 813 of file llvm/tools/llvm-dwarfdump/Statistics.cpp
-
GlobalVariable * createPrivateConstGlobalForString (Module & M, StringRef Str)Create a non-const global initialized with the given string.
Creates a writable global for Str so that we can pass it to the
run-time lib. Runtime uses first 4 bytes of the string to store the
frame ID, so the string needs to be mutable.
Defined at line 814 of file llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
-
void remapExtractedInputs (ArrayRef ArgInputs, const DenseMap<Value *, Value *> & OutputMappings, SetVector<Value *> & RemappedArgInputs)Find the original value for the
values if any one of them was
replaced during a previous extraction.
Parameters
ArgInputs [in] - The inputs to be extracted by the code extractor.OutputMappings [in] - The mapping of values that have been replaced by a new output value.RemappedArgInputs [out] - The remapped values according to that will be extracted.Defined at line 814 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
bool expandUDivOrURem (BinaryOperator * Instr, const ConstantRange & XCR, const ConstantRange & YCR)Defined at line 814 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void legalizeAndOptimizeInductions (VPlan & Plan)Legalize VPWidenPointerInductionRecipe, by replacing it with a PtrAdd
(IndStart, ScalarIVSteps (0, Step)) if only its scalar values are used, as
VPWidenPointerInductionRecipe will generate vectors only. If some users
require vectors while other require scalars, the scalar uses need to extract
the scalars from the generated vectors (Note that this is different to how
int/fp inductions are handled). Legalize extract-from-ends using uniform
VPReplicateRecipe of wide inductions to use regular VPReplicateRecipe, so
the correct end value is available. Also optimize
VPWidenIntOrFpInductionRecipe, if any of its users needs scalar values, by
providing them scalar steps built on the canonical scalar IV and update the
original IV's users. This is an optional optimization to reduce the needs of
vector extracts.
Defined at line 816 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void ProfileUnOpInit (FoldingSetNodeID & ID, unsigned int Opcode, const Init * Op, const RecTy * Type)Defined at line 817 of file llvm/lib/TableGen/Record.cpp
-
template <typename Operand, typename Instruction>int getDebugOperandsForRegHelper (Instruction * MI, Register Reg)Defined at line 817 of file llvm/lib/CodeGen/MachineInstr.cpp
-
bool giveUpWithRemarks (MachineOptimizationRemarkEmitter * ORE, StringRef RemarkName, StringRef RemarkMessage, const DiagnosticLocation & Loc, const MachineBasicBlock * MBB)Defined at line 817 of file llvm/lib/CodeGen/ShrinkWrap.cpp
-
bool RequiresValue (const Option * O)Defined at line 818 of file llvm/lib/Support/CommandLine.cpp
-
bool isMulSExtable (const SCEVMulExpr * M, ScalarEvolution & SE)Return true if the given mul can be sign-extended without changing its
value.
Defined at line 818 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
bool isKnownNonZeroFromAssume (const Value * V, const SimplifyQuery & Q)Defined at line 818 of file llvm/lib/Analysis/ValueTracking.cpp
-
void LLVMStructSetBody (LLVMTypeRef StructTy, LLVMTypeRef * ElementTypes, unsigned int ElementCount, LLVMBool Packed)Set the contents of a structure type.
Defined at line 819 of file llvm/lib/IR/Core.cpp
-
Error checkVersCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex, const char ** LoadCmd, const char * CmdName)Defined at line 819 of file llvm/lib/Object/MachOObjectFile.cpp
-
template <typename SCCRangeT>LazyCallGraph::SCC * incorporateNewSCCRange (const SCCRangeT & NewSCCRange, LazyCallGraph & G, LazyCallGraph::Node & N, LazyCallGraph::SCC * C, CGSCCAnalysisManager & AM, CGSCCUpdateResult & UR)Helper function to update both the
and the
based on a range of newly
added SCCs.
The range of new SCCs must be in postorder already. The SCC they were split
out of must be provided as
The current node being mutated and
triggering updates must be passed as
This function returns the SCC containing
This will be either
if
no new SCCs have been split out, or it will be the new SCC containing
Defined at line 819 of file llvm/lib/Analysis/CGSCCPassManager.cpp
-
unsigned int getMetadataTypeOrder (const Metadata * MD)Defined at line 820 of file llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
-
optional estimateLoopTripCount (Loop * L)Defined at line 820 of file llvm/lib/Transforms/Utils/LoopUtils.cpp
-
void removeMemProfMetadata (CallBase * Call)Defined at line 821 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
LLVMErrorRef LLVMOrcObjectLayerAddObjectFileWithRT (LLVMOrcObjectLayerRef ObjLayer, LLVMOrcResourceTrackerRef RT, LLVMMemoryBufferRef ObjBuffer)Add an object to an ObjectLayer using the given ResourceTracker.
Adds a buffer representing an object file to the given ResourceTracker's
JITDylib using the given ObjectLayer instance. This operation transfers
ownership of the buffer to the ObjectLayer instance. The buffer should not
be disposed of or referenced once this function returns.
Resources associated with the given object will be tracked by
ResourceTracker RT.
Defined at line 821 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void preserveFakeUses (ilist_iterator_w_bits Begin, ilist_iterator_w_bits End)Detect any fake uses that follow a tail call and move them before the tail
call. Ignore fake uses that use values that are def'd by or after the tail
call.
Defined at line 821 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
bool processPhi (PHINode & Phi, const TargetLibraryInfo & TLI, AliasAnalysis & AA, DomTreeUpdater & DTU)Defined at line 821 of file llvm/lib/Transforms/Scalar/MergeICmps.cpp
-
bool needsLFTR (Loop * L, BasicBlock * ExitingBB)linearFunctionTestReplace policy. Return true unless we can show that the
current exit test is already sufficiently canonical.
Defined at line 822 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
MCSection * selectExplicitSectionGlobal (const GlobalObject * GO, SectionKind Kind, const TargetMachine & TM, MCContext & Ctx, Mangler & Mang, unsigned int & NextUniqueID, bool Retain, bool ForceUnique)Defined at line 822 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
bool EatsUnboundedNumberOfValues (const Option * O)Defined at line 823 of file llvm/lib/Support/CommandLine.cpp
-
void addSDKVersionMD (const VersionTuple & V, Module & M, StringRef Name)Defined at line 823 of file llvm/lib/IR/Module.cpp
-
bool operator< (const ImpliedExtsEntry & LHS, StringRef RHS)Defined at line 824 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
bool hasSameSuccessors (MachineBasicBlock & BB, SmallPtrSetImpl<const MachineBasicBlock *> & Successors)Check if
has exactly the successors in
Defined at line 824 of file llvm/lib/CodeGen/MachineBlockPlacement.cpp
-
void EmitFastISel (const RecordKeeper & RK, raw_ostream & OS)Defined at line 824 of file llvm/utils/TableGen/FastISelEmitter.cpp
-
void computeVTableFuncs (ModuleSummaryIndex & Index, const GlobalVariable & V, const Module & M, VTableFuncList & VTableFuncs)Identify the function pointers referenced by vtable definition
Defined at line 824 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
SubArchType parseSubArch (StringRef SubArchName)Defined at line 824 of file llvm/lib/TargetParser/Triple.cpp
-
void removeCallsiteMetadata (CallBase * Call)Defined at line 825 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
function createObjDebugDumper ()Defined at line 825 of file llvm/tools/lli/lli.cpp
-
void dumpStringOffsetsSection (raw_ostream & OS, DIDumpOptions DumpOpts, StringRef SectionName, const DWARFObject & Obj, const DWARFSection & StringOffsetsSection, StringRef StringSection, iterator_range Units, bool LittleEndian)Dump a DWARF string offsets section. This may be a DWARF v5 formatted
string offsets section, where each compile or type unit contributes a
number of entries (string offsets), with each contribution preceded by
a header containing size and version number. Alternatively, it may be a
monolithic series of string offsets, as generated by the pre-DWARF v5
implementation of split DWARF; however, in that case we still need to
collect contributions of units because the size of the offsets (4 or 8
bytes) depends on the format of the referencing unit (DWARF32 or DWARF64).
Defined at line 826 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
bool isIntrinsicCall (const CallBase * Call, Intrinsic::ID IID)Defined at line 827 of file llvm/lib/Analysis/BasicAliasAnalysis.cpp
-
bool isWhitespace (char C)Defined at line 828 of file llvm/lib/Support/CommandLine.cpp
-
bool operator< (StringRef LHS, const ImpliedExtsEntry & RHS)Defined at line 828 of file llvm/lib/TargetParser/RISCVISAInfo.cpp
-
template <typename FoldT, typename IsIdentityT, typename IsAbsorberT>const SCEV * constantFoldAndGroupOps (ScalarEvolution & SE, LoopInfo & LI, DominatorTree & DT, SmallVectorImpl<const SCEV *> & Ops, FoldT Fold, IsIdentityT IsIdentity, IsAbsorberT IsAbsorber)Performs a number of common optimizations on the passed
If the
whole expression reduces down to a single operand, it will be returned.
The following optimizations are performed:
* Fold constants using the
function.
* Remove identity constants satisfying
* If a constant satisfies
return it.
* Sort operands by complexity.
Defined at line 828 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void EmitAbbrev (MCStreamer * MCOS, uint64_t Name, uint64_t Form)Utility function to write a tuple for .debug_abbrev.
Defined at line 829 of file llvm/lib/MC/MCDwarf.cpp
-
unsigned int getConcreteOpcode (unsigned int Opcode)Defined at line 829 of file llvm/lib/Target/X86/X86FloatingPoint.cpp
-
void LLVMOrcObjectLayerEmit (LLVMOrcObjectLayerRef ObjLayer, LLVMOrcMaterializationResponsibilityRef R, LLVMMemoryBufferRef ObjBuffer)Emit an object buffer to an ObjectLayer.
Ownership of the responsibility object and object buffer pass to this
function. The client is not responsible for cleanup.
Defined at line 829 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void updateMemprofMetadata (CallBase * CI, const std::vector<Metadata *> & MIBList, OptimizationRemarkEmitter * ORE)Defined at line 829 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
void moveBelowOrigChain (SelectionDAG * CurDAG, SDValue Load, SDValue Call, SDValue OrigChain)Replace the original chain operand of the call with
load's chain operand and move load below the call's chain operand.
Defined at line 829 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
bool mayCrossBoundary (uint64_t StartAddr, uint64_t Size, Align BoundaryAlignment)Check if the branch crosses the boundary.
Parameters
StartAddr start address of the fused/unfused branch.Size size of the fused/unfused branch.BoundaryAlignment alignment requirement of the branch.Defined at line 830 of file llvm/lib/MC/MCAssembler.cpp
-
const SCEV * getExactSDiv (const SCEV * LHS, const SCEV * RHS, ScalarEvolution & SE, bool IgnoreSignificantBits)Return an expression for LHS /s RHS, if it can be determined and if the
remainder is known to be zero, or null otherwise. If IgnoreSignificantBits
is true, expressions like (X * Y) /s Y are simplified to X, ignoring that
the multiplication may overflow, which is useful when the result will be
used in a context where the most significant bits are ignored.
Defined at line 830 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
int prepareDumpIRFileDescriptor (StringRef DumpIRFilename)Callers are responsible for closing the returned file descriptor
Defined at line 831 of file llvm/lib/Passes/StandardInstrumentations.cpp
-
bool canSkipDef (MemoryDef * D, bool DefVisibleToCaller)Check if we can ignore
for DSE.
Defined at line 831 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
bool shouldSpeculateInstrs (ilist_iterator_w_bits Begin, ilist_iterator_w_bits End, Loop * L)Determine whether the instructions in this range may be safely and cheaply
speculated. This is not an important enough situation to develop complex
heuristics. We handle a single arithmetic instruction along with any type
conversions.
Defined at line 831 of file llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
-
bool isWhitespaceOrNull (char C)Defined at line 832 of file llvm/lib/Support/CommandLine.cpp
-
bool isPointerAlwaysReplaceable (const Value * From, const Value * To, const DataLayout & DL)Returns true if `To` is a null pointer, constant dereferenceable pointer or
both pointers have the same underlying objects.
Defined at line 832 of file llvm/lib/Analysis/Loads.cpp
-
void initializeX86DomainReassignmentPassOnce (PassRegistry & Registry)Defined at line 833 of file llvm/lib/Target/X86/X86DomainReassignment.cpp
-
bool allowsPreservingNUW (const User * U)A helper function to check if reassociating through an entry in the user
chain would invalidate the GEP's nuw flag.
Defined at line 833 of file llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
-
MCSection * getWinCFISection (MCContext & Context, unsigned int * NextWinCFIID, MCSection * MainCFISec, const MCSection * TextSec)Defined at line 833 of file llvm/lib/MC/MCStreamer.cpp
-
void scalarizeMaskedCompressStore (const DataLayout & DL, bool HasBranchDivergence, CallInst * CI, DomTreeUpdater * DTU, bool & ModifiedDT)Defined at line 833 of file llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
-
bool typeIDVisibleToRegularObj (StringRef TypeID, function_ref<bool (StringRef)> IsVisibleToRegularObj)Defined at line 834 of file llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
-
Error checkNoteCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex, std::list<MachOElement> & Elements)Defined at line 834 of file llvm/lib/Object/MachOObjectFile.cpp
-
bool isQuote (char C)Defined at line 836 of file llvm/lib/Support/CommandLine.cpp
-
void handleNonPrevailingComdat (GlobalValue & GV, int & NonPrevailingComdats)Checks whether the given global value is in a non-prevailing comdat
(comdat containing values the linker indicated were not prevailing,
which we then dropped to available_externally), and if so, removes
it from the comdat. This is called for all global values to ensure the
comdat is empty rather than leaving an incomplete comdat. It is needed for
regular LTO modules, in case we are in a mixed-LTO mode (both regular
and thin LTO modules) compilation. Since the regular LTO module will be
linked first in the final native link, we want to make sure the linker
doesn't select any of these incomplete comdats that would be left
in the regular LTO module without this cleanup.
Defined at line 836 of file llvm/lib/LTO/LTO.cpp
-
void EmitGenDwarfAbbrev (MCStreamer * MCOS)When generating dwarf for assembly source files this emits
the data for .debug_abbrev section which contains three DIEs.
Defined at line 836 of file llvm/lib/MC/MCDwarf.cpp
-
bool isUpdateCounterIntrinsic (Function & F)===----------------------------------------------------------------------===//
Defined at line 837 of file llvm/lib/Analysis/DXILResource.cpp
-
void updateIDTMetaData (Instruction & Inst, const SmallVectorImpl<InstrProfValueData> & CallTargets, uint64_t Sum)Update indirect call target profile metadata for
Usually
is the sum of counts of all the targets for
If it is 0, it means updateIDTMetaData is used to mark a
certain target to be promoted already. If it is not zero,
we expect to use it to update the total count in the value profile.
Defined at line 838 of file llvm/lib/Transforms/IPO/SampleProfile.cpp
-
LLVMTypeRef LLVMGetTypeByName (LLVMModuleRef M, const char * Name)Deprecated: Use LLVMGetTypeByName2 instead.
Defined at line 852 of file llvm/lib/IR/Core.cpp
-
void LLVMOrcDisposeObjectLayer (LLVMOrcObjectLayerRef ObjLayer)Dispose of an ObjectLayer.
Defined at line 837 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
const TargetRegisterClass * getRegClassForUnfoldedLoad (const X86InstrInfo & TII, unsigned int Opcode)Compute the register class for the unfolded load.
FIXME: This should probably live in X86InstrInfo, potentially by adding
a way to unfold into a newly created vreg rather than requiring a register
input.
Defined at line 837 of file llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
-
optional shouldFullUnroll (Loop * L, const TargetTransformInfo & TTI, DominatorTree & DT, ScalarEvolution & SE, const SmallPtrSetImpl<const Value *> & EphValues, const unsigned int FullUnrollTripCount, UnrollCostEstimator UCE, const TargetTransformInfo::UnrollingPreferences & UP)Defined at line 838 of file llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
-
bool CanWidenIV (FlattenInfo & FI, DominatorTree * DT, LoopInfo * LI, ScalarEvolution * SE, AssumptionCache * AC, const TargetTransformInfo * TTI)Defined at line 838 of file llvm/lib/Transforms/Scalar/LoopFlatten.cpp
-
Libcall getOutlineAtomicLibcall (MachineInstr & MI)Defined at line 839 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
bool matchIntrinsicType (Type * Ty, ArrayRef<Intrinsic::IITDescriptor> & Infos, SmallVectorImpl<Type *> & ArgTys, SmallVectorImpl<DeferredIntrinsicMatchPair> & DeferredChecks, bool IsDeferredCheck)Defined at line 839 of file llvm/lib/IR/Intrinsics.cpp
-
void initializeEarlyIfConverterLegacyPassOnce (PassRegistry & Registry)Defined at line 841 of file llvm/lib/CodeGen/EarlyIfConversion.cpp
-
const char * getFailureName (ImportFailureReason Reason)Defined at line 846 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
void LLVMOrcIRTransformLayerSetTransform (LLVMOrcIRTransformLayerRef IRTransformLayer, LLVMOrcIRTransformLayerTransformFunction TransformFunction, void * Ctx)Set the transform function of the provided transform layer, passing through a
pointer to user provided context.
Defined at line 841 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
unsigned int LLVMCountStructElementTypes (LLVMTypeRef StructTy)Get the number of elements defined inside the structure.
Defined at line 825 of file llvm/lib/IR/Core.cpp
-
void LLVMGetStructElementTypes (LLVMTypeRef StructTy, LLVMTypeRef * Dest)Get the elements within a structure.
The function is passed the address of a pre-allocated array of
LLVMTypeRef at least LLVMCountStructElementTypes() long. After
invocation, this array will be populated with the structure's
elements. The objects in the destination array will have a lifetime
of the structure type itself, which is the lifetime of the context it
is contained in.
Defined at line 829 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMStructGetTypeAtIndex (LLVMTypeRef StructTy, unsigned int i)Get the type of the element at a given index in the structure.
Defined at line 835 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsPackedStruct (LLVMTypeRef StructTy)Determine whether a structure is packed.
Defined at line 840 of file llvm/lib/IR/Core.cpp
-
VersionTuple getSDKVersionMD (Metadata * MD)Defined at line 841 of file llvm/lib/IR/Module.cpp
-
optional IntersectSignedRange (ScalarEvolution & SE, const std::optional<InductiveRangeCheck::Range> & R1, const InductiveRangeCheck::Range & R2)Defined at line 842 of file llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
-
bool OptimizeAwayTrappingUsesOfLoads (GlobalVariable * GV, Constant * LV, const DataLayout & DL, function_ref<TargetLibraryInfo &(Function &)> GetTLI)The specified global has only one non-null value stored into it. If there
are uses of the loaded value that would trap if the loaded value is
dynamically null, then we know that they cannot be reachable with a null
optimize away the load.
Defined at line 842 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool isObjectSizeLessThanOrEq (Value * V, uint64_t MaxSize, const DataLayout & DL)If we can determine that all possible objects pointed to by the provided
pointer value are, not only dereferenceable, but also definitively less than
or equal to the provided maximum size, then return true. Otherwise, return
false (constant global values and allocas fall into this category).
FIXME: This should probably live in ValueTracking (or similar).
Defined at line 842 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
bool isAgainstBoundary (uint64_t StartAddr, uint64_t Size, Align BoundaryAlignment)Check if the branch is against the boundary.
Parameters
StartAddr start address of the fused/unfused branch.Size size of the fused/unfused branch.BoundaryAlignment alignment requirement of the branch.Defined at line 843 of file llvm/lib/MC/MCAssembler.cpp
-
bool canTurnIntoCOPY (const TargetRegisterClass * DstRC, const TargetRegisterClass * SrcRC)Helper function for selectTruncOrPtrToInt and selectAnyext.
Returns true if DstRC lives on a floating register class and
SrcRC lives on a 128-bit vector class.
Defined at line 843 of file llvm/lib/Target/X86/GISel/X86InstructionSelector.cpp
-
void TestHeaderEncodeError (const Header & H, basic_string ExpectedErrorMsg)Defined at line 843 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
LLVMBool LLVMIsOpaqueStruct (LLVMTypeRef StructTy)Determine whether a structure is opaque.
Defined at line 844 of file llvm/lib/IR/Core.cpp
-
bool isNoAliasOrByValArgument (const Value * V)Defined at line 844 of file llvm/lib/Analysis/AliasAnalysis.cpp
-
bool handleFile (StringRef Filename, function HandleObj, raw_ostream & OS)Defined at line 845 of file llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
-
void addFramePointerAttrs (AttributeList & Attrs, LLVMContext & Context, unsigned int ParamIndex, uint64_t Size, Align Alignment, bool NoAlias)Defined at line 845 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
void failForInvalidBundles (const CallBase & I, StringRef Name, ArrayRef<uint32_t> AllowedBundles)Defined at line 845 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
InsertAction computeInsertAction (ArchiveOperation Operation, const object::Archive::Child & Member, StringRef Name, std::vector<StringRef>::iterator & Pos, StringMap<int> & MemberCount)Defined at line 845 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
bool CanMergeValues (Value * First, Value * Second)Return true if we can choose one of these values to use in place of the
other. Note that we will always choose the non-undef value to keep.
Defined at line 846 of file llvm/lib/Transforms/Utils/Local.cpp
-
void getCodeExtractorArguments (OutlinableRegion & Region, std::vector<unsigned int> & InputGVNs, DenseSet<unsigned int> & NotSame, DenseMap<Value *, Value *> & OutputMappings, SetVector<Value *> & ArgInputs, SetVector<Value *> & Outputs)Find the input GVNs and the output values for a region of Instructions.
Using the code extractor, we collect the inputs to the extracted function.
The
can be identified as needing to be ignored in this function.
It should be checked whether it should be ignored after a call to this
function.
Parameters
Region [in,out] - The region of code to be analyzed.InputGVNs [out] - The global value numbers for the extracted arguments.NotSame [in] - The global value numbers in the region that do not have the same constant value in the regions structurally similar toOutputMappings [in] - The mapping of values that have been replaced by a new output value after extraction.ArgInputs [out] - The values of the inputs to the extracted function.Outputs [out] - The set of values extracted by the CodeExtractor as outputs.Defined at line 846 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
void eraseTerminatorAndDCECond (Instruction * TI, MemorySSAUpdater * MSSAU)Defined at line 847 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void recordTypeIdCompatibleVtableReferences (ModuleSummaryIndex & Index, const GlobalVariable & V, SmallVectorImpl<MDNode *> & Types)Record vtable definition
for each type metadata it references.
Defined at line 847 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
void verifySameBranchInstructions (MachineBasicBlock * MBB1, MachineBasicBlock * MBB2)Defined at line 847 of file llvm/lib/CodeGen/IfConversion.cpp
-
Value * foldSignedTruncationCheck (ICmpInst * ICmp0, ICmpInst * ICmp1, Instruction & CxtI, InstCombiner::BuilderTy & Builder)General pattern:
X
&
Y
Where Y is checking that all the high bits (covered by a mask 4294967168)
are uniform, i.e. %arg
&
4294967168 can be either 4294967168 or 0
Pattern can be one of:
%t = add i32 %arg, 128
%r = icmp ult i32 %t, 256
Or
%t0 = shl i32 %arg, 24
%t1 = ashr i32 %t0, 24
%r = icmp eq i32 %t1, %arg
Or
%t0 = trunc i32 %arg to i8
%t1 = sext i8 %t0 to i32
%r = icmp eq i32 %t1, %arg
This pattern is a signed truncation check.
And X is checking that some bit in that same mask is zero.
I.e. can be one of:
%r = icmp sgt i32 %arg, -1
Or
%t = and i32 %arg, 2147483648
%r = icmp eq i32 %t, 0
Since we are checking that all the bits in that mask are the same,
and a particular bit is zero, what we are really checking is that all the
masked bits are zero.
So this should be transformed to:
%r = icmp ult i32 %arg, 128
Defined at line 847 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
LLVMBool LLVMIsLiteralStruct (LLVMTypeRef StructTy)Determine whether a structure is literal.
Defined at line 848 of file llvm/lib/IR/Core.cpp
-
void AssignProtectedObjSet (const StackObjSet & UnassignedObjs, int & ProtectedObjs, MachineFrameInfo & MFI, bool StackGrowsDown, int64_t & Offset, Align & MaxAlign)AssignProtectedObjSet - Helper function to assign large stack objects (i.e.,
those required to be close to the Stack Protector) to stack offsets.
Defined at line 848 of file llvm/lib/CodeGen/PrologEpilogInserter.cpp
-
void propagateMemProfHelper (const CallBase * OrigCall, CallBase * ClonedCall, MDNode * InlinedCallsiteMD, OptimizationRemarkEmitter * ORE)Update the metadata on the inlined copy ClonedCall of a call OrigCall in the
inlined callee body, based on the callsite metadata InlinedCallsiteMD from
the call that was inlined.
Defined at line 849 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
bool hasTiedUseOf (MachineInstr & MI, Register Reg)Defined at line 852 of file llvm/lib/CodeGen/SplitKit.cpp
-
AliasResult underlyingObjectsAlias (AAResults * AA, const DataLayout & DL, const MemoryLocation & LocA, const MemoryLocation & LocB)Returns NoAlias/MayAliass/MustAlias for two memory locations based upon their
underlaying objects. If LocA and LocB are known to not alias (for any reason:
tbaa, non-overlapping regions etc), then it is known there is no dependecy.
Otherwise the underlying objects are checked to see if they point to
different identifiable objects.
Defined at line 852 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
void TestHeaderDecodeError (StringRef Bytes, basic_string ExpectedErrorMsg)Defined at line 853 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
bool CanPropagatePredecessorsForPHIs (BasicBlock * BB, BasicBlock * Succ, const SmallPtrSetImpl<BasicBlock *> & BBPreds)Return true if we can fold BB, an almost-empty BB ending in an unconditional
branch to Succ, into Succ.
Assumption: Succ is the single successor for BB.
Defined at line 854 of file llvm/lib/Transforms/Utils/Local.cpp
-
uint16_t fixupRegValue (struct InternalInstruction * insn, OperandType type, uint8_t index, uint8_t * valid)Consult an operand type to determine the meaning of the reg or R/M field. If
the operand is an XMM operand, for example, an operand would be XMM0 instead
of AX, which readModRM() would otherwise misinterpret it as.
Parameters
insn - The instruction containing the operand.type - The operand type.index - The existing value of the field as reported by readModRM().valid - The address of a uint8_t. The target is set to 1 if the field is valid for the register class; 0 if not.Returns
- The proper value.
Defined at line 855 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
bool needPadding (uint64_t StartAddr, uint64_t Size, Align BoundaryAlignment)Check if the branch needs padding.
Parameters
StartAddr start address of the fused/unfused branch.Size size of the fused/unfused branch.BoundaryAlignment alignment requirement of the branch.Defined at line 855 of file llvm/lib/MC/MCAssembler.cpp
-
Loop * getInnerMostLoop (Loop * L)Defined at line 855 of file llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
-
DISubroutineType * CreateFunctionType (unsigned int NumArgs)Defined at line 855 of file llvm/examples/Kaleidoscope/Chapter9/toy.cpp
-
void transferImplicitOperands (MachineInstr * MI, const TargetRegisterInfo * TRI)transferImplicitOperands - MI is a pseudo-instruction, and the lowered
replacement instructions immediately precede it. Copy any implicit
operands from MI to the replacement instruction.
Defined at line 855 of file llvm/lib/CodeGen/TargetInstrInfo.cpp
-
uint16_t fixupRMValue (struct InternalInstruction * insn, OperandType type, uint8_t index, uint8_t * valid)Consult an operand type to determine the meaning of the reg or R/M field. If
the operand is an XMM operand, for example, an operand would be XMM0 instead
of AX, which readModRM() would otherwise misinterpret it as.
Parameters
insn - The instruction containing the operand.type - The operand type.index - The existing value of the field as reported by readModRM().valid - The address of a uint8_t. The target is set to 1 if the field is valid for the register class; 0 if not.Returns
- The proper value.
Defined at line 856 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
LLVMTypeRef LLVMGetTypeByName2 (LLVMContextRef C, const char * Name)Obtain a Type from a context by its registered name.
Defined at line 856 of file llvm/lib/IR/Core.cpp
-
void generateGetDirectiveCategory (const DirectiveLanguage & DirLang, raw_ostream & OS)Defined at line 856 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
bool haveSameOperands (const IntrinsicInst & I, const IntrinsicInst & E, unsigned int NumOperands)Returns true iff the 2 intrinsics have the same operands, limiting the
comparison to the first NumOperands.
Defined at line 857 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
bool greaterWithBias (BlockFrequency A, BlockFrequency B, BlockFrequency EntryFreq)Compare 2 BlockFrequency's with a small penalty for
In order to be conservative, we apply a X% penalty to account for
increased icache pressure and static heuristics. For small frequencies
we use only the numerators to improve accuracy. For simplicity, we assume
the penalty is less than 100%
TODO(iteratee): Use 64-bit fixed point edge frequencies everywhere.
Defined at line 858 of file llvm/lib/CodeGen/MachineBlockPlacement.cpp
-
bool skipUpdateDueToValidation (GlobalVariable & GV, function_ref<bool (StringRef)> IsVisibleToRegularObj)Defined at line 858 of file llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
-
MCSymbol * FindMatchingEpilog (const std::vector<WinEH::Instruction> & EpilogInstrs, const std::vector<MCSymbol *> & Epilogs, const WinEH::FrameInfo * info)Returns the epilog symbol of an epilog with the exact same unwind code
sequence, if it exists. Otherwise, returns nullptr.
EpilogInstrs - Unwind codes for the current epilog.
Epilogs - Epilogs that potentialy match the current epilog.
Defined at line 859 of file llvm/lib/MC/MCWin64EH.cpp
-
Instruction * foldSetClearBits (SelectInst & Sel, InstCombiner::BuilderTy & Builder)Canonicalize a set or clear of a masked set of constant bits to
select-of-constants form.
Defined at line 859 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
template <typename T, llvm::endianness Endian>Error readCoverageMappingData (InstrProfSymtab & ProfileNames, StringRef CovMap, StringRef FuncRecords, std::vector<BinaryCoverageReader::ProfileMappingRecord> & Records, StringRef CompilationDir, std::vector<std::string> & Filenames)Defined at line 859 of file llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
-
void addAsyncContextAttrs (AttributeList & Attrs, LLVMContext & Context, unsigned int ParamIndex)Defined at line 860 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
bool isInertARCValue (Value * V, SmallPtrSet<Value *, 1> & VisitedPhis)This function returns true if the value is inert. An ObjC ARC runtime call
taking an inert operand can be safely deleted.
Defined at line 860 of file llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
-
StructType * buildFrameType (Function & F, coro::Shape & Shape, FrameDataInfo & FrameData, bool OptimizeFrame)Build a struct that will keep state for an active coroutine.
struct f.frame {
ResumeFnTy ResumeFnAddr;
ResumeFnTy DestroyFnAddr;
... promise (if present) ...
int ResumeIndex;
... spills ...
};
Defined at line 860 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
AttrKind determinePointerAccessAttrs (Argument * A, const SmallPtrSet<Argument *, 8> & SCCNodes)Returns Attribute::None, Attribute::ReadOnly or Attribute::ReadNone.
Defined at line 860 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
Error loadDylibs ()Defined at line 862 of file llvm/tools/lli/lli.cpp
-
void LLVMOrcObjectTransformLayerSetTransform (LLVMOrcObjectTransformLayerRef ObjTransformLayer, LLVMOrcObjectTransformLayerTransformFunction TransformFunction, void * Ctx)Set the transform function on an LLVMOrcObjectTransformLayer.
Defined at line 861 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void LLVMGetSubtypes (LLVMTypeRef Tp, LLVMTypeRef * Arr)Returns type's subtypes
Defined at line 862 of file llvm/lib/IR/Core.cpp
-
Error parseBuildVersionCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, SmallVectorImpl<const char *> & BuildTools, uint32_t LoadCommandIndex)Defined at line 862 of file llvm/lib/Object/MachOObjectFile.cpp
-
bool hasSelfReference (MDNode * N)Defined at line 863 of file llvm/lib/IR/Metadata.cpp
-
bool isCalleeLoad (SDValue Callee, SDValue & Chain, bool HasCallSeq)Return true if call address is a load and it can be
moved below CALLSEQ_START and the chains leading up to the call.
Return the CALLSEQ_START by reference as a second output.
In the case of a tail call, there isn't a callseq node between the call
chain and the load.
Defined at line 864 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
void p_b_term (struct parse * , cset * )- p_b_term - parse one term of a bracketed character list
Defined at line 864 of file llvm/lib/Support/regcomp.c
-
bool doesInstructionSetFPSW (MachineInstr & MI)Defined at line 865 of file llvm/lib/Target/X86/X86FloatingPoint.cpp
-
pair parseTwoOperandConstraint (StringRef S, ArrayRef<SMLoc> Loc)Defined at line 865 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
void computeVariableSummary (ModuleSummaryIndex & Index, const GlobalVariable & V, DenseSet<GlobalValue::GUID> & CantBePromoted, const Module & M, SmallVectorImpl<MDNode *> & Types)Defined at line 865 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
int fixupReg (struct InternalInstruction * insn, const struct OperandSpecifier * op)Consult an operand specifier to determine which of the fixup*Value functions
to use in correcting readModRM()'ss interpretation.
Parameters
insn - See fixup*Value().op - The operand specifier.Returns
- 0 if fixup was successful; -1 if the register returned was
invalid for its class.
Defined at line 865 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
void computeKnownBitsFromCmp (const Value * V, Predicate Pred, Value * LHS, Value * RHS, KnownBits & Known, const SimplifyQuery & Q)Defined at line 865 of file llvm/lib/Analysis/ValueTracking.cpp
-
void InitHeader (Header & H)Populate a GSYM header with valid values.
Defined at line 866 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
Version parseVersion (StringRef Name)Takes a StringRef like "clang 4.0.0.0 (other nonsense 123)" and parses out
the version number.
Defined at line 866 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
std::optional<PartStore> matchPartStore (Instruction & I, const DataLayout & DL)Defined at line 866 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
void printBerkeleyTotals ()Defined at line 866 of file llvm/tools/llvm-size/llvm-size.cpp
-
bool isODR (const Function * F)Returns true if
is either weak_odr or linkonce_odr.
Defined at line 867 of file llvm/lib/Transforms/IPO/MergeFunctions.cpp
-
void addSwiftSelfAttrs (AttributeList & Attrs, LLVMContext & Context, unsigned int ParamIndex)Defined at line 867 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
const SCEV * BinomialCoefficient (const SCEV * It, unsigned int K, ScalarEvolution & SE, Type * ResultTy)Compute BC(It, K). The result has width W. Assume, K > 0.
Defined at line 867 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
optional shouldPartialUnroll (const unsigned int LoopSize, const unsigned int TripCount, UnrollCostEstimator UCE, const TargetTransformInfo::UnrollingPreferences & UP)Defined at line 868 of file llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
-
void checkGlobalVariableScope (DIScope * Context)Defined at line 869 of file llvm/lib/IR/DIBuilder.cpp
-
LLVMTypeRef LLVMArrayType (LLVMTypeRef ElementType, unsigned int ElementCount)Create a fixed size array type that refers to a specific type.
The created type will exist in the context that its element type
exists in.
Defined at line 870 of file llvm/lib/IR/Core.cpp
-
char getSymbolNMTypeChar (ELFObjectFileBase & Obj, content_iterator I)Defined at line 870 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
optional IntersectUnsignedRange (ScalarEvolution & SE, const std::optional<InductiveRangeCheck::Range> & R1, const InductiveRangeCheck::Range & R2)Defined at line 871 of file llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
-
void exitOnLazyCallThroughFailure ()Defined at line 872 of file llvm/tools/lli/lli.cpp
-
bool hasConcreteDefImpl (Value * V, SmallPtrSetImpl<Value *> & Visited, unsigned int Depth)Recursive helper for hasConcreteDef(). Unfortunately, this currently boils
down to checking that all operands are constant and listing instructions
that may hide undef.
Defined at line 872 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
void stripValuesNotDefiningMask (Register Reg, LiveInterval::SubRange & SR, LaneBitmask LaneMask, const SlotIndexes & Indexes, const TargetRegisterInfo & TRI, unsigned int ComposeSubRegIdx)For each VNI in
check whether or not that value defines part
of the mask describe by
and if not, remove that value
from
Defined at line 872 of file llvm/lib/CodeGen/LiveInterval.cpp
-
int getNextFPInstruction (int I)Defined at line 873 of file llvm/lib/Target/X86/X86FloatingPoint.cpp
-
optional getExtractIndex (const Instruction * E)Defined at line 873 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
CondCode getImplicitCondFromMI (unsigned int Opc)Defined at line 873 of file llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
-
Expected loadModule (StringRef Path, ThreadSafeContext TSCtx)Defined at line 874 of file llvm/tools/lli/lli.cpp
-
LLVMOrcDumpObjectsRef LLVMOrcCreateDumpObjects (const char * DumpDir, const char * IdentifierOverride)Create a DumpObjects instance.
DumpDir specifies the path to write dumped objects to. DumpDir may be empty
in which case files will be dumped to the working directory.
IdentifierOverride specifies a file name stem to use when dumping objects.
If empty then each MemoryBuffer's identifier will be used (with a .o suffix
added if not already present). If an identifier override is supplied it will
be used instead, along with an incrementing counter (since all buffers will
use the same identifier, the resulting files will be named
<ident
>.o,
<ident
>.2.o,
<ident
>.3.o, and so on). IdentifierOverride should not contain
an extension, as a .o suffix will be added by DumpObjects.
Defined at line 876 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMTypeRef LLVMArrayType2 (LLVMTypeRef ElementType, uint64_t ElementCount)Create a fixed size array type that refers to a specific type.
The created type will exist in the context that its element type
exists in.
Defined at line 874 of file llvm/lib/IR/Core.cpp
-
bool removeTriviallyEmptyRange (IntrinsicInst & EndI, InstCombinerImpl & IC, std::function<bool (const IntrinsicInst &)> IsStart)Remove trivially empty start/end intrinsic ranges, i.e. a start
immediately followed by an end (ignoring debuginfo or other
start/end intrinsics in between). As this handles only the most trivial
cases, tracking the nesting level is not needed:
call
.foo.start(i1 0)
call
.foo.start(i1 0) ; This one won't be skipped: it will be removed
call
.foo.end(i1 0)
call
.foo.end(i1 0) ;
&I
Defined at line 876 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
bool testSubClass (const CodeGenRegisterClass * A, const CodeGenRegisterClass * B)Returns true if RC is a strict subclass.
RC is a sub-class of this class if it is a valid replacement for any
instruction operand where a register of this classis required. It must
satisfy these conditions:
1. All RC registers are also in this.
2. The RC spill size must not be smaller than our spill size.
3. RC spill alignment must be compatible with ours.
Defined at line 877 of file llvm/utils/TableGen/Common/CodeGenRegisters.cpp
-
XXH128_hash_t XXH3_len_0to16_128b (const uint8_t * input, size_t len, const uint8_t * secret, uint64_t seed)Assumption: `secret` size is >= XXH3_SECRET_SIZE_MIN
Defined at line 877 of file llvm/lib/Support/xxhash.cpp
-
LLVMTypeRef LLVMPointerType (LLVMTypeRef ElementType, unsigned int AddressSpace)Create a pointer type that points to a defined type.
The created type will exist in the context that its pointee type
exists in.
Defined at line 878 of file llvm/lib/IR/Core.cpp
-
Value * extractMaskedValue (IRBuilderBase & Builder, Value * WideWord, const PartwordMaskValues & PMV)Defined at line 878 of file llvm/lib/CodeGen/AtomicExpandPass.cpp
-
void mergeWriterContexts (WriterContext * Dst, WriterContext * Src)Merge the
writer context into
Defined at line 878 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void generateGetDirectiveLanguages (const DirectiveLanguage & DirLang, raw_ostream & OS)Defined at line 878 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
MCSectionELF * selectELFSectionForGlobal (MCContext & Ctx, const GlobalObject * GO, SectionKind Kind, Mangler & Mang, const TargetMachine & TM, bool EmitUniqueSection, unsigned int Flags, unsigned int * NextUniqueID, const MCSymbolELF * AssociatedSymbol, const MachineJumpTableEntry * MJTE)Defined at line 878 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
Error ignoreStrippedErrors (Error E)Defined at line 879 of file llvm/lib/Object/COFFObjectFile.cpp
-
bool isLoadCombineCandidate (Instruction * Or)See if this `or` looks like an load widening reduction, i.e. that it
consists of an `or`/`shl`/`zext`/`load` nodes only. Note that we don't
ensure that the pattern is *really* a load widening reduction,
we do not ensure that it can really be replaced with a widened load,
only that it mostly looks like one.
Defined at line 879 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
unsigned int encodeSEHRegNum (MCContext & Ctx, MCRegister Reg)Defined at line 881 of file llvm/lib/MC/MCStreamer.cpp
-
LazyCallGraph::SCC & updateCGAndAnalysisManagerForPass (LazyCallGraph & G, LazyCallGraph::SCC & InitialC, LazyCallGraph::Node & N, CGSCCAnalysisManager & AM, CGSCCUpdateResult & UR, FunctionAnalysisManager & FAM, bool FunctionPass)Defined at line 881 of file llvm/lib/Analysis/CGSCCPassManager.cpp
-
unsigned int getIntrinsicOpcode (bool HasSideEffects, bool IsConvergent)Defined at line 882 of file llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
-
LLVMOrcLLJITBuilderRef LLVMOrcCreateLLJITBuilder ()Create an LLVMOrcLLJITBuilder.
The client owns the resulting LLJITBuilder and should dispose of it using
LLVMOrcDisposeLLJITBuilder once they are done with it.
Defined at line 899 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void LLVMOrcDisposeLLJITBuilder (LLVMOrcLLJITBuilderRef Builder)Dispose of an LLVMOrcLLJITBuilderRef. This should only be called if ownership
has not been passed to LLVMOrcCreateLLJIT (e.g. because some error prevented
that function from being called).
Defined at line 903 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void Verify (const Function & F, const DominatorTree & DT, const CFGDeadness & CD)Defined at line 888 of file llvm/lib/IR/SafepointIRVerifier.cpp
-
void LLVMOrcDisposeDumpObjects (LLVMOrcDumpObjectsRef DumpObjects)Dispose of a DumpObjects instance.
Defined at line 883 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMErrorRef LLVMOrcDumpObjects_CallOperator (LLVMOrcDumpObjectsRef DumpObjects, LLVMMemoryBufferRef * ObjBuffer)Dump the contents of the given MemoryBuffer.
Defined at line 887 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMTypeRef LLVMGetElementType (LLVMTypeRef Ty)Obtain the element type of an array or vector type.
Defined at line 896 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetNumContainedTypes (LLVMTypeRef Tp)Return the number of types in the derived type.
Defined at line 903 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMPointerTypeIsOpaque (LLVMTypeRef Ty)Determine whether a pointer is opaque.
True if this is an instance of an opaque PointerType.
Defined at line 883 of file llvm/lib/IR/Core.cpp
-
const Function * getParent (const Value * V)Defined at line 885 of file llvm/lib/Analysis/BasicAliasAnalysis.cpp
-
void simplifyARM64Opcodes (std::vector<WinEH::Instruction> & Instructions, bool Reverse)Defined at line 885 of file llvm/lib/MC/MCWin64EH.cpp
-
void EmitGenDwarfAranges (MCStreamer * MCOS, const MCSymbol * InfoSectionSymbol)When generating dwarf for assembly source files this emits the data for
.debug_aranges section. This section contains a header and a table of pairs
of PointerSize'ed values for the address and size of section(s) with line
table entries.
Defined at line 885 of file llvm/lib/MC/MCDwarf.cpp
-
Error checkRpathCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex)Defined at line 886 of file llvm/lib/Object/MachOObjectFile.cpp
-
LegalizeResult createAtomicLibcall (MachineIRBuilder & MIRBuilder, MachineInstr & MI)Defined at line 886 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
LLVMTypeRef LLVMVectorType (LLVMTypeRef ElementType, unsigned int ElementCount)Create a vector type that contains a defined type and has a specific
number of elements.
The created type will exist in the context thats its element type
exists in.
Defined at line 887 of file llvm/lib/IR/Core.cpp
-
void initializeX86CmovConverterPassPassOnce (PassRegistry & Registry)Defined at line 887 of file llvm/lib/Target/X86/X86CmovConversion.cpp
-
bool isLoadOrStore (const Instruction * I)Returns true if the load or store can be analyzed. Atomic and volatile
operations have properties which this analysis does not understand.
Defined at line 887 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
void * operator new (size_t Bytes, llvm::MCContext & C, size_t Alignment)operator new and delete aren't allowed inside namespaces.
The throw specifications are mandated by the standard.
Placement new for using the MCContext's allocator.
This placement form of operator new uses the MCContext's allocator for
obtaining memory. It is a non-throwing new, which means that it returns
null on error. (If that is what the allocator does. The current does, so if
this ever changes, this operator will have to be changed, too.)
Usage looks like this (assuming there's an MCContext 'Context' in scope):
Please note that you cannot use delete on the pointer; it must be
deallocated using an explicit destructor call followed by
Parameters
Bytes The number of bytes to allocate. Calculated by the compiler.C The MCContext that provides the allocator.Alignment The alignment of the allocated memory (if the underlying allocator supports it).Returns
The allocated memory. Could be NULL.
Code
// Default alignment (8) IntegerLiteral *Ex = new (Context) IntegerLiteral(arguments); // Specific alignment IntegerLiteral *Ex2 = new (Context, 4) IntegerLiteral(arguments);Defined at line 888 of file llvm/include/llvm/MC/MCContext.h
-
void dumpMachineInstrRangeWithSlotIndex (int B, int E, const LiveIntervals & LIS, const char *const header, Register VReg)Dump the range of instructions from B to E with their slot indexes.
Defined at line 888 of file llvm/lib/CodeGen/InlineSpiller.cpp
-
Constant * getOrInsertGlobal (Module & M, StringRef Name, Type * Ty)Defined at line 889 of file llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
-
Printable PrintNodeInfo (PBQP::RegAlloc::PBQPRAGraph::NodeId NId, const PBQP::RegAlloc::PBQPRAGraph & G)Create Printable object for node and register info.
Defined at line 889 of file llvm/lib/CodeGen/RegAllocPBQP.cpp
-
Value * insertMaskedValue (IRBuilderBase & Builder, Value * WideWord, Value * Updated, const PartwordMaskValues & PMV)Defined at line 889 of file llvm/lib/CodeGen/AtomicExpandPass.cpp
-
bool TopoOrderRC (const CodeGenRegisterClass & A, const CodeGenRegisterClass & B)Sorting predicate for register classes. This provides a topological
ordering that arranges all register classes before their sub-classes.
Register classes with the same registers, spill size, and alignment form a
clique. They will be ordered alphabetically.
Defined at line 889 of file llvm/utils/TableGen/Common/CodeGenRegisters.cpp
-
bool isCoalescable (const MachineInstr & MI)Defined at line 890 of file llvm/lib/CodeGen/RegAllocFast.cpp
-
bool runImpl (Function & F, const TargetLibraryInfo & TLI, const TargetTransformInfo & TTI, AliasAnalysis & AA, DominatorTree * DT)Defined at line 890 of file llvm/lib/Transforms/Scalar/MergeICmps.cpp
-
bool mergeConsecutivePartStores (ArrayRef<PartStore> Parts, unsigned int Width, const DataLayout & DL, TargetTransformInfo & TTI)Defined at line 890 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
LLVMTypeRef LLVMScalableVectorType (LLVMTypeRef ElementType, unsigned int ElementCount)Create a vector type that contains a defined type and has a scalable
number of elements.
The created type will exist in the context thats its element type
exists in.
Defined at line 891 of file llvm/lib/IR/Core.cpp
-
unique_ptr parseIR (LLVMContext & C, const char * IR)Defined at line 891 of file llvm/unittests/IR/VFABIDemanglerTest.cpp
-
int llvm_size_main (int argc, char ** argv, const llvm::ToolContext & )Defined at line 891 of file llvm/tools/llvm-size/llvm-size.cpp
-
Function * cloneCandidateFunction (Function * F, unsigned int NSpecs)Clone the function
and remove the ssa_copy intrinsics added by
the SCCPSolver in the cloned version.
Defined at line 893 of file llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
-
int mingw_noop_main ()Defined at line 894 of file llvm/tools/lli/lli.cpp
-
StringRef getFuncName (const StringMap<InstrProfWriter::ProfilingData>::value_type & Val)Defined at line 895 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
unsigned int getOpcodeWithCC (unsigned int Opc, CondCode CC)Defined at line 895 of file llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
-
bool narrowUDivOrURem (BinaryOperator * Instr, const ConstantRange & XCR, const ConstantRange & YCR)Try to shrink a udiv/urem's width down to the smallest power of two that's
sufficient to contain its operands.
Defined at line 895 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
bool isSimpleIVUser (Instruction * I, const Loop * L, ScalarEvolution * SE)Return true if this instruction generates a simple SCEV
expression in terms of that IV.
This is similar to IVUsers' isInteresting() but processes each instruction
non-recursively when the operand is already known to be a simpleIVUser.
Defined at line 896 of file llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
-
VPWidenInductionRecipe * getOptimizableIVOf (VPValue * VPV, PredicatedScalarEvolution & PSE)Check if
is an untruncated wide induction, either before or after the
increment. If so return the header IV (before the increment), otherwise
return null.
Defined at line 897 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void operator delete (void * Ptr, llvm::MCContext & C, size_t )Placement delete companion to the new above.
This operator is just a companion to the new above. There is no way of
invoking it directly; see the new operator for more details. This operator
is called implicitly by the compiler if a placement new expression using
the MCContext throws in the object constructor.
Defined at line 898 of file llvm/include/llvm/MC/MCContext.h
-
bool notDifferentParent (const Value * O1, const Value * O2)Defined at line 898 of file llvm/lib/Analysis/BasicAliasAnalysis.cpp
-
XXH128_hash_t XXH128_mix32B (XXH128_hash_t acc, const uint8_t * input_1, const uint8_t * input_2, const uint8_t * secret, uint64_t seed)A bit slower than XXH3_mix16B, but handles multiply by zero better.
Defined at line 899 of file llvm/lib/Support/xxhash.cpp
-
void dumpAddrSection (raw_ostream & OS, DWARFDataExtractor & AddrData, DIDumpOptions DumpOpts, uint16_t Version, uint8_t AddrSize)Dump the .debug_addr section.
Defined at line 899 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
Value * simplifyMulInst (Value * Op0, Value * Op1, bool IsNSW, bool IsNUW, const SimplifyQuery & Q, unsigned int MaxRecurse)Given operands for a Mul, see if we can fold the result.
If not, this returns null.
Defined at line 899 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
basic_string getFuncName (const SampleProfileMap::value_type & Val)Defined at line 900 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
unsigned int adjCycles (unsigned int Cyc, int Delta)Adjust cycles with downward saturation.
Defined at line 900 of file llvm/lib/CodeGen/EarlyIfConversion.cpp
-
bool hasInitializesAttr (Instruction * I)Defined at line 901 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
void initialize (TargetLibraryInfoImpl & TLI, const Triple & T, const llvm::StringTable & StandardNames, VectorLibrary VecLib)Initialize the set of available library functions based on the specified
target triple. This should be carefully written so that a missing target
triple gets a sane set of defaults.
Defined at line 901 of file llvm/lib/Analysis/TargetLibraryInfo.cpp
-
bool isEndbrImm64 (uint64_t Imm)Defined at line 901 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
void populateEHOperandBundle (VPCandidateInfo & Cand, int & BlockColors, SmallVectorImpl<OperandBundleDef> & OpBundles)When generating value profiling calls on Windows routines that make use of
handler funclets for exception processing an operand bundle needs to attached
to the called function. This routine will set
to contain the
funclet information, if any is needed, that should be placed on the generated
value profiling call for the value profile candidate call.
Defined at line 901 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
Instruction * foldSelectZeroOrFixedOp (SelectInst & SI, InstCombinerImpl & IC)select (x == 0), 0, x * y --> freeze(y) * x
select (y == 0), 0, x * y --> freeze(x) * y
select (x == 0), undef, x * y --> freeze(y) * x
select (x == undef), 0, x * y --> freeze(y) * x
Usage of mul instead of 0 will make the result more poisonous,
so the operand that was not checked in the condition should be frozen.
The latter folding is applied only when a constant compared with x is
is a vector consisting of 0 and undefs. If a constant compared with x
is a scalar undefined value or undefined vector then an expression
should be already folded into a constant.
This also holds all operations such that Op(0) == 0
e.g. Shl, Umin, etc
Defined at line 902 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
void propagateMemProfMetadata (Function * Callee, CallBase & CB, bool ContainsMemProfMetadata, const ValueMap<const Value *, WeakTrackingVH> & VMap, OptimizationRemarkEmitter * ORE)Update memprof related metadata (!memprof and !callsite) based on the
inlining of Callee into the callsite at CB. The updates include merging the
inlined callee's callsite metadata with that of the inlined call,
and moving the subset of any memprof contexts to the inlined callee
allocations if they match the new inlined call stack.
Defined at line 903 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
bool needsRuntimeHookUnconditionally (const Triple & TT)Defined at line 904 of file llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
-
bool FlattenLoopPair (FlattenInfo & FI, DominatorTree * DT, LoopInfo * LI, ScalarEvolution * SE, AssumptionCache * AC, const TargetTransformInfo * TTI, LPMUpdater * U, MemorySSAUpdater * MSSAU, const LoopAccessInfo & LAI)Defined at line 904 of file llvm/lib/Transforms/Scalar/LoopFlatten.cpp
-
void cloneLoopBlocks (Loop * L, unsigned int IterNumber, bool PeelLast, BasicBlock * InsertTop, BasicBlock * InsertBot, BasicBlock * OrigPreHeader, SmallVectorImpl<std::pair<BasicBlock *, BasicBlock *>> & ExitEdges, SmallVectorImpl<BasicBlock *> & NewBlocks, LoopBlocksDFS & LoopBlocks, ValueToValueMapTy & VMap, ValueToValueMapTy & LVMap, DominatorTree * DT, LoopInfo * LI, ArrayRef LoopLocalNoAliasDeclScopes, ScalarEvolution & SE)Clones the body of the loop L, putting it between
and
Parameters
IterNumber The serial number of the iteration currently being peeled off.PeelLast Peel off the last iterations fromExitEdges The exit edges of the original loop.NewBlocks [out] A list of the blocks in the newly created cloneVMap [out] The value map between the loop and the new clone.LoopBlocks A helper for DFS-traversal of the loop.LVMap A value-map that maps instructions from the original loop to instructions in the last peeled-off iteration.Defined at line 904 of file llvm/lib/Transforms/Utils/LoopPeel.cpp
-
bool hasConcreteDef (Value * V)Return true if the given value is concrete. We must prove that undef can
never reach it.
TODO: If we decide that this is a good approach to checking for undef, we
may factor it into a common location.
Defined at line 905 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
template <typename T>void filterFunctions (T & ProfileMap)Defined at line 906 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void LLVMOrcLLJITBuilderSetJITTargetMachineBuilder (LLVMOrcLLJITBuilderRef Builder, LLVMOrcJITTargetMachineBuilderRef JTMB)Set the JITTargetMachineBuilder to be used when constructing the LLJIT
instance. Calling this function is optional: if it is not called then the
LLJITBuilder will use JITTargeTMachineBuilder::detectHost to construct a
JITTargetMachineBuilder.
This function takes ownership of the JTMB argument: clients should not
dispose of the JITTargetMachineBuilder after calling this function.
Defined at line 907 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void ConstantPropUsersOf (Value * V, const DataLayout & DL, TargetLibraryInfo * TLI)Walk the use list of V, constant folding all of the instructions that are
foldable.
Defined at line 907 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
Value * followLCSSA (Value * SV)If SV is a LCSSA PHI node with a single incoming value, return the incoming
value.
Defined at line 908 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
Error checkOperandCount (StringRef EncodingString, ArrayRef Values, uint64_t ExpectedOperands)Defined at line 908 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
void generateClauseSet (ArrayRef VerClauses, raw_ostream & OS, StringRef ClauseSetPrefix, const Directive & Dir, const DirectiveLanguage & DirLang, Frontend FE)Generate a simple enum set with the give clauses.
Defined at line 908 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
vector computeNewArchiveMembers (ArchiveOperation Operation, object::Archive * OldArchive)We have to walk this twice and computing it is not trivial, so creating an
explicit std::vector is actually fairly efficient.
Defined at line 908 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
bool isOperandKill (const MachineOperand & MO, MachineRegisterInfo * MRI)Defined at line 909 of file llvm/lib/CodeGen/MachineLICM.cpp
-
XXH128_hash_t XXH3_len_17to128_128b (const uint8_t * input, size_t len, const uint8_t * secret, size_t secretSize, uint64_t seed)Defined at line 909 of file llvm/lib/Support/xxhash.cpp
-
bool isValidForAlternation (unsigned int Opcode)Example of unsupported opcode is SDIV that can potentially cause UB if the
"shuffled out" lane would result in division by zero.
Defined at line 910 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
ConstantRangeList getIntersectedInitRangeList (ArrayRef<ArgumentInitInfo> Args, bool CallHasNoUnwindAttr)Return the intersected range list of the initializes attributes of "Args".
"Args" are call arguments that alias to each other.
If any argument in "Args" doesn't have dead_on_unwind attr and
"CallHasNoUnwindAttr" is false, return empty.
Defined at line 910 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
int restorezOSStdHandleAutoConversion (int FD)Defined at line of file
-
void operator<< (const testing::internal::Secret & , int )Ensures that there is at least one operator
<
<
in the global namespace.
See Message
&
operator
<
<
(...) below for why.
Defined at line of file
-
void llvm_blake3_compress_in_place_sse2 (uint32_t[8] cv, const uint8_t[64] block, uint8_t block_len, uint64_t counter, uint8_t flags)Defined at line of file
-
void llvm_blake3_compress_xof_sse2 (const uint32_t[8] cv, const uint8_t[64] block, uint8_t block_len, uint64_t counter, uint8_t flags, uint8_t[64] out)Defined at line of file
-
void llvm_blake3_hash_many_sse2 (const uint8_t *const * inputs, size_t num_inputs, size_t blocks, const uint32_t[8] key, uint64_t counter, _Bool increment_counter, uint8_t flags, uint8_t flags_start, uint8_t flags_end, uint8_t * out)Defined at line of file
-
void llvm_blake3_compress_in_place_sse41 (uint32_t[8] cv, const uint8_t[64] block, uint8_t block_len, uint64_t counter, uint8_t flags)Defined at line of file
-
void llvm_blake3_compress_xof_sse41 (const uint32_t[8] cv, const uint8_t[64] block, uint8_t block_len, uint64_t counter, uint8_t flags, uint8_t[64] out)Defined at line of file
-
void llvm_blake3_hash_many_sse41 (const uint8_t *const * inputs, size_t num_inputs, size_t blocks, const uint32_t[8] key, uint64_t counter, _Bool increment_counter, uint8_t flags, uint8_t flags_start, uint8_t flags_end, uint8_t * out)Defined at line of file
-
void llvm_blake3_hash_many_avx2 (const uint8_t *const * inputs, size_t num_inputs, size_t blocks, const uint32_t[8] key, uint64_t counter, _Bool increment_counter, uint8_t flags, uint8_t flags_start, uint8_t flags_end, uint8_t * out)Defined at line of file
-
void llvm_blake3_compress_in_place_avx512 (uint32_t[8] cv, const uint8_t[64] block, uint8_t block_len, uint64_t counter, uint8_t flags)Defined at line of file
-
void llvm_blake3_compress_xof_avx512 (const uint32_t[8] cv, const uint8_t[64] block, uint8_t block_len, uint64_t counter, uint8_t flags, uint8_t[64] out)Defined at line of file
-
void llvm_blake3_hash_many_avx512 (const uint8_t *const * inputs, size_t num_inputs, size_t blocks, const uint32_t[8] key, uint64_t counter, _Bool increment_counter, uint8_t flags, uint8_t flags_start, uint8_t flags_end, uint8_t * out)Defined at line of file
-
void llvm_blake3_xof_many_avx512 (const uint32_t[8] cv, const uint8_t[64] block, uint8_t block_len, uint64_t counter, uint8_t flags, uint8_t * out, size_t outblocks)Defined at line of file
-
unsigned int LLVMGetArrayLength (LLVMTypeRef ArrayTy)Obtain the length of an array type.
This only works on types that represent arrays.
Defined at line 907 of file llvm/lib/IR/Core.cpp
-
Value * performMaskedAtomicOp (BinOp Op, IRBuilderBase & Builder, Value * Loaded, Value * Shifted_Inc, Value * Inc, const PartwordMaskValues & PMV)Emit IR to implement a masked version of a given atomicrmw
operation. (That is, only the bits under the Mask should be
affected by the operation)
Defined at line 909 of file llvm/lib/CodeGen/AtomicExpandPass.cpp
-
uint64_t LLVMGetArrayLength2 (LLVMTypeRef ArrayTy)Obtain the length of an array type.
This only works on types that represent arrays.
Defined at line 911 of file llvm/lib/IR/Core.cpp
-
Error tryEnableDebugSupport (orc::LLJIT & J)Try to enable debugger support for the given instance.
This alway returns success, but prints a warning if it's not able to enable
debugger support.
Defined at line 911 of file llvm/tools/lli/lli.cpp
-
DILocalVariable * createLocalVariable (LLVMContext & VMContext, SmallVectorImpl<TrackingMDNodeRef> & PreservedNodes, DIScope * Context, StringRef Name, unsigned int ArgNo, DIFile * File, unsigned int LineNo, DIType * Ty, bool AlwaysPreserve, DIFlags Flags, uint32_t AlignInBits, MDTupleTypedArrayWrapper Annotations)Defined at line 911 of file llvm/lib/IR/DIBuilder.cpp
-
MCSection * selectELFSectionForGlobal (MCContext & Ctx, const GlobalObject * GO, SectionKind Kind, Mangler & Mang, const TargetMachine & TM, bool Retain, bool EmitUniqueSection, unsigned int Flags, unsigned int * NextUniqueID)Defined at line 911 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
char * lstep (struct re_guts * , sopno , sopno , char * , int , char * )- step - map set of states reachable before char to set reachable after
Defined at line 912 of file llvm/lib/Support/regengine.inc
-
long sstep (struct re_guts * , sopno , sopno , long , int , long )- step - map set of states reachable before char to set reachable after
Defined at line 912 of file llvm/lib/Support/regengine.inc
-
void LLVMOrcLLJITBuilderSetObjectLinkingLayerCreator (LLVMOrcLLJITBuilderRef Builder, LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction F, void * Ctx)Set an ObjectLinkingLayer creator function for this LLJIT instance.
Defined at line 913 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool containsProfilingIntrinsics (Module & M)Check if the module contains uses of any profiling intrinsics.
Defined at line 913 of file llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
-
bool isLoopCounter (PHINode * Phi, Loop * L, ScalarEvolution * SE)Return true if the given phi is a "counter" in L. A counter is an
add recurance (of integer or pointer type) with an arbitrary start, and a
step of 1. Note that L must have exactly one latch.
Defined at line 914 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
char getSymbolNMTypeChar (COFFObjectFile & Obj, symbol_iterator I)Defined at line 914 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
unsigned int LLVMGetPointerAddressSpace (LLVMTypeRef PointerTy)Obtain the address space of a pointer type.
This only works on types that represent pointers.
Defined at line 915 of file llvm/lib/IR/Core.cpp
-
CallInst * canonicalizeConstantArg0ToArg1 (CallInst & Call)Defined at line 915 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
bool canBeCheaplyTransformed (ScalarEvolution & SE, const SCEVAddRecExpr * Phi, const SCEVAddRecExpr * Requested, bool & InvertStep)Check whether we can cheaply express the requested SCEV in terms of
the available PHI SCEV by truncation and/or inversion of the step.
Defined at line 915 of file llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
-
bool printPTERNLOGComments (const MCInst * MI, raw_ostream & OS, const MCInstrInfo & MCII)Defined at line 915 of file llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
-
bool isInstructionPairAdd (Instruction * A, Instruction * B)Defined at line 916 of file llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
-
unsigned int getBestDestForJumpOnUndef (BasicBlock * BB)GetBestDestForBranchOnUndef - If we determine that the specified block ends
in an undefined jump, decide which block is best to revector to.
Since we can pick an arbitrary destination, we pick the successor with the
fewest predecessors. This should reduce the in-degree of the others.
Defined at line 916 of file llvm/lib/Transforms/Scalar/JumpThreading.cpp
-
size_t parseBackslash (StringRef Src, size_t I, SmallString<128> & Token)Backslashes are interpreted in a rather complicated way in the Windows-style
command line, because backslashes are used both to separate path and to
escape double quote. This method consumes runs of backslashes as well as the
following double quote if it's escaped.
* If an even number of backslashes is followed by a double quote, one
backslash is output for every pair of backslashes, and the last double
quote remains unconsumed. The double quote will later be interpreted as
the start or end of a quoted string in the main loop outside of this
function.
* If an odd number of backslashes is followed by a double quote, one
backslash is output for every pair of backslashes, and a double quote is
output for the last pair of backslash-double quote. The double quote is
consumed in this case.
* Otherwise, backslashes are interpreted literally.
Defined at line 916 of file llvm/lib/Support/CommandLine.cpp
-
void computeAliasSummary (ModuleSummaryIndex & Index, const GlobalAlias & A, DenseSet<GlobalValue::GUID> & CantBePromoted)Defined at line 916 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
void findExtractedInputToOverallInputMapping (OutlinableRegion & Region, std::vector<unsigned int> & InputGVNs, SetVector<Value *> & ArgInputs)Look over the inputs and map each input argument to an argument in the
overall function for the OutlinableRegions. This creates a way to replace
the arguments of the extracted function with the arguments of the new
overall function.
Parameters
Region [in,out] - The region of code to be analyzed.InputGVNs [in] - The global value numbering of the input values collected.ArgInputs [in] - The values of the arguments to the extracted function.Defined at line 916 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
Error checkEncryptCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex, uint64_t cryptoff, uint64_t cryptsize, const char ** LoadCmd, const char * CmdName)Defined at line 918 of file llvm/lib/Object/MachOObjectFile.cpp
-
Instruction * shrinkSplatShuffle (TruncInst & Trunc, InstCombiner::BuilderTy & Builder)Try to narrow the width of a splat shuffle. This could be generalized to any
shuffle with a constant operand, but we limit the transform to avoid
creating a shuffle type that targets may not be able to lower effectively.
Defined at line 919 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
PHINode * findInnerReductionPhi (Loop * L, Value * V, SmallVectorImpl<Instruction *> & HasNoWrapInsts)Check V's users to see if it is involved in a reduction in L.
Defined at line 919 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
int runOrcJIT (const char * ProgName)Defined at line 919 of file llvm/tools/lli/lli.cpp
-
unsigned int LLVMGetVectorSize (LLVMTypeRef VectorTy)Obtain the (possibly scalable) number of elements in a vector type.
This only works on types that represent vectors (fixed or scalable).
Defined at line 919 of file llvm/lib/IR/Core.cpp
-
void extractSingletonRegisterForAsmOperand (MatchableInfo::AsmOperand & Op, const AsmMatcherInfo & Info, StringRef RegisterPrefix)extractSingletonRegisterForAsmOperand - Extract singleton register,
if present, from specified token.
Defined at line 919 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
void * operator new[] (size_t Bytes, llvm::MCContext & C, size_t Alignment)This placement form of operator new[] uses the MCContext's allocator for
obtaining memory. It is a non-throwing new[], which means that it returns
null on error.
Usage looks like this (assuming there's an MCContext 'Context' in scope):
Please note that you cannot use delete on the pointer; it must be
deallocated using an explicit destructor call followed by
Parameters
Bytes The number of bytes to allocate. Calculated by the compiler.C The MCContext that provides the allocator.Alignment The alignment of the allocated memory (if the underlying allocator supports it).Returns
The allocated memory. Could be NULL.
Code
// Default alignment (8) char *data = new (Context) char[10]; // Specific alignment char *data = new (Context, 4) char[10];Defined at line 921 of file llvm/include/llvm/MC/MCContext.h
-
template <typename T>bool equalsLoadStoreHelper (const T & LHS, const Expression & RHS)Defined at line 921 of file llvm/lib/Transforms/Scalar/NewGVN.cpp
-
Error writeListEntryAddress (StringRef EncodingName, raw_ostream & OS, uint64_t Addr, uint8_t AddrSize, bool IsLittleEndian)Defined at line 921 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
void TestHeaderEncodeDecode (const Header & H, endianness ByteOrder)Defined at line 921 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
KnownBits divComputeLowBit (KnownBits Known, const KnownBits & LHS, const KnownBits & RHS, bool Exact)Defined at line 921 of file llvm/lib/Support/KnownBits.cpp
-
void PrintStackTraceSignalHandler (void * )Defined at line 922 of file llvm/lib/Support/Unix/Signals.inc
-
bool needBWI (MVT VT)Defined at line 922 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
void dumpRnglistsSection (raw_ostream & OS, DWARFDataExtractor & rnglistData, function_ref LookupPooledAddress, DIDumpOptions DumpOpts)Dump the .debug_rnglists or .debug_rnglists.dwo section (DWARF v5).
Defined at line 922 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
LLVMErrorRef LLVMOrcCreateLLJIT (LLVMOrcLLJITRef * Result, LLVMOrcLLJITBuilderRef Builder)Create an LLJIT instance from an LLJITBuilder.
This operation takes ownership of the Builder argument: clients should not
dispose of the builder after calling this function (even if the function
returns an error). If a null Builder argument is provided then a
default-constructed LLJITBuilder will be used.
On success the resulting LLJIT instance is uniquely owned by the client and
automatically manages the memory of all JIT'd code and all modules that are
transferred to it (e.g. via LLVMOrcLLJITAddLLVMIRModule). Disposing of the
LLJIT instance will free all memory managed by the JIT, including JIT'd code
and not-yet compiled modules.
Defined at line 923 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool canReplaceGEPIdxWithZero (InstCombinerImpl & IC, GetElementPtrInst * GEPI, Instruction * MemI, unsigned int & Idx)If we're indexing into an object of a known size, and the outer index is
not a constant, but having any value but zero would lead to undefined
behavior, replace it with zero.
For example, if we have:
.a = private unnamed_addr constant [1 x i32] [i32 12], align 4
...
%arrayidx = getelementptr inbounds [1 x i32]*
.a, i64 0, i64 %x
... = load i32* %arrayidx, align 4
Then we know that we can replace %x in the GEP with i64 0.
FIXME: We could fold any GEP index to zero that would cause UB if it were
not zero. Currently, we only handle the first such index. Also, we could
also search through non-zero constant indices if we kept track of the
offsets those indices implied.
Defined at line 924 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
bool readOpcode (struct InternalInstruction * insn)Read the opcode (except the ModR/M byte in the case of extended or escape
opcodes).
Defined at line 925 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
void p_b_cclass (struct parse * , cset * )- p_b_cclass - parse a character-class name and deal with it
Defined at line 926 of file llvm/lib/Support/regcomp.c
-
LLVMValueRef LLVMGetConstantPtrAuthPointer (LLVMValueRef PtrAuth)Get the pointer value for the associated ConstantPtrAuth constant.
Defined at line 923 of file llvm/lib/IR/Core.cpp
-
bool isInstructionPairMul (Instruction * A, Instruction * B)Defined at line 926 of file llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
-
Value * selectIncomingValueForBlock (Value * OldVal, BasicBlock * BB, int & IncomingValues)Determines the value to use as the phi node input for a block.
Select between
any value that we know flows from
to a particular phi on the basis of which one (if either) is not
undef. Update IncomingValues based on the selected value.
Parameters
OldVal The value we are considering selecting.BB The block that the value flows in from.IncomingValues A map from block-to-value for other phi inputs that we have examined.Defined at line 926 of file llvm/lib/Transforms/Utils/Local.cpp
-
LLVMValueRef LLVMGetConstantPtrAuthKey (LLVMValueRef PtrAuth)Get the key value for the associated ConstantPtrAuth constant.
Defined at line 927 of file llvm/lib/IR/Core.cpp
-
InlineParams getInlineParamsFromOptLevel (OptimizationLevel Level)Defined at line 927 of file llvm/lib/Passes/PassBuilderPipelines.cpp
-
bool isGEPFoldable (GetElementPtrInst * GEP, const TargetTransformInfo * TTI)Defined at line 927 of file llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
-
PDBFile & loadPDB (StringRef Path, std::unique_ptr<IPDBSession> & Session)Defined at line 927 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
unsigned int updatePhysDepsUpwards (const MachineInstr & MI, unsigned int Height, int & RegUnits, const TargetSchedModel & SchedModel, const TargetInstrInfo * TII, const TargetRegisterInfo * TRI)Identify physreg dependencies for MI when scanning instructions upwards.
Return the issue height of MI after considering any live regunits.
Height is the issue height computed from virtual register dependencies alone.
Defined at line 927 of file llvm/lib/CodeGen/MachineTraceMetrics.cpp
-
void eliminateBlockCases (BasicBlock * BB, std::vector<ValueEqualityComparisonCase> & Cases)Given a vector of bb/value pairs, remove any entries
in the list that match the specified block.
Defined at line 928 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
Instruction * createOverflowTuple (IntrinsicInst * II, Value * Result, Constant * Overflow)Creates a result tuple for an overflow intrinsic
with a given
and a constant
value.
Defined at line 928 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
GlobalVariable * OptimizeGlobalAddressOfAllocation (GlobalVariable * GV, CallInst * CI, uint64_t AllocSize, Constant * InitVal, const DataLayout & DL, TargetLibraryInfo * TLI)This function takes the specified global variable, and transforms the
program as if it always contained the result of the specified malloc.
Because it is always the result of the specified malloc, there is no reason
to actually DO the malloc. Instead, turn the malloc into a global, and any
loads of GV as uses of the new global.
Defined at line 928 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
basic_string formatOperandComment (basic_string Comment)Defined at line 929 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
bool shouldConvertOrWithNoCommonBitsToAdd (Instruction * Or)Return true if it may be profitable to convert this (X|Y) into (X+Y).
Defined at line 929 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
unsigned int getPointerOperandIndex (Instruction * I)Defined at line 930 of file llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
-
LLVMValueRef LLVMGetConstantPtrAuthDiscriminator (LLVMValueRef PtrAuth)Get the discriminator value for the associated ConstantPtrAuth constant.
Defined at line 931 of file llvm/lib/IR/Core.cpp
-
void operator delete[] (void * Ptr, llvm::MCContext & C)Placement delete[] companion to the new[] above.
This operator is just a companion to the new[] above. There is no way of
invoking it directly; see the new[] operator for more details. This operator
is called implicitly by the compiler if a placement new[] expression using
the MCContext throws in the object constructor.
Defined at line 932 of file llvm/include/llvm/MC/MCContext.h
-
bool processUDivOrURem (BinaryOperator * Instr, LazyValueInfo * LVI)Defined at line 932 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void createMemSetLoop (Instruction * InsertBefore, Value * DstAddr, Value * CopyLen, Value * SetValue, Align DstAlign, bool IsVolatile)Defined at line 932 of file llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
-
bool isInstructionPotentiallySymmetric (Instruction * I)Defined at line 933 of file llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
-
void generateDirectiveClauseSets (const DirectiveLanguage & DirLang, Frontend FE, raw_ostream & OS)Generate an enum set for the 4 kinds of clauses linked to a directive.
Defined at line 933 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
Expected writeDWARFExpression (raw_ostream & OS, const DWARFYAML::DWARFOperation & Operation, uint8_t AddrSize, bool IsLittleEndian)Defined at line 933 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
void pdb2Yaml (StringRef Path)Defined at line 934 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
bool hasAddressTakenAndUsed (BasicBlock * BB)Defined at line 934 of file llvm/lib/Transforms/Scalar/JumpThreading.cpp
-
template <class ELFT>Expected readBBAddrMapImpl (const ELFFile<ELFT> & EF, optional TextSectionIndex, std::vector<PGOAnalysisMap> * PGOAnalyses)Defined at line 934 of file llvm/lib/Object/ELFObjectFile.cpp
-
LLVMValueRef LLVMGetConstantPtrAuthAddrDiscriminator (LLVMValueRef PtrAuth)Get the address discriminator value for the associated ConstantPtrAuth
constant.
Defined at line 935 of file llvm/lib/IR/Core.cpp
-
bool isAddFoldable (const SCEV * Base, ConstantInt * Index, Value * Stride, TargetTransformInfo * TTI)Returns whether (Base + Index * Stride) can be folded to an addressing mode.
Defined at line 935 of file llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
-
Immediate ExtractImmediate (const SCEV *& S, ScalarEvolution & SE)If S involves the addition of a constant integer value, return that integer
value, and mutate S to point to a new SCEV with that value excluded.
Defined at line 935 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
bool valuesOverlap (std::vector<ValueEqualityComparisonCase> & C1, std::vector<ValueEqualityComparisonCase> & C2)Return true if there are any keys in C1 that exist in C2 as well.
Defined at line 935 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void printMIOperand (raw_ostream & OS, MFPrintState & State, const MachineInstr & MI, unsigned int OpIdx, const TargetRegisterInfo * TRI, const TargetInstrInfo * TII, bool ShouldPrintRegisterTies, SmallBitVector & PrintedTypes, const MachineRegisterInfo & MRI, bool PrintDef)Defined at line 935 of file llvm/lib/CodeGen/MIRPrinter.cpp
-
Expected TestCodeGenerator (BugDriver & BD, unique_ptr Test, unique_ptr Safe)This is the predicate function used to check to see if the "Test" portion of
the program is miscompiled by the code generator under test. If so, return
true. In any case, both module arguments are deleted.
Defined at line 935 of file llvm/tools/bugpoint/Miscompilation.cpp
-
TypeIndex getStringIdTypeIdx (GlobalTypeTableBuilder & TypeTable, StringRef S)Defined at line 937 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
void PropagateCallSiteMetadata (CallBase & CB, ilist_iterator FStart, ilist_iterator FEnd)When inlining a call site that has !llvm.mem.parallel_loop_access,
!llvm.access.group, !alias.scope or !noalias metadata, that metadata should
be propagated to all memory-accessing cloned instructions.
Defined at line 937 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
XXH128_hash_t XXH3_len_129to240_128b (const uint8_t * input, size_t len, const uint8_t * secret, size_t secretSize, uint64_t seed)Defined at line 938 of file llvm/lib/Support/xxhash.cpp
-
PHINode * FindLoopCounter (Loop * L, BasicBlock * ExitingBB, const SCEV * BECount, ScalarEvolution * SE, DominatorTree * DT)Search the loop header for a loop counter (anadd rec w/step of one)
suitable for use by LFTR. If multiple counters are available, select the
"best" one based profitable heuristics.
BECount may be an i8* pointer type. The pointer difference is already
valid count without scaling the address stride, so it remains a pointer
expression as far as SCEV is concerned.
Defined at line 939 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
bool isWindowsSpecialChar (char C)Windows treats whitespace, double quotes, and backslashes specially, except
when parsing the first token of a full command line, in which case
backslashes are not special.
Defined at line 940 of file llvm/lib/Support/CommandLine.cpp
-
void setLiveRoot (ModuleSummaryIndex & Index, StringRef Name)Set LiveRoot flag on entries matching the given value name.
Defined at line 940 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
bool mergePartStores (SmallVectorImpl<PartStore> & Parts, const DataLayout & DL, TargetTransformInfo & TTI)Defined at line 940 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
bool hasLiveThroughUse (const MachineInstr * MI, Register Reg)===----------------------------------------------------------------------===//
Register mask functions
===----------------------------------------------------------------------===//
Check whether use of reg in MI is live-through. Live-through means that
the value is alive on exit from Machine instruction. The example of such
use is a deopt value in statepoint instruction.
Defined at line 941 of file llvm/lib/CodeGen/LiveIntervals.cpp
-
int getARM64OffsetInProlog (const std::vector<WinEH::Instruction> & Prolog, const std::vector<WinEH::Instruction> & Epilog)Check if an epilog exists as a subset of the end of a prolog (backwards).
Defined at line 941 of file llvm/lib/MC/MCWin64EH.cpp
-
LLVMErrorRef LLVMOrcDisposeLLJIT (LLVMOrcLLJITRef J)Dispose of an LLJIT instance.
Defined at line 942 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMTypeRef LLVMPointerTypeInContext (LLVMContextRef C, unsigned int AddressSpace)Create an opaque pointer type in a context.
Defined at line 941 of file llvm/lib/IR/Core.cpp
-
size_t findFirstNonGlobal (ArrayRef Symbols)Defined at line 942 of file llvm/lib/ObjectYAML/ELFEmitter.cpp
-
AttributeList getReturnAttrs (FastISel::CallLoweringInfo & CLI)Returns an AttributeList representing the attributes applied to the return
value of the given call.
Defined at line 942 of file llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
-
Error checkLinkerOptCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex)Defined at line 942 of file llvm/lib/Object/MachOObjectFile.cpp
-
Expected loadTestingFormat (StringRef Data, StringRef CompilationDir)Defined at line 942 of file llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
-
bool isWindowsSpecialCharInCommandName (char C)Defined at line 943 of file llvm/lib/Support/CommandLine.cpp
-
size_t TypeSizeToSizeIndex (uint32_t TypeSize)Defined at line 943 of file llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
-
void dumpRaw (StringRef Path)Defined at line 943 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
void TestGsymCreatorEncodeError (endianness ByteOrder, const GsymCreator & GC, basic_string ExpectedErrorMsg)Defined at line 943 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
Value * foldIsPowerOf2OrZero (ICmpInst * Cmp0, ICmpInst * Cmp1, bool IsAnd, InstCombiner::BuilderTy & Builder, InstCombinerImpl & IC)Fold (icmp eq ctpop(X) 1) | (icmp eq X 0) into (icmp ult ctpop(X) 2) and
fold (icmp ne ctpop(X) 1)
&
(icmp ne X 0) into (icmp ugt ctpop(X) 1).
Also used for logical and/or, must be poison safe if range attributes are
dropped.
Defined at line 943 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
Instruction * shrinkInsertElt (CastInst & Trunc, InstCombiner::BuilderTy & Builder)Try to narrow the width of an insert element. This could be generalized for
any vector constant, but we limit the transform to insertion into undef to
avoid potential backend problems from unsupported insertion widths. This
could also be extended to handle the case of inserting a scalar constant
into a vector variable.
Defined at line 943 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
void dumpLoclistsSection (raw_ostream & OS, DIDumpOptions DumpOpts, DWARFDataExtractor Data, const DWARFObject & Obj, optional DumpOffset)Defined at line 946 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
bool processSRem (BinaryOperator * SDI, const ConstantRange & LCR, const ConstantRange & RCR, LazyValueInfo * LVI)Defined at line 946 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void scalarizeMaskedVectorHistogram (const DataLayout & DL, CallInst * CI, DomTreeUpdater * DTU, bool & ModifiedDT)Defined at line 946 of file llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
-
LLVMOrcExecutionSessionRef LLVMOrcLLJITGetExecutionSession (LLVMOrcLLJITRef J)Get a reference to the ExecutionSession for this LLJIT instance.
The ExecutionSession is owned by the LLJIT instance. The client is not
responsible for managing its memory.
Defined at line 947 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
basic_string maybeDemangle (StringRef Name)Defined at line 947 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
const MachineInstr * getCallInstr (const MachineInstr * MI)Return the call machine instruction or find a call within bundle.
Defined at line 947 of file llvm/lib/CodeGen/MachineFunction.cpp
-
void emitNonLazySymbolPointer (MCStreamer & OutStreamer, MCSymbol * StubLabel, int & MCSym)Defined at line 947 of file llvm/lib/Target/X86/X86AsmPrinter.cpp
-
bool IsIncrementNSW (ScalarEvolution & SE, const SCEVAddRecExpr * AR)Defined at line 948 of file llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
-
void computeExcessPressureDelta (ArrayRef<unsigned int> OldPressureVec, ArrayRef<unsigned int> NewPressureVec, RegPressureDelta & Delta, const RegisterClassInfo * RCI, ArrayRef<unsigned int> LiveThruPressureVec)Find the max change in excess pressure across all sets.
Defined at line 948 of file llvm/lib/CodeGen/RegisterPressure.cpp
-
void tokenizeWindowsCommandLineImpl (StringRef Src, StringSaver & Saver, function_ref AddToken, bool AlwaysCopy, function_ref MarkEOL, bool InitialCommandName)Windows tokenization implementation. The implementation is designed to be
inlined and specialized for the two user entry points.
Defined at line 949 of file llvm/lib/Support/CommandLine.cpp
-
bool isEqualOrWorse (const Attribute & New, const Attribute & Old)Return true if
is equal or worse than
Defined at line 950 of file llvm/lib/Transforms/IPO/Attributor.cpp
-
void dumpBytes (StringRef Path)Defined at line 950 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
LLVMOrcJITDylibRef LLVMOrcLLJITGetMainJITDylib (LLVMOrcLLJITRef J)Return a reference to the Main JITDylib.
The JITDylib is owned by the LLJIT instance. The client is not responsible
for managing its memory.
Defined at line 951 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void EmitAndPrintRemark (OptimizationRemarkEmitter * ORE, DiagnosticInfoOptimizationBase & Rem)Defined at line 951 of file llvm/lib/CodeGen/SelectOptimize.cpp
-
void initializeMergeICmpsLegacyPassPassOnce (PassRegistry & Registry)Defined at line 951 of file llvm/lib/Transforms/Scalar/MergeICmps.cpp
-
void gatherIncomingValuesToPhi (PHINode * PN, int & IncomingValues)Create a map from block to value for the operands of a
given phi.
Create a map from block to value for each non-undef value flowing
into
Parameters
PN The phi we are collecting the map for.IncomingValues [out] The map from block to value for this phi.Defined at line 951 of file llvm/lib/Transforms/Utils/Local.cpp
-
void writeInstrProfile (StringRef OutputFilename, ProfileFormat OutputFormat, InstrProfWriter & Writer)Defined at line 951 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
Value * expandFromPrimitiveShadowRecursive (Value * Shadow, SmallVector<unsigned int, 4> & Indices, Type * SubShadowTy, Value * PrimitiveShadow, int & IRB)Defined at line 952 of file llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
-
BinaryOperator * convertOrWithNoCommonBitsToAdd (Instruction * Or)If we have (X|Y), and iff X and Y have no common bits set,
transform this into (X+Y) to allow arithmetics reassociation.
Defined at line 953 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
MyFlags operator| (MyFlags a, MyFlags b)Defined at line 954 of file llvm/unittests/Support/YAMLIOTest.cpp
-
const char * LLVMOrcLLJITGetTripleString (LLVMOrcLLJITRef J)Return the target triple for this LLJIT instance. This string is owned by
the LLJIT instance and should not be freed by the client.
Defined at line 955 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void InitializeModuleAndManagers ()===----------------------------------------------------------------------===//
Top-Level parsing and JIT Driver
===----------------------------------------------------------------------===//
Defined at line 955 of file llvm/examples/Kaleidoscope/Chapter6/toy.cpp
-
VPValue * optimizeEarlyExitInductionUser (VPlan & Plan, VPTypeAnalysis & TypeInfo, VPBlockBase * PredVPBB, VPValue * Op, PredicatedScalarEvolution & PSE)Attempts to optimize the induction variable exit values for users in the
early exit block.
Defined at line 956 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void dumpConstraint (ArrayRef C, const int & Value2Index)Defined at line 957 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
Predicate areGlobalsPotentiallyEqual (const GlobalValue * GV1, const GlobalValue * GV2)Defined at line 957 of file llvm/lib/IR/ConstantFold.cpp
-
int InstProfClzll (unsigned long long X)Defined at line 958 of file llvm/include/llvm/ProfileData/InstrProfData.inc
-
char LLVMOrcLLJITGetGlobalPrefix (LLVMOrcLLJITRef J)Returns the global prefix character according to the LLJIT's DataLayout.
Defined at line 959 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMTypeRef LLVMVoidType ()These are similar to the above functions except they operate on the
global context.
Defined at line 958 of file llvm/lib/IR/Core.cpp
-
int InstProfPopcountll (unsigned long long X)Defined at line 960 of file llvm/include/llvm/ProfileData/InstrProfData.inc
-
bool addIfNotExistent (LLVMContext & Ctx, const Attribute & Attr, AttributeSet AttrSet, bool ForceReplace, AttrBuilder & AB)Return true if the information provided by
was added to the
attribute set
This is only the case if it was not already
present in
Defined at line 960 of file llvm/lib/Transforms/IPO/Attributor.cpp
-
LLVMTypeRef LLVMLabelType ()Defined at line 961 of file llvm/lib/IR/Core.cpp
-
basic_string getBlockName (const BasicBlock * B)Defined at line 961 of file llvm/lib/Transforms/Scalar/NewGVN.cpp
-
ObjectFormatType getDefaultFormat (const Triple & T)Defined at line 961 of file llvm/lib/TargetParser/Triple.cpp
-
template <typename MatchT>VPRecipeBase * findUserOf (VPValue * V, const MatchT & P)If
is used by a recipe matching pattern
return it. Otherwise
return nullptr;
Defined at line 962 of file llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
-
bool IsIncrementNUW (ScalarEvolution & SE, const SCEVAddRecExpr * AR)Defined at line 962 of file llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
-
LLVMOrcSymbolStringPoolEntryRef LLVMOrcLLJITMangleAndIntern (LLVMOrcLLJITRef J, const char * UnmangledName)Mangles the given string according to the LLJIT instance's DataLayout, then
interns the result in the SymbolStringPool and returns a reference to the
pool entry. Clients should call LLVMOrcReleaseSymbolStringPoolEntry to
decrement the ref-count on the pool entry once they are finished with this
value.
Defined at line 963 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void p_b_eclass (struct parse * , cset * )- p_b_eclass - parse an equivalence-class name and deal with it
This implementation is incomplete. xxx
Defined at line 957 of file llvm/lib/Support/regcomp.c
-
LLVMTypeRef LLVMVoidTypeInContext (LLVMContextRef C)Create a void type in a context.
Defined at line 945 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMLabelTypeInContext (LLVMContextRef C)Create a label type in a context.
Defined at line 948 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMTokenTypeInContext (LLVMContextRef C)Create a token type in a context.
Defined at line 951 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMMetadataTypeInContext (LLVMContextRef C)Create a metadata type in a context.
Defined at line 954 of file llvm/lib/IR/Core.cpp
-
StringRef sanitizeFunctionName (StringRef funcName)Defined at line 963 of file llvm/lib/Analysis/TargetLibraryInfo.cpp
-
void getPhiRegs (MachineInstr & Phi, MachineBasicBlock * Loop, Register & InitVal, Register & LoopVal)Return the register values for the operands of a Phi instruction.
This function assume the instruction is a Phi.
Defined at line 963 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
void createCandidatesFromSuffixTree (const IRInstructionMapper & Mapper, std::vector<IRInstructionData *> & InstrList, std::vector<unsigned int> & IntegerMapping, SuffixTree::RepeatedSubstring & RS, std::vector<IRSimilarityCandidate> & CandsForRepSubstring)From a repeated subsequence, find all the different instances of the
subsequence from the
and create an IRSimilarityCandidate from
the IRInstructionData in subsequence.
Parameters
Mapper [in] - The instruction mapper for basic correctness checks.InstrList [in] - The vector that holds the instruction data.IntegerMapping [in] - The vector that holds the mapped integers.CandsForRepSubstring [out] - The vector to store the generated IRSimilarityCandidates.Defined at line 963 of file llvm/lib/Analysis/IRSimilarityIdentifier.cpp
-
int checkARM64PackedEpilog (MCStreamer & streamer, WinEH::FrameInfo * info, WinEH::FrameInfo::Segment * Seg, int PrologCodeBytes)Defined at line 963 of file llvm/lib/MC/MCWin64EH.cpp
-
void EmitGenDwarfInfo (MCStreamer * MCOS, const MCSymbol * AbbrevSectionSymbol, const MCSymbol * LineSectionSymbol, const MCSymbol * RangesSymbol)When generating dwarf for assembly source files this emits the data for
.debug_info section which contains three parts. The header, the compile_unit
DIE and a list of label DIEs.
Defined at line 963 of file llvm/lib/MC/MCDwarf.cpp
-
Libcall getConvRTLibDesc (unsigned int Opcode, Type * ToType, Type * FromType)Defined at line 964 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
template <class ELFT>void setAddend (Elf_Rel_Impl<ELFT, false> & , uint64_t )Defined at line 965 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
void generateDirectiveClauseMap (const DirectiveLanguage & DirLang, Frontend FE, raw_ostream & OS)Generate a map of directive (key) with DirectiveClauses struct as values.
The struct holds the 4 sets of enumeration for the 4 kinds of clauses
allowances (allowed, allowed once, allowed exclusive and required).
Defined at line 965 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
basic_string formatFrameType (frame_type FT)Defined at line 966 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
StringRef getSrcChildName (const TreePatternNode & SrcChild, const Record *& PhysReg)Get the name to use for a pattern operand. For an anonymous physical register
input, this should use the register name.
Defined at line 966 of file llvm/utils/TableGen/GlobalISelEmitter.cpp
-
GlobalValue * ExtractSymbol (const SCEV *& S, ScalarEvolution & SE)If S involves the addition of a GlobalValue address, return that symbol, and
mutate S to point to a new SCEV with that value excluded.
Defined at line 966 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
Expected writeListEntry (raw_ostream & OS, const DWARFYAML::RnglistEntry & Entry, uint8_t AddrSize, bool IsLittleEndian)Defined at line 966 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
Value * canonicalizeSaturatedSubtract (const ICmpInst * ICI, const Value * TrueVal, const Value * FalseVal, InstCombiner::BuilderTy & Builder)Transform patterns such as (a > b) ? a - b : 0 into usub.sat(a, b).
There are 8 commuted/swapped variants of this pattern.
Defined at line 966 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
LLVMErrorRef LLVMOrcLLJITAddObjectFile (LLVMOrcLLJITRef J, LLVMOrcJITDylibRef JD, LLVMMemoryBufferRef ObjBuffer)Add a buffer representing an object file to the given JITDylib in the given
LLJIT instance. This operation transfers ownership of the buffer to the
LLJIT instance. The buffer should not be disposed of or referenced once this
function returns.
Resources associated with the given object will be tracked by the given
JITDylib's default resource tracker.
Defined at line 969 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
char p_b_symbol (struct parse * )Defined at line 967 of file llvm/lib/Support/regcomp.c
-
LLVMTypeRef LLVMTargetExtTypeInContext (LLVMContextRef C, const char * Name, LLVMTypeRef * TypeParams, unsigned int TypeParamCount, unsigned int * IntParams, unsigned int IntParamCount)Create a target extension type in LLVM context.
Defined at line 965 of file llvm/lib/IR/Core.cpp
-
void replaceUndefValuesInPhi (PHINode * PN, const int & IncomingValues)Replace the incoming undef values to a phi with the values
from a block-to-value map.
Parameters
PN The phi we are replacing the undefs in.IncomingValues A map from block to value.Defined at line 967 of file llvm/lib/Transforms/Utils/Local.cpp
-
bool IsValueFullyAvailableInBlock (BasicBlock * BB, int & FullyAvailableBlocks)Return true if we can prove that the value
we're analyzing is fully available in the specified block. As we go, keep
track of which blocks we know are fully alive in FullyAvailableBlocks. This
map is actually a tri-state map with the following values:
0) we know the block *is not* fully available.
1) we know the block *is* fully available.
2) we do not know whether the block is fully available or not, but we are
currently speculating that it will be.
Defined at line 967 of file llvm/lib/Transforms/Scalar/GVN.cpp
-
template <class ELFT>void setAddend (Elf_Rel_Impl<ELFT, true> & Rela, uint64_t Addend)Defined at line 968 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
template <unsigned Opcode>VPInstruction * findUserOf (VPValue * V)If
is used by a VPInstruction with
return it. Otherwise
return nullptr.
Defined at line 969 of file llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
-
uint64_t InstrProfGetRangeRepValue (uint64_t Value)Map an (observed) memop size value to the representative value of its range.
For example, 5 -> 5, 22 -> 17, 99 -> 65, 256 -> 256, 1001 -> 513.
Defined at line 969 of file llvm/include/llvm/ProfileData/InstrProfData.inc
-
char getSymbolNMTypeChar (XCOFFObjectFile & Obj, symbol_iterator I)Defined at line 969 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
optional getStrideFromAddRec (const SCEVAddRecExpr * AR, const Loop * Lp, Type * AccessTy, Value * Ptr, PredicatedScalarEvolution & PSE)Try to compute a constant stride for
Used by getPtrStride and
isNoWrap.
Defined at line 969 of file llvm/lib/Analysis/LoopAccessAnalysis.cpp
-
void emitNonLazyStubs (MachineModuleInfo * MMI, MCStreamer & OutStreamer)Defined at line 970 of file llvm/lib/Target/X86/X86AsmPrinter.cpp
-
bool ShouldBreakUpSubtract (Instruction * Sub)Return true if we should break up this subtract of X-Y into (X + -Y).
Defined at line 970 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
ConstantAsMetadata * extractConstantMetadata (Metadata * ExtraData)Helper function to extract ConstantAsMetadata from ExtraData,
handling extra data MDTuple unwrapping if needed.
Defined at line 971 of file llvm/lib/IR/DebugInfoMetadata.cpp
-
void computeKnownBitsFromICmpCond (const Value * V, ICmpInst * Cmp, KnownBits & Known, const SimplifyQuery & SQ, bool Invert)Defined at line 971 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool isICmpTrue (CmpPredicate Pred, Value * LHS, Value * RHS, const SimplifyQuery & Q, unsigned int MaxRecurse)Given a predicate and two operands, return true if the comparison is true.
This is a helper for div/rem simplification where we return some other value
when we can prove a relationship between the operands.
Defined at line 972 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool isOperandOf (const SUnit * SU, SDNode * N)Defined at line 972 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
template <typename T>bool canOverlap (MemTransferBase<T> * Memcpy, ScalarEvolution * SE)Defined at line 972 of file llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
-
void PrintRelocations (const MachOObjectFile * O, const bool verbose)Defined at line 972 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void mergeInstrProfile (const WeightedFileVector & Inputs, SymbolRemapper * Remapper, int MaxDbgCorrelationWarnings, StringRef ProfiledBinary)Defined at line 972 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void initializeTailCallElimPassOnce (PassRegistry & Registry)Defined at line 973 of file llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
-
void emitSignedInt64 (SmallVectorImpl<uint64_t> & Vals, uint64_t V)Defined at line 973 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
template <class RelRange, class T>void writeRel (const RelRange & Relocations, T * Buf, bool IsMips64EL)Defined at line 973 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
template <typename ListT>void addToAccessGroupList (ListT & List, MDNode * AccGroups)Add all access groups in
to
Defined at line 973 of file llvm/lib/Analysis/VectorUtils.cpp
-
BranchInst * FindWidenableTerminatorAboveLoop (Loop * L, LoopInfo & LI)If we can (cheaply) find a widenable branch which controls entry into the
loop, return it.
Defined at line 973 of file llvm/lib/Transforms/Scalar/LoopPredication.cpp
-
bool runImpl (Function & F, LoopInfo * LI, DominatorTree * DT, ScalarEvolution * SE, OptimizationRemarkEmitter * ORE, LoopAccessInfoManager & LAIs)Defined at line 973 of file llvm/lib/Transforms/Scalar/LoopDistribute.cpp
-
Value * foldIsPowerOf2 (ICmpInst * Cmp0, ICmpInst * Cmp1, bool JoinedByAnd, InstCombiner::BuilderTy & Builder, InstCombinerImpl & IC)Reduce a pair of compares that check if a value has exactly 1 bit set.
Also used for logical and/or, must be poison safe if range attributes are
dropped.
Defined at line 973 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool foldConsecutiveStores (BasicBlock & BB, const DataLayout & DL, TargetTransformInfo & TTI, AliasAnalysis & AA)Defined at line 973 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
int buildIndexMap (const llvm::StringTable & StandardNames)Defined at line 974 of file llvm/lib/Analysis/TargetLibraryInfo.cpp
-
bool mayLoopAccessLocation (Value * Ptr, ModRefInfo Access, Loop * L, const SCEV * BECount, const SCEV * StoreSizeSCEV, AliasAnalysis & AA, SmallPtrSetImpl<Instruction *> & IgnoredInsts)mayLoopAccessLocation - Return true if the specified loop might access the
specified pointer location, which is a loop-strided access. The 'Access'
argument specifies what the verboten forms of access are (read or write).
Defined at line 974 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
LLVMErrorRef LLVMOrcLLJITAddObjectFileWithRT (LLVMOrcLLJITRef J, LLVMOrcResourceTrackerRef RT, LLVMMemoryBufferRef ObjBuffer)Add a buffer representing an object file to the given ResourceTracker's
JITDylib in the given LLJIT instance. This operation transfers ownership of
the buffer to the LLJIT instance. The buffer should not be disposed of or
referenced once this function returns.
Resources associated with the given object will be tracked by ResourceTracker
RT.
Defined at line 975 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
bool inputDenormalIsIEEE (const Function & F, const Type * Ty)Defined at line 976 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
template <class... Ts>DISubprogram * getSubprogram (bool IsDistinct, Ts &&... Args)Defined at line 978 of file llvm/lib/IR/DIBuilder.cpp
-
void dumpPubTableSection (raw_ostream & OS, DIDumpOptions DumpOpts, DWARFDataExtractor Data, bool GnuStyle)Defined at line 978 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
void PropagateOperandBundles (ilist_iterator InlinedBB, Instruction * CallSiteEHPad)Bundle operands of the inlined function must be added to inlined call sites.
Defined at line 978 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
Register getLoopPhiReg (const MachineInstr & Phi, const MachineBasicBlock * LoopBB)Return the Phi register value that comes the loop block.
Defined at line 979 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
bool canCombine (MachineBasicBlock & MBB, MachineOperand & MO, unsigned int CombineOpc)Utility routine that checks if
Parameters
MO is defined by anCombineOpc instruction in the basic blockMBB. IfCombineOpc is not provided, the OpCode check will be skipped.Defined at line 979 of file llvm/lib/CodeGen/TargetInstrInfo.cpp
-
void emitWideAPInt (SmallVectorImpl<uint64_t> & Vals, const APInt & A)Defined at line 980 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool inputDenormalIsDAZ (const Function & F, const Type * Ty)Defined at line 981 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
template <class T, class InfoT>T * uniquifyImpl (T * N, DenseSet<T *, InfoT> & Store)Defined at line 981 of file llvm/lib/IR/Metadata.cpp
-
bool isFuncOrderCorrect (const Function * F, const Function * G)Ordering for functions that are equal under FunctionComparator
Defined at line 981 of file llvm/lib/Transforms/IPO/MergeFunctions.cpp
-
bool isDivZero (Value * X, Value * Y, const SimplifyQuery & Q, unsigned int MaxRecurse, bool IsSigned)Return true if we can simplify X / Y to 0. Remainder can adapt that answer
to simplify X % Y to X.
Defined at line 981 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
TargetTypeInfo getTargetTypeInfo (const TargetExtType * Ty)Defined at line 981 of file llvm/lib/IR/Type.cpp
-
Error checkSubCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex, const char * CmdName, size_t SizeOfCmd, const char * CmdStructName, uint32_t PathOffset, const char * PathFieldName)Defined at line 982 of file llvm/lib/Object/MachOObjectFile.cpp
-
void initializeSafeStackLegacyPassPassOnce (PassRegistry & Registry)Defined at line 983 of file llvm/lib/CodeGen/SafeStack.cpp
-
LLVMErrorRef LLVMOrcLLJITAddLLVMIRModule (LLVMOrcLLJITRef J, LLVMOrcJITDylibRef JD, LLVMOrcThreadSafeModuleRef TSM)Add an IR module to the given JITDylib in the given LLJIT instance. This
operation transfers ownership of the TSM argument to the LLJIT instance.
The TSM argument should not be disposed of or referenced once this
function returns.
Resources associated with the given Module will be tracked by the given
JITDylib's default resource tracker.
Defined at line 983 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
XXH128_hash_t XXH3_hashLong_128b (const uint8_t * input, size_t len, const uint8_t * secret, size_t secretSize)Defined at line 983 of file llvm/lib/Support/xxhash.cpp
-
bool setShiftFlags (BinaryOperator & I, const SimplifyQuery & Q)Try to set nuw/nsw flags on shl or exact flag on lshr/ashr using knownbits.
Defined at line 983 of file llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
-
bool pushDepHeight (const DataDep & Dep, const MachineInstr & UseMI, unsigned int UseHeight, int & Heights, const TargetSchedModel & SchedModel, const TargetInstrInfo * TII)Push the height of DefMI upwards if required to match UseMI.
Return true if this is the first time DefMI was seen.
Defined at line 984 of file llvm/lib/CodeGen/MachineTraceMetrics.cpp
-
char p_b_coll_elem (struct parse * , int )Defined at line 984 of file llvm/lib/Support/regcomp.c
-
void AddNodeIDNode (FoldingSetNodeID & ID, const SDNode * N)AddNodeIDNode - Generic routine for adding a nodes info to the NodeID
data.
Defined at line 985 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
void zeroExtendToMatch (APInt & LHS, APInt & RHS, unsigned int Offset)APInts must be the same size for most operations, this helper
function zero extends the shorter of the pair so that they match.
We provide an Offset so that we can create bitwidths that won't overflow.
Defined at line 986 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
LegalizeResult conversionLibcall (MachineInstr & MI, MachineIRBuilder & MIRBuilder, Type * ToType, Type * FromType, LostDebugLocObserver & LocObserver, const TargetLowering & TLI, bool IsSigned)Defined at line 986 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
void SortNonLocalDepInfoCache (MemoryDependenceResults::NonLocalDepInfo & Cache, unsigned int NumSortedEntries)Sort the NonLocalDepInfo cache, given a certain number of elements in the
array that are already properly ordered.
This is optimized for the case when only a few entries are added.
Defined at line 987 of file llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
-
void computeMaxPressureDelta (ArrayRef<unsigned int> OldMaxPressureVec, ArrayRef<unsigned int> NewMaxPressureVec, ArrayRef<PressureChange> CriticalPSets, ArrayRef<unsigned int> MaxPressureLimit, RegPressureDelta & Delta)Find the max change in max pressure that either surpasses a critical PSet
limit or exceeds the current MaxPressureLimit.
FIXME: comparing each element of the old and new MaxPressure vectors here is
silly. It's done now to demonstrate the concept but will go away with a
RegPressureTracker API change to work with pressure differences.
Defined at line 987 of file llvm/lib/CodeGen/RegisterPressure.cpp
-
Predicate evaluateICmpRelation (Constant * V1, Constant * V2)This function determines if there is anything we can decide about the two
constants provided. This doesn't need to handle simple things like integer
comparisons, but should instead handle ConstantExprs and GlobalValues.
If we can determine that the two constants have a particular relation to
each other, we should return the corresponding ICmp predicate, otherwise
return ICmpInst::BAD_ICMP_PREDICATE.
Defined at line 987 of file llvm/lib/IR/ConstantFold.cpp
-
unsigned int InstrProfIsSingleValRange (uint64_t Value)Return true if the range that an (observed) memop size value belongs to has
only a single value in the range. For example, 0 -> true, 8 -> true, 10 ->
false, 64 -> true, 100 -> false, 513 -> false.
Defined at line 988 of file llvm/include/llvm/ProfileData/InstrProfData.inc
-
bool isSuccOrder (SUnit * SUa, SUnit * SUb)Return true if SUb can be reached from SUa following the chain edges.
Defined at line 988 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
bool isSDKVersionToken (const AsmToken & Tok)Defined at line 989 of file llvm/lib/MC/MCParser/DarwinAsmParser.cpp
-
Predicate fpclassTestIsFCmp0 (FPClassTest Mask, const Function & F, Type * Ty)Defined at line 989 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
LLVMErrorRef LLVMOrcLLJITAddLLVMIRModuleWithRT (LLVMOrcLLJITRef J, LLVMOrcResourceTrackerRef JD, LLVMOrcThreadSafeModuleRef TSM)Add an IR module to the given ResourceTracker's JITDylib in the given LLJIT
instance. This operation transfers ownership of the TSM argument to the LLJIT
instance. The TSM argument should not be disposed of or referenced once this
function returns.
Resources associated with the given Module will be tracked by ResourceTracker
RT.
Defined at line 990 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
template <class ELFT>Expected readDynsymVersionsImpl (const ELFFile<ELFT> & EF, iterator_range Symbols)Defined at line 990 of file llvm/lib/Object/ELFObjectFile.cpp
-
void emitConstantRange (SmallVectorImpl<uint64_t> & Record, const ConstantRange & CR, bool EmitBitWidth)Defined at line 991 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool isAddressUse (const TargetTransformInfo & TTI, Instruction * Inst, Value * OperandVal)Returns true if the specified instruction is using the specified value as an
address.
Defined at line 992 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
bool mayLoadFromGOTOrConstantPool (MachineInstr & MI)Return true if this machine instruction loads from global offset table or
constant pool.
Defined at line 993 of file llvm/lib/CodeGen/MachineLICM.cpp
-
void computeKnownBitsFromCond (const Value * V, Value * Cond, KnownBits & Known, const SimplifyQuery & SQ, bool Invert, unsigned int Depth)Defined at line 993 of file llvm/lib/Analysis/ValueTracking.cpp
-
std::time_t getTime ()Defined at line 994 of file llvm/lib/MC/WinCOFFObjectWriter.cpp
-
BasicBlock * SplitBlockImpl (BasicBlock * Old, ilist_iterator_w_bits SplitPt, DomTreeUpdater * DTU, DominatorTree * DT, LoopInfo * LI, MemorySSAUpdater * MSSAU, const Twine & BBName, bool Before)Defined at line 996 of file llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
-
bool printFPCLASSComments (const MCInst * MI, raw_ostream & OS, const MCInstrInfo & MCII)Defined at line 998 of file llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
-
Instruction * replaceGEPIdxWithZero (InstCombinerImpl & IC, Value * Ptr, Instruction & MemI)If we're indexing into an object with a variable index for the memory
access, but the object has only one element, we can assume that the index
will always be zero. If we replace the GEP, return it.
Defined at line 999 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
bool usesMSVCFloatingPoint (const Triple & TT, const Module & M)True if this module is being built for windows/msvc, and uses floating
point. This is used to emit an undefined reference to _fltused. This is
needed in Windows kernel or driver contexts to find and prevent code from
modifying non-GPR registers.
TODO: It would be better if this was computed from MIR by looking for
selected floating-point instructions.
Defined at line 1000 of file llvm/lib/Target/X86/X86AsmPrinter.cpp
-
BinaryOperator * BreakUpSubtract (Instruction * Sub, ReassociatePass::OrderedSet & ToRedo)If we have (X-Y), and if either X is an add, or if this is only used by an
add, transform this into (X+(0-Y)) to promote better reassociation.
Defined at line 1000 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
void computeVirtualCallSiteTypeInfoMap (Module & M, ModuleAnalysisManager & MAM, VirtualCallSiteTypeInfoMap & VirtualCSInfo)For virtual calls in the module, collect per-callsite information which will
be used to associate an ICP candidate with a vtable and a specific function
in the vtable. With type intrinsics (llvm.type.test), we can find virtual
calls in a compile-time efficient manner (by iterating its users) and more
importantly use the compatible type later to figure out the function byte
offset relative to the start of vtables.
Defined at line 1000 of file llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
-
bool doNotCSE (SDNode * N)doNotCSE - Return true if CSE should not be performed for this node.
Defined at line 1001 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
bool PHIsEqualValue (PHINode * PN, Value *& NonPhiInVal, SmallPtrSetImpl<PHINode *> & ValueEqualPHIs)Return true if this phi node is always equal to NonPhiInVal.
This happens with mutually cyclic phi nodes like:
z = some value; x = phi (y, z); y = phi (x, z)
Defined at line 1001 of file llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
-
bool matchType (int ArgTy, const Type * Ty, unsigned int IntBits, unsigned int SizeTBits)Return true if ArgTy matches Ty.
Defined at line 1001 of file llvm/lib/Analysis/TargetLibraryInfo.cpp
-
basic_string stringOr (basic_string Str, basic_string IfEmpty)Defined at line 1002 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
std::pair<const GCResultInst *, const GCResultInst *> getGCResultLocality (const GCStatepointInst & S)Return two gc.results if present. First result is a block local
gc.result, second result is a non-block local gc.result. Corresponding
entry will be nullptr if not present.
Defined at line 1002 of file llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
-
Error handleMaybeNoDataFoundError (Error E)If E is a no_data_found error, returns success. Otherwise returns E.
Defined at line 1003 of file llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
-
const SCEV * getMinAnalyzeableBackedgeTakenCount (ScalarEvolution & SE, DominatorTree & DT, Loop * L)Return the minimum of all analyzeable exit counts. This is an upper bound
on the actual exit count. If there are not at least two analyzeable exits,
returns SCEVCouldNotCompute.
Defined at line 1003 of file llvm/lib/Transforms/Scalar/LoopPredication.cpp
-
FunctionCallee getOrInsertValueProfilingCall (Module & M, const TargetLibraryInfo & TLI, ValueProfilingCallType CallType)Defined at line 1003 of file llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
-
void addArgumentReturnedAttrs (const SCCNodeSet & SCCNodes, SmallPtrSet<Function *, 8> & Changed)Deduce returned attributes for the SCC.
Defined at line 1003 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
void insertSpills (const FrameDataInfo & FrameData, coro::Shape & Shape)Replace all alloca and SSA values that are accessed across suspend points
with GetElementPointer from coroutine frame + loads and stores. Create an
AllocaSpillBB that will become the new entry block for the resume parts of
the coroutine:
%hdl = coro.begin(...)
whatever
becomes:
%hdl = coro.begin(...)
br label %AllocaSpillBB
AllocaSpillBB:
; geps corresponding to allocas that were moved to coroutine frame
br label PostSpill
PostSpill:
whatever
Defined at line 1003 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
Value * getCopyOf (const Value * V)If V is a predicateinfo copy, get the thing it is a copy of.
Defined at line 1004 of file llvm/lib/Transforms/Scalar/NewGVN.cpp
-
Libcall getStateLibraryFunctionFor (MachineInstr & MI, const TargetLowering & TLI)Defined at line 1004 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
char getSymbolNMTypeChar (COFFImportFile & Obj)Defined at line 1005 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
bool processSDiv (BinaryOperator * SDI, const ConstantRange & LCR, const ConstantRange & RCR, LazyValueInfo * LVI)See if LazyValueInfo's ability to exploit edge conditions or range
information is sufficient to prove the signs of both operands of this SDiv.
If this is the case, replace the SDiv with a UDiv. Even for local
conditions, this can sometimes prove conditions instcombine can't by
exploiting range information.
Defined at line 1005 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void Compare (const GsymCreator & GC, const GsymReader & GR)Defined at line 1006 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
Error checkCombinedSummaryForTesting (ModuleSummaryIndex * Summary)Defined at line 1006 of file llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
-
void dumpInjectedSources (LinePrinter & Printer, IPDBSession & Session)Defined at line 1006 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
void performWriteOperation (ArchiveOperation Operation, object::Archive * OldArchive, unique_ptr OldArchiveBuf, std::vector<NewArchiveMember> * NewMembersP)Defined at line 1006 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
bool tryARM64PackedUnwind (WinEH::FrameInfo * info, uint32_t FuncLength, int PackedEpilogOffset)Defined at line 1006 of file llvm/lib/MC/MCWin64EH.cpp
-
bool is_ns_hex_digit (const char C)Defined at line 1007 of file llvm/lib/Support/YAMLParser.cpp
-
void initializeExpandVariadicsPassOnce (PassRegistry & Registry)Defined at line 1007 of file llvm/lib/Transforms/IPO/ExpandVariadics.cpp
-
Value * foldSelectInst (SelectInst & SI)Defined at line 1007 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
bool CanRedirectPredsOfEmptyBBToSucc (BasicBlock * BB, BasicBlock * Succ, const SmallPtrSetImpl<BasicBlock *> & BBPreds, BasicBlock *& CommonPred)Only when they shares a single common predecessor, return true.
Only handles cases when BB can't be merged while its predecessors can be
redirected.
Defined at line 1007 of file llvm/lib/Transforms/Utils/Local.cpp
-
bool is_ns_word_char (const char C)Defined at line 1009 of file llvm/lib/Support/YAMLParser.cpp
-
Error checkThreadCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex, const char * CmdName)Defined at line 1009 of file llvm/lib/Object/MachOObjectFile.cpp
-
unsigned int getTruncatedShiftCount (const MachineInstr & MI, unsigned int ShiftAmtOperandIdx)Check whether the shift count for a machine operand is non-zero.
Defined at line 1010 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
LLVMErrorRef LLVMOrcCreateObjectLinkingLayerWithInProcessMemoryManager (LLVMOrcObjectLayerRef * Result, LLVMOrcExecutionSessionRef ES)Create a ObjectLinkingLayer instance using the standard JITLink
InProcessMemoryManager for memory management.
Defined at line 1022 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcObjectLayerRef LLVMOrcCreateRTDyldObjectLinkingLayerWithSectionMemoryManager (LLVMOrcExecutionSessionRef ES)Create a RTDyldObjectLinkingLayer instance using the standard
SectionMemoryManager for memory management.
Defined at line 1033 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMOrcObjectLayerRef LLVMOrcCreateRTDyldObjectLinkingLayerWithMCJITMemoryManagerLikeCallbacks (LLVMOrcExecutionSessionRef ES, void * CreateContextCtx, LLVMMemoryManagerCreateContextCallback CreateContext, LLVMMemoryManagerNotifyTerminatingCallback NotifyTerminating, LLVMMemoryManagerAllocateCodeSectionCallback AllocateCodeSection, LLVMMemoryManagerAllocateDataSectionCallback AllocateDataSection, LLVMMemoryManagerFinalizeMemoryCallback FinalizeMemory, LLVMMemoryManagerDestroyCallback Destroy)Create a RTDyldObjectLinkingLayer instance using MCJIT-memory-manager-like
callbacks.
This is intended to simplify transitions for existing MCJIT clients. The
callbacks used are similar (but not identical) to the callbacks for
LLVMCreateSimpleMCJITMemoryManager: Unlike MCJIT, RTDyldObjectLinkingLayer
will create a new memory manager for each object linked by calling the given
CreateContext callback. This allows for code removal by destroying each
allocator individually. Every allocator will be destroyed (if it has not been
already) at RTDyldObjectLinkingLayer destruction time, and the
NotifyTerminating callback will be called to indicate that no further
allocation contexts will be created.
To implement MCJIT-like behavior clients can implement CreateContext,
NotifyTerminating, and Destroy as:
void *CreateContext(void *CtxCtx) { return CtxCtx; }
void NotifyTerminating(void *CtxCtx) { MyOriginalDestroy(CtxCtx); }
void Destroy(void *Ctx) { }
This scheme simply reuses the CreateContextCtx pointer as the one-and-only
allocation context.
Defined at line 1043 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
llvm::ModulePass * createDebugifyModulePass (DebugifyMode Mode, StringRef NameOfWrappedPass, DebugInfoPerPass * DebugInfoBeforePass)Defined at line 1045 of file llvm/lib/Transforms/Utils/Debugify.cpp
-
llvm::FunctionPass * createDebugifyFunctionPass (DebugifyMode Mode, StringRef NameOfWrappedPass, DebugInfoPerPass * DebugInfoBeforePass)Defined at line 1054 of file llvm/lib/Transforms/Utils/Debugify.cpp
-
char othercase (int )Defined at line 1010 of file llvm/lib/Support/regcomp.c
-
LLVMErrorRef LLVMOrcLLJITLookup (LLVMOrcLLJITRef J, LLVMOrcExecutorAddress * Result, const char * Name)Look up the given symbol in the main JITDylib of the given LLJIT instance.
This operation does not take ownership of the Name argument.
Defined at line 998 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
const char * LLVMGetTargetExtTypeName (LLVMTypeRef TargetExtTy)Obtain the name for this target extension type.
Defined at line 976 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetTargetExtTypeNumTypeParams (LLVMTypeRef TargetExtTy)Obtain the number of type parameters for this target extension type.
Defined at line 981 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMGetTargetExtTypeTypeParam (LLVMTypeRef TargetExtTy, unsigned int Idx)Get the type parameter at the given index for the target extension type.
Defined at line 986 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetTargetExtTypeNumIntParams (LLVMTypeRef TargetExtTy)Obtain the number of int parameters for this target extension type.
Defined at line 992 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetTargetExtTypeIntParam (LLVMTypeRef TargetExtTy, unsigned int Idx)Get the int parameter at the given index for the target extension type.
Defined at line 997 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMTypeOf (LLVMValueRef Val)Obtain the type of a value.
Defined at line 1006 of file llvm/lib/IR/Core.cpp
-
LLVMGetValueKind (LLVMValueRef Val)Obtain the enumerated type of a Value instance.
Defined at line 1010 of file llvm/lib/IR/Core.cpp
-
void generateFlangClauseParserClass (const DirectiveLanguage & DirLang, raw_ostream & OS)Generate classes entry for Flang clauses in the Flang parse-tree
If the clause as a non-generic class, no entry is generated.
If the clause does not hold a value, an EMPTY_CLASS is used.
If the clause class is generic then a WRAPPER_CLASS is used. When the value
is optional, the value class is wrapped into a std::optional.
Defined at line 1010 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
VPValue * optimizeLatchExitInductionUser (VPlan & Plan, VPTypeAnalysis & TypeInfo, VPBlockBase * PredVPBB, VPValue * Op, DenseMap<VPValue *, VPValue *> & EndValues, PredicatedScalarEvolution & PSE)Attempts to optimize the induction variable exit values for users in the
exit block coming from the latch in the original scalar loop.
Defined at line 1011 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
bool isCopyOfPHI (const Value * V, const PHINode * PN)Return true if V is really PN, even accounting for predicateinfo copies.
Defined at line 1012 of file llvm/lib/Transforms/Scalar/NewGVN.cpp
-
template <typename T>bool typecheckMDNode (T *& Result, MDNode * Node, const yaml::StringValue & Source, StringRef TypeString, MIRParserImpl & Parser)Verify that given node is of a certain type. Return true on error.
Defined at line 1012 of file llvm/lib/CodeGen/MIRParser/MIRParser.cpp
-
LLVMOrcObjectLayerRef LLVMOrcLLJITGetObjLinkingLayer (LLVMOrcLLJITRef J)Returns a non-owning reference to the LLJIT instance's object linking layer.
Defined at line 1013 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
const SCEV * getStartForNegStride (const SCEV * Start, const SCEV * BECount, Type * IntPtr, const SCEV * StoreSizeSCEV, ScalarEvolution * SE)If we have a negative stride, Start refers to the end of the memory location
we're trying to memset. Therefore, we need to recompute the base pointer,
which is just Start - BECount*Size.
Defined at line 1013 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
SDValue combineShiftToAVG (SDValue Op, TargetLowering::TargetLoweringOpt & TLO, const TargetLowering & TLI, const APInt & DemandedBits, const APInt & DemandedElts, unsigned int Depth)Attempt to form ext(avgfloor(A, B)) from shr(add(ext(A), ext(B)), 1).
or to form ext(avgceil(A, B)) from shr(add(ext(A), ext(B), 1), 1).
Defined at line 1013 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
Value * optimizeShiftInOrChain (Value * V, int & Builder)Combine away instructions providing they are still equivalent when compared
against 0. i.e do they have any bits set.
Defined at line 1014 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
SDValue getv64i1Argument (CCValAssign & VA, CCValAssign & NextVA, SDValue & Root, SelectionDAG & DAG, const SDLoc & DL, const X86Subtarget & Subtarget, SDValue * InGlue)Reads two 32 bit registers and creates a 64 bit mask value.
Parameters
VA The current 32 bit value that need to be assigned.NextVA The next 32 bit value that need to be assigned.Root The parent DAG node.InGlue [in,out] Represents SDvalue in the parent DAG node for glue purposes. In the case the DAG is already using physical register instead of virtual, we should glue our new SDValue to InGlue SDvalue.Returns
a new SDvalue of size 64bit.
Defined at line 1014 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
bool canSimplifyNullStoreOrGEP (StoreInst & SI)Defined at line 1015 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
Value * foldNegativePower2AndShiftedMask (Value * A, Value * B, Value * D, Value * E, Predicate PredL, Predicate PredR, InstCombiner::BuilderTy & Builder)Try to fold (icmp(A
&
B) == 0)
&
(icmp(A
&
D) != E) into (icmp A u
<
D) iff
B is a contiguous set of ones starting from the most significant bit
(negative power of 2), D and E are equal, and D is a contiguous set of ones
starting at the most significant zero bit in B. Parameter B supports masking
using undef/poison in either scalar or vector values.
Defined at line 1015 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool isCopyOfAPHI (const Value * V)Defined at line 1016 of file llvm/lib/Transforms/Scalar/NewGVN.cpp
-
bool isInvariantStore (const MachineInstr & MI, const TargetRegisterInfo * TRI, const MachineRegisterInfo * MRI)This function iterates through all the operands of the input store MI and
checks that each register operand statisfies isCallerPreservedPhysReg.
This means, the value being stored and the address where it is being stored
is constant throughout the body of the function (not including prologue and
epilogue). When called with an MI that isn't a store, it returns false.
A future improvement can be to check if the store registers are constant
throughout the loop rather than throughout the funtion.
Defined at line 1016 of file llvm/lib/CodeGen/MachineLICM.cpp
-
LLVMOrcObjectTransformLayerRef LLVMOrcLLJITGetObjTransformLayer (LLVMOrcLLJITRef J)Returns a non-owning reference to the LLJIT instance's object linking layer.
Defined at line 1017 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void TestEncodeDecode (const GsymCreator & GC, endianness ByteOrder, uint16_t Version, uint8_t AddrOffSize, uint64_t BaseAddress, uint32_t NumAddresses, ArrayRef UUID)Defined at line 1017 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
char getSymbolNMTypeChar (MachOObjectFile & Obj, content_iterator I)Defined at line 1017 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
Error ReduceGlobalInitializers (BugDriver & BD, BugTester TestFn)Attempt to eliminate as many global initializers as possible.
Defined at line 1017 of file llvm/tools/bugpoint/CrashDebugger.cpp
-
void initializeExpandMemCmpLegacyPassPassOnce (PassRegistry & Registry)Defined at line 1019 of file llvm/lib/CodeGen/ExpandMemCmp.cpp
-
DenseSet getCHRConditionValuesForRegion (RegInfo & RI)Defined at line 1019 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
Value * genLoopLimit (PHINode * IndVar, BasicBlock * ExitingBB, const SCEV * ExitCount, bool UsePostInc, Loop * L, SCEVExpander & Rewriter, ScalarEvolution * SE)Insert an IR expression which computes the value held by the IV IndVar
(which must be an loop counter w/unit stride) after the backedge of loop L
is taken ExitCount times.
Defined at line 1019 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
bool outputHasNonPHI (Value * V, unsigned int PHILoc, PHINode & PN, SmallPtrSet<BasicBlock *, 1> & Exits, DenseSet<BasicBlock *> & BlocksInRegion)Check if the
has any uses outside of the region other than
Parameters
V [in] - The value to check.PHILoc [in] - The location in the PHINode ofPN [in] - The PHINode usingExits [in] - The potential blocks we exit to from the outlined region.BlocksInRegion [in] - The basic blocks contained in the region.Defined at line 1019 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
Value * foldPHINodeOrSelectInst (Instruction & I)A helper that folds a PHI node or a select.
Defined at line 1020 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
bool isTruncatedShiftCountForLEA (unsigned int ShAmt)Check whether the given shift count is appropriate
can be represented by a LEA instruction.
Defined at line 1020 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool isNoWrap (PredicatedScalarEvolution & PSE, const SCEVAddRecExpr * AR, Value * Ptr, Type * AccessTy, const Loop * L, bool Assume, const DominatorTree & DT, optional Stride)Check whether
is a non-wrapping AddRec. If
is not nullptr, use
informating from the IR pointer value to determine no-wrap.
Defined at line 1020 of file llvm/lib/Analysis/LoopAccessAnalysis.cpp
-
const char * LLVMGetValueName2 (LLVMValueRef Val, size_t * Length)Obtain the string name of a value.
Defined at line 1022 of file llvm/lib/IR/Core.cpp
-
SlotTracker * createSlotTracker (const Value * V)Defined at line 1022 of file llvm/lib/IR/AsmWriter.cpp
-
unsigned int map_from_llvmDWARFsourcelanguage ( lang)===----------------------------------------------------------------------===//
LLVM C API implementations.
===----------------------------------------------------------------------===//
Defined at line 1023 of file llvm/lib/IR/DebugInfo.cpp
-
void initializeTypePromotionLegacyPassOnce (PassRegistry & Registry)Defined at line 1024 of file llvm/lib/CodeGen/TypePromotion.cpp
-
BinaryOperator * ConvertShiftToMul (Instruction * Shl)If this is a shift of a reassociable multiply or is used by one, change
this into a multiply by a constant to assist with further reassociation.
Defined at line 1024 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
SmallVector<const DIVariable *, 2> dependencies (DbgVariable * Var)Return all DIVariables that appear in count: expressions.
Defined at line 1025 of file llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
-
bool canSimplifyNullLoadOrGEP (LoadInst & LI, Value * Op)Defined at line 1026 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
optional getOffsetFromIndex (const GEPOperator * GEP, unsigned int Idx, const DataLayout & DL)Defined at line 1026 of file llvm/lib/IR/Value.cpp
-
void bothcases (struct parse * , int )- bothcases - emit a dualcase version of a two-case character
Boy, is this implementation ever a kludge...
Defined at line 1027 of file llvm/lib/Support/regcomp.c
-
template <bool FP, typename Mul2Rhs>bool matchesSquareSum (BinaryOperator & I, Mul2Rhs M2Rhs, Value *& A, Value *& B)match variations of a^2 + 2*a*b + b^2
to reuse the code between the FP and Int versions, the instruction OpCodes
and constant types have been turned into template parameters.
Mul2Rhs: The constant to perform the multiplicative equivalent of X*2 with;
should be `m_SpecificFP(2.0)` for FP and `m_SpecificInt(1)` for Int
(we're matching `X
<
<
1` instead of `X*2` for Int)
Defined at line 1027 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
Expected writeListEntry (raw_ostream & OS, const DWARFYAML::LoclistEntry & Entry, uint8_t AddrSize, bool IsLittleEndian)Defined at line 1027 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
void LLVMSetValueName2 (LLVMValueRef Val, const char * Name, size_t NameLen)Set the string name of a value.
Defined at line 1028 of file llvm/lib/IR/Core.cpp
-
ConstantInt * getAnyNonZeroConstInt (PHINode & PN)Return an existing non-zero constant if this phi node has one, otherwise
return constant 1.
Defined at line 1029 of file llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
-
bool findRedundantFlagInstr (MachineInstr & CmpInstr, MachineInstr & CmpValDefInstr, const MachineRegisterInfo * MRI, MachineInstr ** AndInstr, const TargetRegisterInfo * TRI, const X86Subtarget & ST, bool & NoSignFlag, bool & ClearsOverflowFlag)Defined at line 1029 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
ShapeT getTileShape (Register VirtReg, VirtRegMap * VRM, const MachineRegisterInfo * MRI)Defined at line 1030 of file llvm/lib/Target/X86/X86RegisterInfo.cpp
-
const SCEV * getNumBytes (const SCEV * BECount, Type * IntPtr, const SCEV * StoreSizeSCEV, Loop * CurLoop, const DataLayout * DL, ScalarEvolution * SE)Compute the number of bytes as a SCEV from the backedge taken count.
This also maps the SCEV into the provided type and tries to handle the
computation in a way that will fold cleanly.
Defined at line 1031 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
const char * LLVMGetValueName (LLVMValueRef Val)Deprecated: Use LLVMGetValueName2 instead.
Defined at line 1032 of file llvm/lib/IR/Core.cpp
-
Value * canonicalizeSaturatedAddUnsigned (ICmpInst * Cmp, Value * TVal, Value * FVal, InstCombiner::BuilderTy & Builder)Defined at line 1033 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
template <typename DIT>DIT * unwrapDI (LLVMMetadataRef Ref)Defined at line 1034 of file llvm/lib/IR/DebugInfo.cpp
-
bool alwaysAvailable (Value * V)Return true if V is a value that will always be available (IE can
be placed anywhere) in the function. We don't do globals here
because they are often worse to put in place.
Defined at line 1034 of file llvm/lib/Transforms/Scalar/NewGVN.cpp
-
bool runImpl (Function & F, const TargetTransformInfo & TTI, DominatorTree * DT)Defined at line 1034 of file llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
-
void generateFlangClauseParserClassList (const DirectiveLanguage & DirLang, raw_ostream & OS)Generate a list of the different clause classes for Flang.
Defined at line 1035 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
void LLVMSetValueName (LLVMValueRef Val, const char * Name)Deprecated: Use LLVMSetValueName2 instead.
Defined at line 1036 of file llvm/lib/IR/Core.cpp
-
bool matchesAdd (Value * A, Value *& B, ConstantInt *& C)Returns true if A matches B + C where C is constant.
Defined at line 1036 of file llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
-
Error writeOutput (const CommonConfig & Config, Object & Obj, raw_ostream & Out, ElfType OutputElfType)Defined at line 1036 of file llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
-
void PrintFunctionStarts (MachOObjectFile * O)Defined at line 1036 of file llvm/tools/llvm-objdump/MachODump.cpp
-
MemAccessTy getAccessType (const TargetTransformInfo & TTI, Instruction * Inst, Value * OperandVal)Return the type of the memory being accessed.
Defined at line 1037 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
DIFlags map_from_llvmDIFlags ( Flags)Defined at line 1038 of file llvm/lib/IR/DebugInfo.cpp
-
bool shouldSplit (Instruction * InsertPoint, DenseSet<Value *> & PrevConditionValues, DenseSet<Value *> & ConditionValues, DominatorTree & DT, DenseSet<Instruction *> & Unhoistables)Determine whether to split a scope depending on the sets of the branch
condition values of the previous region and the current region. We split
(return true) it if 1) the condition values of the inner/lower scope can't be
hoisted up to the outer/upper scope, or 2) the two sets of the condition
values have an empty intersection (because the combined branch conditions
won't probably lead to a simpler combined condition).
Defined at line 1038 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
bool isConstantSplatVectorMaskForType (SDNode * N, EVT ScalarTy)Defined at line 1039 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
void LLVMDumpValue (LLVMValueRef Val)Dump a representation of a value to stderr.
Defined at line 1040 of file llvm/lib/IR/Core.cpp
-
void initializeGlobalsAAWrapperPassPassOnce (PassRegistry & Registry)Defined at line 1040 of file llvm/lib/Analysis/GlobalsModRef.cpp
-
APInt getElementIndex (TypeSize ElemSize, APInt & Offset)Defined at line 1040 of file llvm/lib/IR/DataLayout.cpp
-
bool matchesOr (Value * A, Value *& B, ConstantInt *& C)Returns true if A matches B | C where C is constant.
Defined at line 1041 of file llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp
-
bool introduceTooManyPhiEntries (BasicBlock * BB, BasicBlock * Succ)Check whether removing
will make the phis in its
have too
many incoming entries. This function does not check whether
is
foldable or not.
Defined at line 1041 of file llvm/lib/Transforms/Utils/Local.cpp
-
map_to_llvmDIFlags (DIFlags Flags)Defined at line 1042 of file llvm/lib/IR/DebugInfo.cpp
-
bool foldICmpOrChain (Instruction & I, const DataLayout & DL, TargetTransformInfo & TTI, AliasAnalysis & AA, const DominatorTree & DT)Defined at line 1042 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
char * LLVMPrintValueToString (LLVMValueRef Val)Return a string representation of the value. Use
LLVMDisposeMessage to free the string.
Defined at line 1044 of file llvm/lib/IR/Core.cpp
-
DISPFlags pack_into_DISPFlags (bool IsLocalToUnit, bool IsDefinition, bool IsOptimized)Defined at line 1046 of file llvm/lib/IR/DebugInfo.cpp
-
Value * simplifyDivRem (BinaryOps Opcode, Value * Op0, Value * Op1, const SimplifyQuery & Q, unsigned int MaxRecurse)Check for common or similar folds of integer division or integer remainder.
This applies to all 4 opcodes (sdiv/udiv/srem/urem).
Defined at line 1046 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void generateFlangClauseDump (const DirectiveLanguage & DirLang, raw_ostream & OS)Generate dump node list for the clauses holding a generic class name.
Defined at line 1047 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
bool decodePunycodeDigit (char C, size_t & Value)Defined at line 1047 of file llvm/lib/Demangle/RustDemangle.cpp
-
template <typename T, typename V>void printAuxMemberHelper (PrintStyle Style, const char * MemberName, const T & Member, const V * AuxHeader, uint16_t AuxSize, uint16_t & PartialFieldOffset, const char *& PartialFieldName, ScopedPrinter & W)Defined at line 1047 of file llvm/tools/llvm-readobj/XCOFFDumper.cpp
-
void ordinary (struct parse * , int )- ordinary - emit an ordinary character
Defined at line 1048 of file llvm/lib/Support/regcomp.c
-
bool isValidProtoForSizeReturningNew (const FunctionType & FTy, LibFunc F, const Module & M, int SizeTSizeBits)Defined at line 1048 of file llvm/lib/Analysis/TargetLibraryInfo.cpp
-
template <, >IsHardLinkToMatcherP2<FS_type, Target_type> IsHardLinkTo (FS_type gmock_p0, Target_type gmock_p1)Defined at line 1049 of file llvm/unittests/Support/VirtualFileSystemTest.cpp
-
bool shouldPrintInline (const SDNode & Node, const SelectionDAG * G)Return true if this node is so simple that we should just print it inline
if it appears as an operand.
Defined at line 1049 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
-
bool isCopyFeedingInvariantStore (const MachineInstr & MI, const MachineRegisterInfo * MRI, const TargetRegisterInfo * TRI)Return true if the input MI is a copy instruction that feeds an invariant
store instruction. This means that the src of the copy has to satisfy
isCallerPreservedPhysReg and atleast one of it's users should satisfy
isInvariantStore.
Defined at line 1050 of file llvm/lib/CodeGen/MachineLICM.cpp
-
unsigned int LLVMDebugMetadataVersion ()The current debug metadata version number.
Defined at line 1051 of file llvm/lib/IR/DebugInfo.cpp
-
bool valueIsOnlyUsedLocallyOrStoredToOneGlobal (const CallInst * CI, const GlobalVariable * GV)Scan the use-list of GV checking to make sure that there are no complex uses
of GV. We permit simple things like dereferencing the pointer, but not
storing through the address, unless it is to the specified global.
Defined at line 1052 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool addArgumentAttrsFromCallsites (Function & F)If a callsite has arguments that are also arguments to the parent function,
try to propagate attributes from the callsite's arguments to the parent's
arguments. This may be important because inlining can cause information loss
when attribute knowledge disappears with the inlined call.
Defined at line 1052 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
Expected lookupSections (ObjectFile & OF, InstrProfSectKind IPSK)Find all sections that match
name. There may be more than one if
comdats are in use, e.g. for the __llvm_covfun section on ELF.
Defined at line 1053 of file llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
-
bool promoteIndirectCalls (Module & M, ProfileSummaryInfo * PSI, bool InLTO, bool SamplePGO, ModuleAnalysisManager & MAM)A wrapper function that does the actual work.
Defined at line 1054 of file llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
-
bool hasLoopCarriedMemDep (const SUnitWithMemInfo & Src, const SUnitWithMemInfo & Dst, BatchAAResults & BAA, const TargetInstrInfo * TII, const TargetRegisterInfo * TRI, const SwingSchedulerDAG * SSD, bool PerformCheapCheck)Returns true if there is a loop-carried order dependency from
to
Defined at line 1054 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
void emitDecodeInstruction (formatted_raw_ostream & OS, bool IsVarLenInst, const DecoderTableInfo & TableInfo)emitDecodeInstruction - Emit the templated helper function
decodeInstruction().
Defined at line 1057 of file llvm/utils/TableGen/DecoderEmitter.cpp
-
unsigned int LLVMGetModuleDebugMetadataVersion (LLVMModuleRef Module)The version of debug metadata that's present in the provided
Defined at line 1063 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMDIBuilderRef LLVMCreateDIBuilderDisallowUnresolved (LLVMModuleRef M)Construct a builder for a module, and do not allow for unresolved nodes
attached to the module.
Defined at line 1055 of file llvm/lib/IR/DebugInfo.cpp
-
unsigned int FindInOperandList (const SmallVectorImpl<ValueEntry> & Ops, unsigned int i, Value * X)Scan backwards and forwards among values with the same rank as element i
to see if X exists. If X does not exist, return i. This is useful when
scanning for 'x' when we see '-x' because they both get the same rank.
Defined at line 1055 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
LLVMDIBuilderRef LLVMCreateDIBuilder (LLVMModuleRef M)Construct a builder for a module and collect unresolved nodes attached
to the module in order to resolve cycles during a call to
Defined at line 1059 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMContextRef LLVMGetValueContext (LLVMValueRef Val)Obtain the context to which this value is associated.
Defined at line 1058 of file llvm/lib/IR/Core.cpp
-
void DiagHandler (const SMDiagnostic & Diag, void * Context)Defined at line 1059 of file llvm/lib/TextAPI/TextStub.cpp
-
void DumpNodes (const SDNode * N, unsigned int indent, const SelectionDAG * G)Defined at line 1060 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
-
char getSymbolNMTypeChar (TapiFile & Obj, content_iterator I)Defined at line 1060 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
void generateFlangClauseUnparse (const DirectiveLanguage & DirLang, raw_ostream & OS)Generate Unparse functions for clauses classes in the Flang parse-tree
If the clause is a non-generic class, no entry is generated.
Defined at line 1060 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
Instruction * processUGT_ADDCST_ADD (ICmpInst & I, Value * A, Value * B, ConstantInt * CI2, ConstantInt * CI1, InstCombinerImpl & IC)The caller has matched a pattern of the form:
I = icmp ugt (add (add A, B), CI2), CI1
If this is of the form:
sum = a + b
if (sum+128 >u 255)
Then replace it with llvm.sadd.with.overflow.i8.
Defined at line 1060 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
void removeNullBytes (OutputBuffer & Output, size_t StartIdx)Defined at line 1061 of file llvm/lib/Demangle/RustDemangle.cpp
-
char * LLVMPrintDbgRecordToString (LLVMDbgRecordRef Record)Return a string representation of the DbgRecord. Use
LLVMDisposeMessage to free the string.
Defined at line 1062 of file llvm/lib/IR/Core.cpp
-
bool processSDivOrSRem (BinaryOperator * Instr, LazyValueInfo * LVI)Defined at line 1062 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
template <typename OuterT, typename ChildT>void diaDumpChildren (PDBSymbol & Outer, PdbSymbolIdField Ids, PdbSymbolIdField Recurse)Defined at line 1063 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
bool is16BitEquivalent (const char * orig, const char * equiv)Determine whether equiv is the 16-bit equivalent of orig (32-bit or 64-bit).
Defined at line 1063 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
template <class T>void checkAndPrintAuxHeaderParseError (const char * PartialFieldName, uint16_t PartialFieldOffset, uint16_t AuxSize, T & AuxHeader, XCOFFDumper * Dumper)Defined at line 1064 of file llvm/tools/llvm-readobj/XCOFFDumper.cpp
-
void nonnewline (struct parse * )- nonnewline - emit REG_NEWLINE version of OANY
Boy, is this implementation ever a kludge...
Defined at line 1065 of file llvm/lib/Support/regcomp.c
-
SDValue lowerRegToMasks (const SDValue & ValArg, const EVT & ValVT, const EVT & ValLoc, const SDLoc & DL, SelectionDAG & DAG)The function will lower a register of various sizes (8/16/32/64)
to a mask value of the expected size (v8i1/v16i1/v32i1/v64i1)
Defined at line 1065 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
InstructionCost divideNearest (InstructionCost Numerator, uint64_t Denominator)Defined at line 1066 of file llvm/lib/CodeGen/SelectOptimize.cpp
-
LLVMBool LLVMStripModuleDebugInfo (LLVMModuleRef Module)Strip debug info in the module if it exists.
To do this, we remove all calls to the debugger intrinsics and any named
metadata for debugging. We also remove debug locations for instructions.
Return true if module is modified.
Defined at line 1067 of file llvm/lib/IR/DebugInfo.cpp
-
bool isLoadInvariantInLoop (LoadInst * LI, DominatorTree * DT, Loop * CurLoop)Return true if LI is invariant within scope of the loop. LI is invariant if
CurLoop is dominated by an invariant.start representing the same memory
location and size as the memory location LI loads from, and also the
invariant.start has no uses.
Defined at line 1067 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
template <class ELFO>const typename ELFO::Elf_Shdr * findNotEmptySectionByAddress (const ELFO & Obj, StringRef FileName, uint64_t Addr)Defined at line 1068 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool isConstantOrConstantVector (SDValue N, bool NoOpaques, bool AllowTruncation)Determines if it is a constant integer or a splat/build vector of constant
integers (and undefs).
Do not permit build vector implicit truncation unless AllowTruncation is set.
Defined at line 1069 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
void applyFirstDebugLoc (Function * oldFunction, ArrayRef Blocks, Instruction * BranchI)If the original function has debug info, we have to add a debug location
to the new branch instruction from the artificial entry block.
We use the debug location of the first instruction in the extracted
blocks, as there is no other equivalent line in the source code.
Defined at line 1070 of file llvm/lib/Transforms/Utils/CodeExtractor.cpp
-
bool encodeUTF8 (size_t CodePoint, char * Output)Encodes code point as UTF-8 and stores results in Output. Returns false if
CodePoint is not a valid unicode scalar value.
Defined at line 1070 of file llvm/lib/Demangle/RustDemangle.cpp
-
std::pair<APInt, APInt> getStrideAndModOffsetOfGEP (Value * PtrOp, const DataLayout & DL)Calculate GEP Stride and accumulated const ModOffset. Return Stride and
ModOffset
Defined at line 1070 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
SmallVector<DbgVariable *, 8> sortLocalVars (SmallVectorImpl<DbgVariable *> & Input)Sort local variables so that variables appearing inside of helper
expressions come first.
Defined at line 1070 of file llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
-
void LLVMDisposeDIBuilder (LLVMDIBuilderRef Builder)Deallocates the
and everything it owns.
Defined at line 1071 of file llvm/lib/IR/DebugInfo.cpp
-
bool extractBranchWeights (SelectLike SI, uint64_t & TrueVal, uint64_t & FalseVal)Defined at line 1071 of file llvm/lib/CodeGen/SelectOptimize.cpp
-
Error ReduceInsts (BugDriver & BD, BugTester TestFn)Defined at line 1072 of file llvm/tools/bugpoint/CrashDebugger.cpp
-
void redirectValuesFromPredecessorsToPhi (BasicBlock * BB, const PredBlockVector & BBPreds, PHINode * PN, BasicBlock * CommonPred)Replace a value flowing from a block to a phi with
potentially multiple instances of that value flowing from the
block's predecessors to the phi.
Parameters
BB The block with the value flowing into the phi.BBPreds The predecessors of BB.PN The phi that we are updating.CommonPred The common predecessor of BB and PN's BasicBlockDefined at line 1073 of file llvm/lib/Transforms/Utils/Local.cpp
-
char getSymbolNMTypeChar (WasmObjectFile & Obj, content_iterator I)Defined at line 1074 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
void visitPointers (Value * StartPtr, const Loop & InnermostLoop, function_ref<void (Value *)> AddPointer)Defined at line 1074 of file llvm/lib/Analysis/LoopAccessAnalysis.cpp
-
void LLVMDIBuilderFinalize (LLVMDIBuilderRef Builder)Construct any deferred debug info descriptors.
Defined at line 1075 of file llvm/lib/IR/DebugInfo.cpp
-
void LLVMReplaceAllUsesWith (LLVMValueRef OldVal, LLVMValueRef NewVal)Replace all uses of a value with another one.
Defined at line 1076 of file llvm/lib/IR/Core.cpp
-
void updateForIncomingValueLocation (PHINode * PN, DebugLoc DL, bool ApplyMergedLoc)Update the debug location of a phi.
indicates whether to
create a merged location incorporating
or to set
directly.
Defined at line 1076 of file llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
-
void analyzeExitPHIsForOutputUses (BasicBlock * CurrentExitFromRegion, SmallPtrSet<BasicBlock *, 1> & PotentialExitsFromRegion, DenseSet<BasicBlock *> & RegionBlocks, SetVector<Value *> & Outputs, DenseSet<Value *> & OutputsReplacedByPHINode, DenseSet<Value *> & OutputsWithNonPhiUses)Test whether
contains any PhiNodes that should be
considered outputs. A PHINodes is an output when more than one incoming
value has been marked by the CodeExtractor as an output.
Parameters
CurrentExitFromRegion [in] - The block to analyze.PotentialExitsFromRegion [in] - The potential exit blocks from the region.RegionBlocks [in] - The basic blocks in the region.Outputs [in, out] - The existing outputs for the region, we may add PHINodes to this as we find that they replace output values.OutputsReplacedByPHINode [out] - A set containing outputs that are totally replaced by a PHINode.OutputsWithNonPhiUses [out] - A set containing outputs that are used in PHINodes, but have other uses, and should still be considered outputs.Defined at line 1076 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
int getTryRank (const WinEHFuncInfo & FuncInfo, int State)Defined at line 1077 of file llvm/lib/CodeGen/AsmPrinter/WinException.cpp
-
void dumpDia (StringRef Path)Defined at line 1077 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
llvm::ModulePass * createCheckDebugifyModulePass (bool Strip, StringRef NameOfWrappedPass, DebugifyStatsMap * StatsMap, DebugifyMode Mode, DebugInfoPerPass * DebugInfoBeforePass, StringRef OrigDIVerifyBugsReportFilePath)Defined at line 1078 of file llvm/lib/Transforms/Utils/Debugify.cpp
-
void LLVMDIBuilderFinalizeSubprogram (LLVMDIBuilderRef Builder, LLVMMetadataRef Subprogram)Finalize a specific subprogram.
No new variables may be added to this subprogram afterwards.
Defined at line 1079 of file llvm/lib/IR/DebugInfo.cpp
-
bool isBackwardPropagatableCopy (const DestSourcePair & CopyOperands, const MachineRegisterInfo & MRI)Defined at line 1079 of file llvm/lib/CodeGen/MachineCopyPropagation.cpp
-
int LLVMHasMetadata (LLVMValueRef Val)Determine whether an instruction has any metadata attached.
Defined at line 1080 of file llvm/lib/IR/Core.cpp
-
bool shouldEmitDWARF (DWARFYAML::Data & DWARF, StringRef Name)Defined at line 1081 of file llvm/lib/ObjectYAML/ELFEmitter.cpp
-
Value * EmitAddTreeOfValues (Instruction * I, SmallVectorImpl<WeakTrackingVH> & Ops)Emit a tree of add instructions, summing Ops together
and returning the result. Insert the tree before I.
Defined at line 1081 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
bool optimizeBlock (BasicBlock & BB, bool & ModifiedDT, const TargetTransformInfo & TTI, const DataLayout & DL, bool HasBranchDivergence, DomTreeUpdater * DTU)Defined at line 1081 of file llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
-
Value * foldPowerOf2AndShiftedMask (ICmpInst * Cmp0, ICmpInst * Cmp1, bool JoinedByAnd, InstCombiner::BuilderTy & Builder)Try to fold ((icmp X u
<
P)
&
(icmp(X
&
M) != M)) or ((icmp X s> -1)
&
(icmp(X
&
M) != M)) into (icmp X u
<
M). Where P is a power of 2, M
<
P, and
M is a contiguous shifted mask starting at the right most significant zero
bit in P. SGT is supported as when P is the largest representable power of
2, an earlier optimization converts the expression into (icmp X s> -1).
Parameter P supports masking using undef/poison in either scalar or vector
values.
Defined at line 1081 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
void repeat (struct parse * , sopno , int , int )- repeat - generate code for a bounded repetition, recursively if needed
Defined at line 1081 of file llvm/lib/Support/regcomp.c
-
char getSymbolNMTypeChar (IRObjectFile & Obj, content_iterator I)Defined at line 1081 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
bool is64Bit (const char * name)Determine whether this instruction is a 64-bit instruction.
Defined at line 1082 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
bool processAShr (BinaryOperator * SDI, LazyValueInfo * LVI)Defined at line 1082 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void replaceValuesPerBlockEntry (SmallVectorImpl<AvailableValueInBlock> & ValuesPerBlock, Value * OldValue, Value * NewValue)If the specified OldValue exists in ValuesPerBlock, replace its value with
NewValue.
Defined at line 1083 of file llvm/lib/Transforms/Scalar/GVN.cpp
-
void createSymbolTable (object::Archive * OldArchive)Defined at line 1083 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateCompileUnit (LLVMDIBuilderRef Builder, Lang, LLVMMetadataRef FileRef, const char * Producer, size_t ProducerLen, LLVMBool isOptimized, const char * Flags, size_t FlagsLen, unsigned int RuntimeVer, const char * SplitName, size_t SplitNameLen, Kind, unsigned int DWOId, LLVMBool SplitDebugInlining, LLVMBool DebugInfoForProfiling, const char * SysRoot, size_t SysRootLen, const char * SDK, size_t SDKLen)A CompileUnit provides an anchor for all debugging
information generated during this instance of compilation.
Parameters
Lang Source programming language, eg.FileRef File info.Producer Identify the producer of debugging information and code. Usually this is a compiler version string.ProducerLen The length of the C string passed toisOptimized A boolean flag which indicates whether optimization is enabled or not.Flags This string lists command line options. This string is directly embedded in debug info output which may be used by a tool analyzing generated debugging information.FlagsLen The length of the C string passed toRuntimeVer This indicates runtime version for languages like Objective-C.SplitName The name of the file that we'll split debug info out into.SplitNameLen The length of the C string passed toKind The kind of debug information to generate.DWOId The DWOId if this is a split skeleton compile unit.SplitDebugInlining Whether to emit inline debug info.DebugInfoForProfiling Whether to emit extra debug info for profile collection.SysRoot The Clang system root (value of -isysroot).SysRootLen The length of the C string passed toSDK The SDK. On Darwin, the last component of the sysroot.SDKLen The length of the C string passed toDefined at line 1084 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMValueRef LLVMGetMetadata (LLVMValueRef Val, unsigned int KindID)Return metadata associated with an instruction value.
Defined at line 1084 of file llvm/lib/IR/Core.cpp
-
bool MatchMul (Value * E, Value *& Op, APInt & C)Matches multiplication expression Op * C where C is a constant. Returns the
constant value in C and the other operand in Op. Returns true if such a
match is found.
Defined at line 1084 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
void removeRedundantExpandSCEVRecipes (VPlan & Plan)Remove redundant EpxandSCEVRecipes in
entry block by replacing
them with already existing recipes expanding the same SCEV expression.
Defined at line 1084 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
double putchard (double X)putchard - putchar that takes a double and returns 0.
Defined at line 1085 of file llvm/examples/Kaleidoscope/Chapter6/toy.cpp
-
void ProfileBinOpInit (FoldingSetNodeID & ID, unsigned int Opcode, const Init * LHS, const Init * RHS, const RecTy * Type)Defined at line 1086 of file llvm/lib/TableGen/Record.cpp
-
int getTryAncestor (const WinEHFuncInfo & FuncInfo, int Left, int Right)Defined at line 1086 of file llvm/lib/CodeGen/AsmPrinter/WinException.cpp
-
bool jumpTableHasOtherUses (const MachineFunction & MF, const MachineBasicBlock & IgnoreMBB, int JumpTableIndex)Returns `true` if there are possibly other users of the jump table at
`JumpTableIndex` except for the ones in `IgnoreMBB`.
Defined at line 1086 of file llvm/lib/CodeGen/MachineBasicBlock.cpp
-
template <class ELFT>Expected emitDWARF (typename ELFT::Shdr & SHeader, StringRef Name, const DWARFYAML::Data & DWARF, ContiguousBlobAccumulator & CBA)Defined at line 1087 of file llvm/lib/ObjectYAML/ELFEmitter.cpp
-
bool isObjCSelector (StringRef Name)Defined at line 1088 of file llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
-
OSType getOSTypeFromMCVM (MCVersionMinType Type)Defined at line 1090 of file llvm/lib/MC/MCParser/DarwinAsmParser.cpp
-
bool isExistingPhi (const SCEVAddRecExpr * AR, ScalarEvolution & SE)Return true if this AddRec is already a phi in its loop.
Defined at line 1090 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
llvm::FunctionPass * createCheckDebugifyFunctionPass (bool Strip, StringRef NameOfWrappedPass, DebugifyStatsMap * StatsMap, DebugifyMode Mode, DebugInfoPerPass * DebugInfoBeforePass, StringRef OrigDIVerifyBugsReportFilePath)Defined at line 1090 of file llvm/lib/Transforms/Utils/Debugify.cpp
-
Expected lookupAllocatableSection (ObjectFile & OF, InstrProfSectKind IPSK)Find a section that matches
and is allocatable at runtime.
Returns the contents of the section and its start offset in the object file.
Defined at line 1090 of file llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
-
double printd (double X)printd - printf that takes a double prints it as "%f\n", returning 0.
Defined at line 1091 of file llvm/examples/Kaleidoscope/Chapter6/toy.cpp
-
void eraseLifetimeMarkersOnInputs (const SetVector<BasicBlock *> & Blocks, const SetVector<Value *> & SunkAllocas, SetVector<Value *> & LifetimesStart)Erase lifetime.start markers which reference inputs to the extraction
region, and insert the referenced memory into
The extraction region is defined by a set of blocks (
and a set
of allocas which will be moved from the caller function into the extracted
function (
Defined at line 1091 of file llvm/lib/Transforms/Utils/CodeExtractor.cpp
-
bool addAccessAttr (Argument * A, AttrKind R)Defined at line 1091 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
bool hasImplicitComdat (size_t Val)===----------------------------------------------------------------------===//
Helper functions to implement forward reference resolution, etc.
===----------------------------------------------------------------------===//
Defined at line 1092 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
MachineInstr & insertPHI (MachineRegisterInfo & MRI, const TargetInstrInfo & TII, const SmallVectorImpl<RegSubRegPair> & SrcRegs, MachineInstr & OrigPHI)Insert a PHI instruction with incoming edges
that are
guaranteed to have the same register class. This is necessary whenever we
successfully traverse a PHI instruction and find suitable sources coming
from its edges. By inserting a new PHI, we provide a rewritten PHI def
suitable to be used in a new COPY instruction.
Defined at line 1092 of file llvm/lib/CodeGen/PeepholeOptimizer.cpp
-
bool tryToOptimizeStoreOfAllocationToGlobal (GlobalVariable * GV, CallInst * CI, const DataLayout & DL, TargetLibraryInfo * TLI)If we have a global that is only initialized with a fixed size allocation
try to transform the program to use global memory instead of heap
allocated memory. This eliminates dynamic allocation, avoids an indirection
accessing the data, and exposes the resultant global to further GlobalOpt.
Defined at line 1092 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
int getInstructionIDWithAttrMask (uint16_t * instructionID, struct InternalInstruction * insn, uint16_t attrMask)Determine the ID of an instruction, consuming the ModR/M byte as appropriate
for extended and escape opcodes, and using a supplied attribute mask.
Defined at line 1093 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
bool isObject (SymbolicFile & Obj, content_iterator I)Defined at line 1094 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
bool isAnyConstantBuildVector (SDValue V, bool NoOpaques)Determines if a BUILD_VECTOR is composed of all-constants possibly mixed with
undef's.
Defined at line 1094 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
MDNode * extractMDNode (MetadataAsValue * MAV)MetadataAsValue uses a canonical format which strips the actual MDNode for
MDNode with just a single constant value, storing just a ConstantAsMetadata
This undoes this canonicalization, reconstructing the MDNode.
Defined at line 1095 of file llvm/lib/IR/Core.cpp
-
MDNode * getOrSelfReference (LLVMContext & Context, ArrayRef Ops)Get a node or a self-reference that looks like it.
Special handling for finding self-references, for use by
and
to maintain behaviour from
when self-referencing nodes were still uniqued. If the first operand has
the same operands as
return the first operand instead.
Defined at line 1095 of file llvm/lib/IR/Metadata.cpp
-
Intrinsic::ID shouldUpgradeNVPTXTMAG2SIntrinsics (Function * F, StringRef Name)Defined at line 1096 of file llvm/lib/IR/AutoUpgrade.cpp
-
SDValue getPopFromX87Reg (SelectionDAG & DAG, SDValue Chain, const SDLoc & dl, Register Reg, EVT VT, SDValue Glue)Defined at line 1098 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
bool optimizeCallInst (CallInst * CI, bool & ModifiedDT, const TargetTransformInfo & TTI, const DataLayout & DL, bool HasBranchDivergence, DomTreeUpdater * DTU)Defined at line 1098 of file llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
-
void getSelectsInScope (CHRScope * Scope, DenseSet<Instruction *> & Output)Defined at line 1100 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
void PrintDataInCodeTable (MachOObjectFile * O, bool verbose)Defined at line 1100 of file llvm/tools/llvm-objdump/MachODump.cpp
-
StringRef getNMTypeName (SymbolicFile & Obj, content_iterator I)For ELF object files, Set TypeName to the symbol typename, to be printed
in the 'Type' column of the SYSV format output.
Defined at line 1101 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
void recursivelyDeleteDeadRecipes (VPValue * V)Defined at line 1101 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
Value * ConstructSSAForLoadSet (LoadInst * Load, SmallVectorImpl<AvailableValueInBlock> & ValuesPerBlock, GVNPass & GVN)Given a set of loads specified by ValuesPerBlock,
construct SSA form, allowing us to eliminate Load. This returns the value
that should be used at Load's definition site.
Defined at line 1101 of file llvm/lib/Transforms/Scalar/GVN.cpp
-
bool canSplitIdx (LoadSDNode * LD)Determine if this an indexed load with an opaque target constant index.
Defined at line 1102 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
Expected parseDWARF64StringOffsetsTableHeader (DWARFDataExtractor & DA, uint64_t Offset)Look for a DWARF64-formatted contribution to the string offsets table
starting at a given offset and record it in a descriptor.
Defined at line 1102 of file llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
-
bool MatchRem (Value * E, Value *& Op, APInt & C, bool & IsSigned)Matches remainder expression Op % C where C is a constant. Returns the
constant value in C and the other operand in Op. Returns the signedness of
the remainder operation in IsSigned. Returns true if such a match is
found.
Defined at line 1102 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
FunctionPass * useDefaultRegisterAllocator ()-regalloc=... command line option.
Defined at line 1103 of file llvm/lib/CodeGen/TargetPassConfig.cpp
-
bool replaceOperandIfSame (Instruction * Inst, unsigned int OpIdx, Value * OldVal, Value * NewVal)Replace operand
in
if the value is the same as
with
Defined at line 1104 of file llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
-
void updateAsyncFuncPointerContextSize (coro::Shape & Shape)Defined at line 1104 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
LinkageTypes getDecodedLinkage (unsigned int Val)Defined at line 1104 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
bool decodePunycode (basic_string_view Input, OutputBuffer & Output)Decodes string encoded using punycode and appends results to Output.
Returns true if decoding was successful.
Defined at line 1105 of file llvm/lib/Demangle/RustDemangle.cpp
-
ThreadSafeModule irgenAndTakeOwnership (FunctionAST & FnAST, const std::string & Suffix)This will compile FnAST to IR, rename the function to add the given
suffix (needed to prevent a name-clash with the function's stub),
and then take ownership of the module that the function was compiled
into.
Defined at line 1106 of file llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateFile (LLVMDIBuilderRef Builder, const char * Filename, size_t FilenameLen, const char * Directory, size_t DirectoryLen)Create a file descriptor to hold debugging information for a file.
Parameters
Builder TheFilename File name.FilenameLen The length of the C string passed toDirectory Directory.DirectoryLen The length of the C string passed toDefined at line 1104 of file llvm/lib/IR/DebugInfo.cpp
-
void LLVMSetMetadata (LLVMValueRef Val, unsigned int KindID, LLVMValueRef Node)Set metadata associated with an instruction value.
Defined at line 1106 of file llvm/lib/IR/Core.cpp
-
bool unswitchAllTrivialConditions (Loop & L, DominatorTree & DT, LoopInfo & LI, ScalarEvolution * SE, MemorySSAUpdater * MSSAU)This routine scans the loop to find a branch or switch which occurs before
any side effects occur. These can potentially be unswitched without
duplicating the loop. If a branch or switch is successfully unswitched the
scanning continues to see if subsequent branches or switches have become
trivial. Once all trivial candidates have been unswitched, this routine
returns.
The return value indicates whether anything was unswitched (and therefore
changed).
If `SE` is not null, it will be updated based on the potential loop SCEVs
invalidated by this.
Defined at line 1107 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
bool isRebasedHexDigit (char C)Defined at line 1108 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
void replaceAllUsesWith (Value * Old, Value * New, SmallPtrSet<BasicBlock *, 32> & FreshBBs, bool IsHuge)Replace all old uses with new ones, and push the updated BBs into FreshBBs.
Defined at line 1108 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
void InitializeModuleAndPassManager ()===----------------------------------------------------------------------===//
Top-Level parsing and JIT Driver
===----------------------------------------------------------------------===//
Defined at line 1109 of file llvm/examples/Kaleidoscope/Chapter8/toy.cpp
-
void initializeX86AsmPrinterPassOnce (PassRegistry & Registry)Defined at line 1110 of file llvm/lib/Target/X86/X86AsmPrinter.cpp
-
uint8_t rebasedHexDigitToNumber (char C)Defined at line 1110 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
bool isHighCostExpansion (const SCEV * S, SmallPtrSetImpl<const SCEV *> & Processed, ScalarEvolution & SE)Check if expanding this expression is likely to incur significant cost. This
is tricky because SCEV doesn't track which expressions are actually computed
by the current IR.
We currently allow expansion of IV increments that involve adds,
multiplication by constants, and AddRecs from existing phis.
TODO: Allow UDivExpr if we can find an existing IV increment that is an
obvious multiple of the UDivExpr.
Defined at line 1110 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
bool processSExt (SExtInst * SDI, LazyValueInfo * LVI)Defined at line 1111 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
char getNMSectionTagAndName (SymbolicFile & Obj, content_iterator I, StringRef & SecName)Return Posix nm class type tag (single letter), but also set SecName and
section and name, to be used in format=sysv output.
Defined at line 1111 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
ChecksumKind map_from_llvmChecksumKind ( CSKind)Defined at line 1112 of file llvm/lib/IR/DebugInfo.cpp
-
bool foldPatternedLoads (Instruction & I, const DataLayout & DL)If C is a constant patterned array and all valid loaded results for given
alignment are same to a constant, return that constant.
Defined at line 1112 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
void initIRBuilder (IRBuilder<> & Builder, const DILocation * DL, InsertPosition InsertPt)Initialize IRBuilder for inserting dbg.declare and dbg.value intrinsics.
This abstracts over the various ways to specify an insert position.
Defined at line 1113 of file llvm/lib/IR/DIBuilder.cpp
-
Value * foldUnsignedUnderflowCheck (ICmpInst * ZeroICmp, ICmpInst * UnsignedICmp, bool IsAnd, const SimplifyQuery & Q, InstCombiner::BuilderTy & Builder)Commuted variants are assumed to be handled by calling this function again
with the parameters swapped.
Defined at line 1113 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
void findForkedSCEVs (ScalarEvolution * SE, const Loop * L, Value * Ptr, int & ScevList, unsigned int Depth)Walk back through the IR for a pointer, looking for a select like the
following:
%offset = select i1 %cmp, i64 %a, i64 %b
%addr = getelementptr double, double* %base, i64 %offset
%ld = load double, double* %addr, align 8
We won't be able to form a single SCEVAddRecExpr from this since the
address for each loop iteration depends on %cmp. We could potentially
produce multiple valid SCEVAddRecExprs, though, and check all of them for
memory safety/aliasing if needed.
If we encounter some IR we don't yet handle, or something obviously fine
like a constant, then we just add the SCEV for that term to the list passed
in by the caller. If we have a node that may potentially yield a valid
SCEVAddRecExpr then we decompose it into parts and build the SCEV terms
ourselves before adding to the list.
Defined at line 1113 of file llvm/lib/Analysis/LoopAccessAnalysis.cpp
-
const StringInit * ConcatStringInits (const StringInit * I0, const StringInit * I1)Defined at line 1114 of file llvm/lib/TableGen/Record.cpp
-
void remapOperands (VPBlockBase * Entry, VPBlockBase * NewEntry, DenseMap<VPValue *, VPValue *> & Old2NewVPValues)Defined at line 1114 of file llvm/lib/Transforms/Vectorize/VPlan.cpp
-
void UpdateAnalysisInformation (BasicBlock * OldBB, BasicBlock * NewBB, ArrayRef Preds, DomTreeUpdater * DTU, DominatorTree * DT, LoopInfo * LI, MemorySSAUpdater * MSSAU, bool PreserveLCSSA, bool & HasLoopExit)Update DominatorTree, LoopInfo, and LCCSA analysis information.
Invalidates DFS Numbering when DTU or DT is provided.
Defined at line 1114 of file llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
-
void generateFlangClauseCheckPrototypes (const DirectiveLanguage & DirLang, raw_ostream & OS)Generate check in the Enter functions for clauses classes.
Defined at line 1115 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
bool isIgnoredPass (StringRef PassID)Defined at line 1116 of file llvm/lib/Transforms/Utils/Debugify.cpp
-
template <typename InstrType>bool replaceSimplePointerUse (const TargetTransformInfo & TTI, InstrType * MemInstr, unsigned int AddrSpace, Value * OldV, Value * NewV)Defined at line 1116 of file llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
-
bool printOperand (raw_ostream & OS, const SelectionDAG * G, SDValue Value)Defined at line 1116 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
-
void insertLifetimeMarkersSurroundingCall (Module * M, ArrayRef LifetimesStart, ArrayRef LifetimesEnd, CallInst * TheCall)Insert lifetime start/end markers surrounding the call to the new function
for objects defined in the caller.
Defined at line 1116 of file llvm/lib/Transforms/Utils/CodeExtractor.cpp
-
bool getConstraintFromMemoryAccess (GetElementPtrInst & GEP, uint64_t AccessSize, CmpPredicate & Pred, Value *& A, Value *& B, const DataLayout & DL, const TargetLibraryInfo & TLI)Defined at line 1116 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
void AddAliasScopeMetadata (CallBase & CB, ValueToValueMapTy & VMap, const DataLayout & DL, AAResults * CalleeAAR, ClonedCodeInfo & InlinedFunctionInfo)If the inlined function has noalias arguments,
then add new alias scopes for each noalias argument, tag the mapped noalias
parameters with noalias metadata specifying the new scope, and tag all
non-derived loads, stores and memory intrinsics with the new alias scopes.
Defined at line 1116 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
std::pair<RTLIB::Libcall, CmpInst::Predicate> getFCMPLibcallDesc (Predicate Pred, unsigned int Size)Returns the corresponding libcall for the given Pred and
the ICMP predicate that should be generated to compare with #0
after the libcall.
Defined at line 1117 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
void LLVMInitializeX86AsmPrinter ()Force static initialization.
Defined at line 1118 of file llvm/lib/Target/X86/X86AsmPrinter.cpp
-
LLVMValueMetadataEntry * llvm_getMetadata (size_t * NumEntries, function_ref AccessMD)Defined at line 1118 of file llvm/lib/IR/Core.cpp
-
Value * getDbgIntrinsicValueImpl (LLVMContext & VMContext, Value * V)Defined at line 1119 of file llvm/lib/IR/DIBuilder.cpp
-
TypeSize getFrameSizeForShape (coro::Shape & Shape)Defined at line 1119 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
bool inferInitializes (Argument & A, Function & F)Defined at line 1119 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
Expected parseDWARF32StringOffsetsTableHeader (DWARFDataExtractor & DA, uint64_t Offset)Look for a DWARF32-formatted contribution to the string offsets table
starting at a given offset and record it in a descriptor.
Defined at line 1120 of file llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
-
void performOperation (ArchiveOperation Operation, object::Archive * OldArchive, unique_ptr OldArchiveBuf, std::vector<NewArchiveMember> * NewMembers)Defined at line 1120 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
void emitComments (const MachineInstr & MI, const MCSubtargetInfo * STI, raw_ostream & CommentOS)emitComments - Pretty-print comments for instructions.
Defined at line 1122 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
unsigned int rotateModulo (unsigned int BitWidth, const APInt & rotateAmt)Calculate the rotate amount modulo the bit width.
Defined at line 1123 of file llvm/lib/Support/APInt.cpp
-
optional getOpcodeOrIntrinsicID (const VPSingleDefRecipe * R)Get any instruction opcode or intrinsic ID data embedded in recipe
Returns an optional pair, where the first element indicates whether it is
an intrinsic ID.
Defined at line 1123 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
const StringInit * interleaveStringList (const ListInit * List, const StringInit * Delim)Defined at line 1123 of file llvm/lib/TableGen/Record.cpp
-
bool isHoistableAndSinkableInst (Instruction & I)Return true if-and-only-if we know how to (mechanically) both hoist and
sink a given instruction out of a loop. Does not address legality
concerns such as aliasing or speculation safety.
Defined at line 1124 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
bool MatchDiv (Value * E, Value *& Op, APInt & C, bool IsSigned)Matches division expression Op / C with the given signedness as indicated
by IsSigned, where C is a constant. Returns the constant value in C and the
other operand in Op. Returns true if such a match is found.
Defined at line 1124 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateFileWithChecksum (LLVMDIBuilderRef Builder, const char * Filename, size_t FilenameLen, const char * Directory, size_t DirectoryLen, ChecksumKind, const char * Checksum, size_t ChecksumLen, const char * Source, size_t SourceLen)Create a file descriptor to hold debugging information for a file.
Parameters
Builder TheFilename File name.FilenameLen The length of the C string passed toDirectory Directory.DirectoryLen The length of the C string passed toChecksumKind The kind of checksum. eg MD5, SHA256Checksum The checksum.ChecksumLen The length of the checksum.Souce The embedded source.SourceLen The length of the source.Defined at line 1125 of file llvm/lib/IR/DebugInfo.cpp
-
void toggleKills (const MachineRegisterInfo & MRI, LiveRegUnits & LiveRegs, MachineInstr & MI, bool addToLiveRegs)Defined at line 1125 of file llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
-
template <typename EntryType>Error writeDWARFLists (raw_ostream & OS, ArrayRef<DWARFYAML::ListTable<EntryType>> Tables, bool IsLittleEndian, bool Is64BitAddrSize)Defined at line 1125 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
void dumpPretty (StringRef Path)Defined at line 1125 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
OSType getOSTypeFromPlatform (PlatformType Type)Defined at line 1126 of file llvm/lib/MC/MCParser/DarwinAsmParser.cpp
-
bool canFoldInAddressingMode (GLoadStore * MI, const TargetLowering & TLI, MachineRegisterInfo & MRI)Return true if 'MI' is a load or a store that may be fold it's address
operand into the load / store addressing mode.
Defined at line 1127 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
void replaceFrameSizeAndAlignment (coro::Shape & Shape)Defined at line 1127 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
RegSubRegPair getNewSource (MachineRegisterInfo * MRI, const TargetInstrInfo * TII, RegSubRegPair Def, const int & RewriteMap, bool HandleMultipleSources)Given a
and Def.SubReg pair, use
to find
the new source to use for rewrite. If
is true and
multiple sources for a given
are found along the way, we found a
PHI instructions that needs to be rewritten.
TODO: HandleMultipleSources should be removed once we test PHI handling
with coalescable copies.
Defined at line 1127 of file llvm/lib/CodeGen/PeepholeOptimizer.cpp
-
void generateFlangClauseParserKindMap (const DirectiveLanguage & DirLang, raw_ostream & OS)Generate the mapping for clauses between the parser class and the
corresponding clause Kind
Defined at line 1128 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
bool processPossibleNonNeg (PossiblyNonNegInst * I, LazyValueInfo * LVI)Defined at line 1129 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void VerifyFunctionInfo (const GsymReader & GR, uint64_t Addr, const FunctionInfo & FI)Defined at line 1130 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
void updateInstrProfileEntry (InstrProfileEntry & IFE, bool SetToHot, uint64_t HotInstrThreshold, uint64_t ColdInstrThreshold, float ZeroCounterThreshold)Either set all the counters in the instr profile entry
to
-1 / -2 /in order to drop the profile or scale up the
counters in
to be above hot / cold threshold. We use
the ratio of zero counters in the profile of a function to
decide the profile is helpful or harmful for performance,
and to choose whether to scale up or drop it.
Defined at line 1130 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void initializeDXILResourceTypeWrapperPassPassOnce (PassRegistry & Registry)Defined at line 1131 of file llvm/lib/Analysis/DXILResource.cpp
-
bool hasUTF8ByteOrderMark (ArrayRef S)It is called byte order marker but the UTF-8 BOM is actually not affected
by the host system's endianness.
Defined at line 1131 of file llvm/lib/Support/CommandLine.cpp
-
bool isGlobalVarSummary (const ModuleSummaryIndex & Index, ValueInfo VI)Defined at line 1131 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
StringRef getDXILArchNameFromShaderModel (StringRef ShaderModelStr)Defined at line 1131 of file llvm/lib/TargetParser/Triple.cpp
-
bool isSafeToSinkLoad (Instruction * LoadI, Instruction * SI)Check if it is safe to move LoadI next to the SI.
Conservatively assume it is safe only if there is no instruction
modifying memory in-between the load and the select instruction.
Defined at line 1133 of file llvm/lib/CodeGen/SelectOptimize.cpp
-
bool areInnerLoopExitPHIsSupported (Loop * InnerL, Loop * OuterL, SmallPtrSetImpl<PHINode *> & Reductions)We currently only support LCSSA PHI nodes in the inner loop exit, if their
users are either reduction PHIs or PHIs outside the outer loop (which means
the we are only interested in the final value after the loop).
Defined at line 1133 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
bool isRealSpill (const MachineInstr & Def)Check if
fully defines a VReg with an undefined value.
If that's the case, that means the value of VReg is actually
not relevant.
Defined at line 1134 of file llvm/lib/CodeGen/InlineSpiller.cpp
-
bool replaceIfSimplePointerUse (const TargetTransformInfo & TTI, User * Inst, unsigned int AddrSpace, Value * OldV, Value * NewV)If
is used as the pointer operand of a compatible memory operation
replaces the pointer operand with NewV.
This covers memory instructions with a single pointer operand that can have
its address space changed by simply mutating the use to a new value.
true the user replacement was made.
Defined at line 1134 of file llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
-
MCSymbol * emitGenDwarfRanges (MCStreamer * MCOS)When generating dwarf for assembly source files this emits the data for
.debug_ranges section. We only emit one range list, which spans all of the
executable sections of this file.
Defined at line 1134 of file llvm/lib/MC/MCDwarf.cpp
-
int constantIntSortPredicate (ConstantInt *const * P1, ConstantInt *const * P2)Defined at line 1135 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
basic_string getEnumNameForToken (StringRef Str)Defined at line 1135 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
Value * canonicalizeSaturatedAddSigned (ICmpInst * Cmp, Value * TVal, Value * FVal, InstCombiner::BuilderTy & Builder)Defined at line 1135 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
LLVMValueMetadataEntry * LLVMInstructionGetAllMetadataOtherThanDebugLoc (LLVMValueRef Instr, size_t * NumEntries)Returns the metadata associated with an instruction value, but filters out
all the debug locations.
Defined at line 1136 of file llvm/lib/IR/Core.cpp
-
bool isOnlyMemoryAccess (const Instruction * I, const Loop * L, const MemorySSAUpdater & MSSAU)Return true if I is the only Instruction with a MemoryAccess in L.
Defined at line 1136 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
void ExpandBasePaths (StringRef BasePath, StringSaver & Saver, const char *& Arg)Substitute
<CFGDIR
> with the file's base path.
Defined at line 1136 of file llvm/lib/Support/CommandLine.cpp
-
void VerifyFunctionInfoError (const GsymReader & GR, uint64_t Addr, basic_string ErrMessage)Defined at line 1137 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
Expected parseDWARFStringOffsetsTableHeader (DWARFDataExtractor & DA, DwarfFormat Format, uint64_t Offset)Defined at line 1137 of file llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
-
Expected loadBinaryFormat (unique_ptr Bin, StringRef Arch, StringRef CompilationDir, object::BuildIDRef * BinaryID)Defined at line 1137 of file llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
-
hash_code encodePHINodeData (PHINodeData & PND)Encode
as an integer for easy lookup based on the argument location,
the parent BasicBlock canonical numbering, and the canonical numbering of
the values stored in the PHINode.
Parameters
PND - The data to hash.Defined at line 1138 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
bool isGlobalVarSummary (const ModuleSummaryIndex & Index, GlobalValue::GUID G)Defined at line 1138 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
bool optimizeOnceStoredGlobal (GlobalVariable * GV, Value * StoredOnceVal, const DataLayout & DL, function_ref<TargetLibraryInfo &(Function &)> GetTLI)Try to optimize globals based on the knowledge that only one value (besides
its initializer) is ever stored to the global.
Defined at line 1138 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
unsigned int getShiftAmount (uint64_t orgShiftAmount, APInt valueToShift)auxiliary function for shift operations
Defined at line 1139 of file llvm/lib/ExecutionEngine/Interpreter/Execution.cpp
-
void DumpNodesr (raw_ostream & OS, const SDNode * N, unsigned int indent, const SelectionDAG * G, VisitedSDNodeSet & once)Defined at line 1139 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
-
Value * simplifyDiv (BinaryOps Opcode, Value * Op0, Value * Op1, bool IsExact, const SimplifyQuery & Q, unsigned int MaxRecurse)These are simplifications common to SDiv and UDiv.
Defined at line 1140 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateModule (LLVMDIBuilderRef Builder, LLVMMetadataRef ParentScope, const char * Name, size_t NameLen, const char * ConfigMacros, size_t ConfigMacrosLen, const char * IncludePath, size_t IncludePathLen, const char * APINotesFile, size_t APINotesFileLen)Creates a new descriptor for a module with the specified parent scope.
Parameters
Builder TheParentScope The parent scope containing this module declaration.Name Module name.NameLen The length of the C string passed toConfigMacros A space-separated shell-quoted list of -D macro definitions as they would appear on a command line.ConfigMacrosLen The length of the C string passed toIncludePath The path to the module map file.IncludePathLen The length of the C string passed toAPINotesFile The path to an API notes file for the module.APINotesFileLen The length of the C string passed toDefined at line 1141 of file llvm/lib/IR/DebugInfo.cpp
-
void PrintLinkOptHints (MachOObjectFile * O)Defined at line 1142 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isValidVisibilityForLinkage (unsigned int V, unsigned int L)Defined at line 1143 of file llvm/lib/AsmParser/LLParser.cpp
-
Intrinsic::ID shouldUpgradeNVPTXSharedClusterIntrinsic (Function * F, StringRef Name)Defined at line 1143 of file llvm/lib/IR/AutoUpgrade.cpp
-
MCSectionELF * getStaticStructorSection (MCContext & Ctx, bool UseInitArray, bool IsCtor, unsigned int Priority, const MCSymbol * KeySym)Defined at line 1143 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
bool processZExt (ZExtInst * ZExt, LazyValueInfo * LVI)Defined at line 1144 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
const StringInit * interleaveIntList (const ListInit * List, const StringInit * Delim)Defined at line 1144 of file llvm/lib/TableGen/Record.cpp
-
bool MulWillOverflow (APInt & C0, APInt & C1, bool IsSigned)Returns whether C0 * C1 with the given signedness overflows.
Defined at line 1145 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
int performOperation (ArchiveOperation Operation)Defined at line 1145 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
unsigned int numGlobalVarSummaries (const ModuleSummaryIndex & Index, FunctionImporter::ExportSetTy & ExportSet)Return the number of global variable summaries in ExportSet.
Defined at line 1146 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
FFlags getDecodedFFlags (uint64_t RawFlags)Defined at line 1146 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
VPValue * tryToFoldLiveIns (VPSingleDefRecipe & R, ArrayRef Operands, const DataLayout & DL, VPTypeAnalysis & TypeInfo)Try to fold
using InstSimplifyFolder. Will succeed and return a
non-nullptr VPValue for a handled opcode or intrinsic ID if corresponding
are foldable live-ins.
Defined at line 1146 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
bool isValidDLLStorageClassForLinkage (unsigned int S, unsigned int L)Defined at line 1147 of file llvm/lib/AsmParser/LLParser.cpp
-
void getBranchWeights (Instruction * TI, SmallVectorImpl<uint64_t> & Weights)Get Weights of a given terminator, the default weight is at the front
of the vector. If TI is a conditional eq, we need to swap the branch-weight
metadata.
Defined at line 1147 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool processUIToFP (UIToFPInst * UIToFP, LazyValueInfo * LVI)Defined at line 1148 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
uint64_t sumEdgeCount (const ArrayRef<PGOUseEdge *> Edges)Sum up the count values for all the edges.
Defined at line 1148 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
unsigned int getIndexedOpc (unsigned int LdStOpc)Defined at line 1148 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
int seterr (struct parse * , int )Defined at line 1150 of file llvm/lib/Support/regcomp.c
-
SmallVector buildBitSets (ArrayRef TypeIds, const DenseMap<GlobalTypeMember *, uint64_t> & GlobalLayout)Defined at line 1150 of file llvm/lib/Transforms/IPO/LowerTypeTests.cpp
-
void postSplitCleanup (Function & F)Defined at line 1151 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
bool isCCMPOrCTEST (InternalInstruction * insn)Defined at line 1151 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
SmallVectorImpl<DwarfCompileUnit::GlobalExpr> & sortGlobalExprs (SmallVectorImpl<DwarfCompileUnit::GlobalExpr> & GVEs)Sort and unique GVEs by comparing their fragment offset.
Defined at line 1151 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
void generateFlangClausesParser (const DirectiveLanguage & DirLang, raw_ostream & OS)Generate the parser for the clauses.
Defined at line 1151 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
bool isPrintableString (StringRef Data)Defined at line 1152 of file llvm/lib/MC/MCAsmStreamer.cpp
-
MemoryAccess * getClobberingMemoryAccess (MemorySSA & MSSA, BatchAAResults & BAA, SinkAndHoistLICMFlags & Flags, MemoryUseOrDef * MA)Defined at line 1152 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
bool processSIToFP (SIToFPInst * SIToFP, LazyValueInfo * LVI)Defined at line 1152 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void computeKnownBitsFromShiftOperator (const Operator * I, const APInt & DemandedElts, KnownBits & Known, KnownBits & Known2, const SimplifyQuery & Q, unsigned int Depth, function_ref<KnownBits (const KnownBits &, const KnownBits &, bool)> KF)Compute known bits from a shift operator, including those with a
non-constant shift amount. Known is the output of this function. Known2 is a
pre-allocated temporary with the same bit width as Known and on return
contains the known bit of the shift value source. KF is an
operator-specific function that, given the known-bits and a shift amount,
compute the implied known-bits of the shift operator's result respectively
for that shift amount. The results from calling KF are conservatively
combined for all permitted shift amounts.
Defined at line 1153 of file llvm/lib/Analysis/ValueTracking.cpp
-
void maybeSetDSOLocal (bool DSOLocal, GlobalValue & GV)If there was an explicit dso_local, update GV. In the absence of an explicit
dso_local we keep the default value.
Defined at line 1154 of file llvm/lib/AsmParser/LLParser.cpp
-
void LLVMOrcRTDyldObjectLinkingLayerRegisterJITEventListener (LLVMOrcObjectLayerRef RTDyldObjLinkingLayer, LLVMJITEventListenerRef Listener)Add the given listener to the given RTDyldObjectLinkingLayer.
Note: Layer must be an RTDyldObjectLinkingLayer instance or
behavior is undefined.
Defined at line 1154 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateNameSpace (LLVMDIBuilderRef Builder, LLVMMetadataRef ParentScope, const char * Name, size_t NameLen, LLVMBool ExportSymbols)Creates a new descriptor for a namespace with the specified parent scope.
Parameters
Builder TheParentScope The parent scope containing this module declaration.Name NameSpace name.NameLen The length of the C string passed toExportSymbols Whether or not the namespace exports symbols, e.g. this is true of C++ inline namespaces.Defined at line 1154 of file llvm/lib/IR/DebugInfo.cpp
-
bool handleMemIntrinsicPtrUse (MemIntrinsic * MI, Value * OldV, Value * NewV)Update memory intrinsic uses that require more complex processing than
simple memory instructions. These require re-mangling and may have multiple
pointer operands.
Defined at line 1155 of file llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
-
LoopUnrollResult tryToUnrollLoop (Loop * L, DominatorTree & DT, LoopInfo * LI, ScalarEvolution & SE, const TargetTransformInfo & TTI, AssumptionCache & AC, OptimizationRemarkEmitter & ORE, BlockFrequencyInfo * BFI, ProfileSummaryInfo * PSI, bool PreserveLCSSA, int OptLevel, bool OnlyFullUnroll, bool OnlyWhenForced, bool ForgetAllSCEV, optional ProvidedCount, optional ProvidedThreshold, optional ProvidedAllowPartial, optional ProvidedRuntime, optional ProvidedUpperBound, optional ProvidedAllowPeeling, optional ProvidedAllowProfileBasedPeeling, optional ProvidedFullUnrollMaxCount, AAResults * AA)Defined at line 1157 of file llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
-
optional getGVNForPHINode (OutlinableRegion & Region, PHINode * PN, DenseSet<BasicBlock *> & Blocks, unsigned int AggArgIdx)Create a special GVN for PHINodes that will be used outside of
the region. We create a hash code based on the Canonical number of the
parent BasicBlock, the canonical numbering of the values stored in the
PHINode and the aggregate argument location. This is used to find whether
this PHINode type has been given a canonical numbering already. If not, we
assign it a value and store it for later use. The value is returned to
identify different output schemes for the set of regions.
Parameters
Region - The region that is an output for.PN - The PHINode we are analyzing.Blocks - The blocks for the region we are analyzing.AggArgIdx - The argument will be stored into.Defined at line 1158 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
optional matchIntPart (Value * V)Match an extraction of bits from an integer.
Defined at line 1159 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool areOuterLoopExitPHIsSupported (Loop * OuterLoop, Loop * InnerLoop)We currently support LCSSA PHI nodes in the outer loop exit, if their
incoming values do not come from the outer loop latch or if the
outer loop latch has a single predecessor. In that case, the value will
be available if both the inner and outer loop conditions are true, which
will still be true after interchanging. If we have multiple predecessor,
that may not be the case, e.g. because the outer loop latch may be executed
if the inner loop is not executed.
Defined at line 1159 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
bool multiplyOverflows (const APInt & C1, const APInt & C2, APInt & Product, bool IsSigned)True if the multiply can not be expressed in an int this size.
Defined at line 1160 of file llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
-
OnDiskContent getContentFromHandle (const OnDiskDataAllocator & DataPool, ObjectHandle OH)Defined at line 1160 of file llvm/lib/CAS/OnDiskGraphDB.cpp
-
bool isType (const Metadata * MD)Defined at line 1161 of file llvm/lib/IR/Verifier.cpp
-
char toOctal (int X)Defined at line 1161 of file llvm/lib/MC/MCAsmStreamer.cpp
-
bool isScope (const Metadata * MD)Defined at line 1162 of file llvm/lib/IR/Verifier.cpp
-
cset * allocset (struct parse * )- allocset - allocate a set of characters for []
Defined at line 1162 of file llvm/lib/Support/regcomp.c
-
bool isDINode (const Metadata * MD)Defined at line 1163 of file llvm/lib/IR/Verifier.cpp
-
LLVMOrcIRTransformLayerRef LLVMOrcLLJITGetIRTransformLayer (LLVMOrcLLJITRef J)Returns a non-owning reference to the LLJIT instance's IR transform layer.
Defined at line 1163 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateFunction (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, const char * LinkageName, size_t LinkageNameLen, LLVMMetadataRef File, unsigned int LineNo, LLVMMetadataRef Ty, LLVMBool IsLocalToUnit, LLVMBool IsDefinition, unsigned int ScopeLine, Flags, LLVMBool IsOptimized)Create a new descriptor for the specified subprogram.
Parameters
Builder TheScope Function scope.Name Function name.NameLen Length of enumeration name.LinkageName Mangled function name.LinkageNameLen Length of linkage name.File File where this variable is defined.LineNo Line number.Ty Function type.IsLocalToUnit True if this function is not externally visible.IsDefinition True if this is a function definition.ScopeLine Set to the beginning of the scope this startsFlags E.g.: These flags are used to emit dwarf attributes.IsOptimized True if optimization is ON.Defined at line 1162 of file llvm/lib/IR/DebugInfo.cpp
-
DenseMap collectImportStatistics (const ModuleSummaryIndex & Index, const FunctionImporter::ImportMapTy & ImportList)Compute import statistics for each source module in ImportList.
Defined at line 1163 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
void PrintByteList (StringRef Data, raw_ostream & OS, AsmCharLiteralSyntax ACLS)Defined at line 1163 of file llvm/lib/MC/MCAsmStreamer.cpp
-
bool isMDTuple (const Metadata * MD)Defined at line 1164 of file llvm/lib/IR/Verifier.cpp
-
unsigned int TypeSizeToSizeIndex (TypeSize TS)Defined at line 1164 of file llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
-
GVFlags getDecodedGVSummaryFlags (uint64_t RawFlags, uint64_t Version)Decode the flags for GlobalValue in the summary. The bits for each attribute:
linkage: [0,4), notEligibleToImport: 4, live: 5, local: 6, canAutoHide: 7,
visibility: [8, 10).
Defined at line 1165 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
void handleNoSuspendCoroutine (coro::Shape & Shape)Coroutine has no suspend points. Remove heap allocation for the coroutine
frame if possible.
Defined at line 1165 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
const char * LLVMOrcLLJITGetDataLayoutStr (LLVMOrcLLJITRef J)Get the LLJIT instance's default data layout string.
This string is owned by the LLJIT instance and does not need to be freed
by the caller.
Defined at line 1167 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void cloneInstructionsIntoPredecessorBlockAndUpdateSSAUses (BasicBlock * BB, BasicBlock * PredBlock, ValueToValueMapTy & VMap)Defined at line 1167 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool isMultiple (const APInt & C1, const APInt & C2, APInt & Quotient, bool IsSigned)True if C1 is a multiple of C2. Quotient contains C1/C2.
Defined at line 1168 of file llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
-
KnownBits getKnownBitsFromAndXorOr (const Operator * I, const APInt & DemandedElts, const KnownBits & KnownLHS, const KnownBits & KnownRHS, const SimplifyQuery & Q, unsigned int Depth)Defined at line 1168 of file llvm/lib/Analysis/ValueTracking.cpp
-
Intrinsic::ID shouldUpgradeNVPTXBF16Intrinsic (StringRef Name)Defined at line 1168 of file llvm/lib/IR/AutoUpgrade.cpp
-
bool isNF (InternalInstruction * insn)Defined at line 1170 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
bool processBinOp (BinaryOperator * BinOp, LazyValueInfo * LVI)Defined at line 1170 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
void AddRangeMetadata (LLVMContext & Context, MachineInstr * Load)Defined at line 1171 of file llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
-
void initializeDXILResourceWrapperPassPassOnce (PassRegistry & Registry)Defined at line 1172 of file llvm/lib/Analysis/DXILResource.cpp
-
void FindSingleUseMultiplyFactors (Value * V, SmallVectorImpl<Value *> & Factors)If V is a single-use multiply, recursively add its operands as factors,
otherwise add V to the list of factors.
Ops is the top-level list of add operands we're trying to factor.
Defined at line 1172 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
void CheckForUseCFGHazard (Sequence SuccSSeq, const bool SuccSRRIKnownSafe, TopDownPtrState & S, bool & SomeSuccHasSame, bool & AllSuccsHaveSame, bool & NotAllSeqEqualButKnownSafe, bool & ShouldContinue)If we have a top down pointer in the S_Use state, make sure that there are
no CFG hazards by checking the states of various bottom up pointers.
Defined at line 1172 of file llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
-
bool TryToShrinkGlobalToBoolean (GlobalVariable * GV, Constant * OtherVal)At this point, we have learned that the only two values ever stored into GV
are its initializer and OtherVal. See if we can shrink the global into a
boolean and select between the two values whenever it is used. This exposes
the values to other scalar optimizations.
Defined at line 1172 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
Error DebugACrash (BugDriver & BD, BugTester TestFn)DebugACrash - Given a predicate that determines whether a component crashes
on a program, try to destructively reduce the program while still keeping
the predicate true.
Defined at line 1173 of file llvm/tools/bugpoint/CrashDebugger.cpp
-
const ListInit * ConcatListInits (const ListInit * LHS, const ListInit * RHS)Defined at line 1175 of file llvm/lib/TableGen/Record.cpp
-
Value * simplifyRem (BinaryOps Opcode, Value * Op0, Value * Op1, const SimplifyQuery & Q, unsigned int MaxRecurse)These are simplifications common to SRem and URem.
Defined at line 1175 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Value * extractIntPart (const IntPart & P, IRBuilderBase & Builder)Materialize an extraction of bits from an integer in IR.
Defined at line 1177 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
void printrWithDepthHelper (raw_ostream & OS, const SDNode * N, const SelectionDAG * G, unsigned int depth, unsigned int indent)Defined at line 1177 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
-
const char * getAMDProcessorTypeAndSubtype (unsigned int Family, unsigned int Model, const unsigned int * Features, unsigned int * Type, unsigned int * Subtype)Defined at line 1177 of file llvm/lib/TargetParser/Host.cpp
-
void emitKill (const MachineInstr * MI, AsmPrinter & AP)Defined at line 1178 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
bool canUnwindPastLandingPad (const LandingPadInst * LP, bool IncludePhaseOneUnwind)Defined at line 1178 of file llvm/lib/IR/Instruction.cpp
-
void initializeModuleSummaryIndexWrapperPassPassOnce (PassRegistry & Registry)Defined at line 1181 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
bool checkVariableImport (const ModuleSummaryIndex & Index, FunctionImporter::ImportListsTy & ImportLists, DenseMap<StringRef, FunctionImporter::ExportSetTy> & ExportLists)Defined at line 1181 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
void buildDepSet (LazyRandomTypeCollection & Types, ArrayRef Indices, std::map<TypeIndex, CVType> & DepSet)Defined at line 1184 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
bool coalescable (const LiveRange::Segment & A, const LiveRange::Segment & B)Determine if A and B should be coalesced.
Defined at line 1185 of file llvm/lib/CodeGen/LiveInterval.cpp
-
unsigned int getDiscriminatorMask ()Defined at line 1187 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
GVarFlags getDecodedGVarFlags (uint64_t RawFlags)Decode the flags for GlobalVariable in the summary
Defined at line 1187 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
optional getKnownSign (Value * Op, const SimplifyQuery & SQ)Defined at line 1187 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
void printBBName (raw_ostream & out, const BasicBlock * BB)Defined at line 1188 of file llvm/lib/Passes/StandardInstrumentations.cpp
-
Value * likeBitCastFromVector (InstCombinerImpl & IC, Value * V)Look for extractelement/insertvalue sequence that acts like a bitcast.
For example, if we have:
%E0 = extractelement
<
2 x double> %U, i32 0
%V0 = insertvalue [2 x double] undef, double %E0, 0
%E1 = extractelement
<
2 x double> %U, i32 1
%V1 = insertvalue [2 x double] %V0, double %E1, 1
and the layout of a
<
2 x double> is isomorphic to a [2 x double],
then %V1 can be safely approximated by a conceptual "bitcast" of %U.
Note that %U may contain non-undef values where %V1 has undef.
Defined at line 1188 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
Value * OptimizeAndOrXor (unsigned int Opcode, SmallVectorImpl<ValueEntry> & Ops)Optimize a series of operands to an 'and', 'or', or 'xor' instruction.
This optimizes based on identities. If it can be reduced to a single Value,
it is returned, otherwise the Ops list is mutated as necessary.
Defined at line 1188 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
Value * foldIDivShl (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Defined at line 1189 of file llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
-
void writeHexDigit (char * Buffer, uint8_t Digit)Defined at line 1190 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
void IncorporateFunctionInfoGlobalBBIDs (const Function * F, DenseMap<const BasicBlock *, unsigned int> & IDMap)Defined at line 1190 of file llvm/lib/Bitcode/Writer/ValueEnumerator.cpp
-
void emitFakeUse (const MachineInstr * MI, AsmPrinter & AP)Defined at line 1191 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
unsigned int getNsectForSegSect (MachOObjectFile * Obj)getNsectForSegSect() is used to implement the Mach-O "-s segname sectname"
option to dump only those symbols from that section in a Mach-O file.
It is called once for each Mach-O file from getSymbolNamesFromObject()
to get the section number for that named section from the command line
arguments. It returns the section number for that section in the Mach-O
file or zero it is not present.
Defined at line 1192 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
bool areInnerLoopLatchPHIsSupported (Loop * OuterLoop, Loop * InnerLoop)In case of multi-level nested loops, it may occur that lcssa phis exist in
the latch of InnerLoop, i.e., when defs of the incoming values are further
inside the loopnest. Sometimes those incoming values are not available
after interchange, since the original inner latch will become the new outer
latch which may have predecessor paths that do not include those incoming
values.
TODO: Handle transformation of lcssa phis in the InnerLoop latch in case of
multi-level loop nests.
Defined at line 1192 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
Instruction * getInsertPointForUses (Instruction * User, Value * Def, DominatorTree * DT, LoopInfo * LI)Determine the insertion point for this user. By default, insert immediately
before the user. SCEVExpander or LICM will hoist loop invariants out of the
loop. For PHI nodes, there may be multiple uses, so compute the nearest
common dominator for the incoming blocks. A nullptr can be returned if no
viable location is found: it may happen if User is a PHI and Def only comes
to this PHI from unreachable blocks.
Defined at line 1192 of file llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
-
void adjustInstrProfile (std::unique_ptr<WriterContext> & WC, std::unique_ptr<sampleprof::SampleProfileReader> & Reader, unsigned int SupplMinSizeThreshold, float ZeroCounterThreshold, unsigned int InstrProfColdThreshold)Adjust the instr profile in
based on the sample profile in
Defined at line 1193 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
pair getDecodedHotnessCallEdgeInfo (uint64_t RawFlags)Defined at line 1194 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
int getInstructionID (struct InternalInstruction * insn, const MCInstrInfo * mii)Determine the ID of an instruction, consuming the ModR/M byte as appropriate
for extended and escape opcodes. Determines the attributes and context for
the instruction before doing so.
Defined at line 1194 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
void outputHex (OutputBuffer & OB, unsigned int C)Defined at line 1195 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
void computeBaseDerivedRelocateMap (const SmallVectorImpl<GCRelocateInst *> & AllRelocateCalls, int & RelocateInstMap)Computes a map of base pointer relocation instructions to corresponding
derived pointer relocation instructions given a vector of all relocate calls
Defined at line 1197 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
optional CheckLargerCands (IRSimilarityCandidate & CandA, IRSimilarityCandidate & CandB, DenseMap<unsigned int, DenseSet<IRSimilarityCandidate *>> & IndexToIncludedCand, DenseMap<IRSimilarityCandidate *, unsigned int> & CandToGroup)Look for larger IRSimilarityCandidates From the previously matched
IRSimilarityCandidates that fully contain
or
If there is
an overlap, return a pair of structurally similar, larger
IRSimilarityCandidates.
Parameters
CandA [in] - The first candidate we are trying to determine the structure of.CandB [in] - The second candidate we are trying to determine the structure of.IndexToIncludedCand [in] - Mapping of index of the an instruction in a circuit to the IRSimilarityCandidates that include this instruction.CandToOverallGroup [in] - Mapping of IRSimilarityCandidate to a number representing the structural group assigned to it.Defined at line 1198 of file llvm/lib/Analysis/IRSimilarityIdentifier.cpp
-
bool hasCallsInBlockBetween (iterator_range<BasicBlock::iterator> R)SimplifySuspendPoint needs to check that there is no calls between
coro_save and coro_suspend, since any of the calls may potentially resume
the coroutine and if that is the case we cannot eliminate the suspend point.
Defined at line 1199 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
int GetSegmentNames (object::MachOObjectFile * O)Defined at line 1199 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void declare_symbols (LLVMModuleRef Src, LLVMModuleRef M)Defined at line 1199 of file llvm/tools/llvm-c-test/echo.cpp
-
void dumpFullTypeStream (LinePrinter & Printer, LazyRandomTypeCollection & Types, TypeReferenceTracker * RefTracker, uint32_t NumTypeRecords, uint32_t NumHashBuckets, FixedStreamArray HashValues, TpiStream * Stream, bool Bytes, bool Extras)Defined at line 1200 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
Error checkTwoLevelHintsCommand (const MachOObjectFile & Obj, const MachOObjectFile::LoadCommandInfo & Load, uint32_t LoadCommandIndex, const char ** LoadCmd, std::list<MachOElement> & Elements)Defined at line 1200 of file llvm/lib/Object/MachOObjectFile.cpp
-
bool isEFLAGSDefLive (const MachineInstr & MI)Returns true if the MI has EFLAGS as a register def operand and it's live,
otherwise it returns false
Defined at line 1201 of file llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
-
optional getKnownSignOrZero (Value * Op, const SimplifyQuery & SQ)Defined at line 1201 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
void initializeDXILResourceBindingWrapperPassPassOnce (PassRegistry & Registry)Defined at line 1202 of file llvm/lib/Analysis/DXILResource.cpp
-
void getDecodedRelBFCallEdgeInfo (uint64_t RawFlags, uint64_t & RelBF, bool & HasTailCall)Defined at line 1202 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
LLVMValueRef getMDNodeOperandImpl (LLVMContext & Context, const MDNode * N, unsigned int Index)--.. Operations on Users .................................................--
Defined at line 1202 of file llvm/lib/IR/Core.cpp
-
bool processAnd (BinaryOperator * BinOp, LazyValueInfo * LVI)Defined at line 1204 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
Mapper * getAsMapper (void * pImpl)Defined at line 1207 of file llvm/lib/Transforms/Utils/ValueMapper.cpp
-
uint8_t getElfSymbolType (const ObjectFile & Obj, const SymbolRef & Sym)Defined at line 1207 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void initializeStackSafetyInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 1208 of file llvm/lib/Analysis/StackSafetyAnalysis.cpp
-
bool isOpDefinedInBlock (Value * Op, BasicBlock * BB)Return true if Op is an instruction defined in the given block.
Defined at line 1209 of file llvm/lib/Transforms/Scalar/JumpThreading.cpp
-
bool isEFLAGSLive (MachineBasicBlock & MBB, int I, const TargetRegisterInfo & TRI)Defined at line 1209 of file llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
-
void CheckForCanReleaseCFGHazard (Sequence SuccSSeq, const bool SuccSRRIKnownSafe, TopDownPtrState & S, bool & SomeSuccHasSame, bool & AllSuccsHaveSame, bool & NotAllSeqEqualButKnownSafe)If we have a Top Down pointer in the S_CanRelease state, make sure that
there are no CFG hazards by checking the states of various bottom up
pointers.
Defined at line 1209 of file llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
-
bool emitDebugValueComment (const MachineInstr * MI, AsmPrinter & AP)emitDebugValueComment - This method handles the target-independent form
of DBG_VALUE, returning true if it was able to do so. A false return
means the target will need to handle MI in EmitInstruction.
Defined at line 1209 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
bool isLifetimeStart (const Instruction * Inst)Defined at line 1210 of file llvm/lib/Transforms/Scalar/GVN.cpp
-
VisibilityTypes getDecodedVisibility (unsigned int Val)Defined at line 1210 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
Value * canonicalizeSaturatedAdd (ICmpInst * Cmp, Value * TVal, Value * FVal, InstCombiner::BuilderTy & Builder)Defined at line 1210 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
Value * concatenateTwoVectors (IRBuilderBase & Builder, Value * V1, Value * V2)A helper function for concatenating vectors. This function concatenates two
vectors having the same element type. If the second vector has fewer
elements than the first, it is padded with undefs.
Defined at line 1210 of file llvm/lib/Analysis/VectorUtils.cpp
-
bool hasCallsInBlocksBetween (BasicBlock * SaveBB, BasicBlock * ResDesBB)Defined at line 1211 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
Value * simplifySDivInst (Value * Op0, Value * Op1, bool IsExact, const SimplifyQuery & Q, unsigned int MaxRecurse)Given operands for an SDiv, see if we can fold the result.
If not, this returns null.
Defined at line 1212 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
unsigned int getNsectInMachO (MachOObjectFile & Obj, BasicSymbolRef Sym)getNsectInMachO() is used to implement the Mach-O "-s segname sectname"
option to dump only those symbols from that section in a Mach-O file.
It is called once for each symbol in a Mach-O file from
getSymbolNamesFromObject() and returns the section number for that symbol
if it is in a section, else it returns 0.
Defined at line 1212 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
LaneBitmask findUseBetween (VirtRegOrUnit VRegOrUnit, LaneBitmask LastUseMask, SlotIndex PriorUseIdx, SlotIndex NextUseIdx, const MachineRegisterInfo & MRI, const LiveIntervals * LIS)Helper to find a vreg use between two indices [PriorUseIdx, NextUseIdx).
The query starts with a lane bitmask which gets lanes/bits removed for every
use we find.
Defined at line 1213 of file llvm/lib/CodeGen/RegisterPressure.cpp
-
void PrintChainedFixupsHeader (const MachO::dyld_chained_fixups_header & H)Defined at line 1213 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool signBitMustBeTheSame (Value * Op0, Value * Op1, const SimplifyQuery & SQ)Return true if two values
and
are known to have the same sign.
Defined at line 1214 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
bool allowPGOOutlining (RunOutliner RunOutlinerMode, const ProfileSummaryInfo * PSI, const BlockFrequencyInfo * BFI, MachineBasicBlock & MBB)Defined at line 1214 of file llvm/lib/CodeGen/MachineOutliner.cpp
-
void initializeStackSafetyGlobalInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 1215 of file llvm/lib/Analysis/StackSafetyAnalysis.cpp
-
void initializeLoopInfoWrapperPassPassOnce (PassRegistry & Registry)Defined at line 1216 of file llvm/lib/Analysis/LoopInfo.cpp
-
bool sectionWithinSegment (const SectionBase & Sec, const Segment & Seg)Returns true IFF a section is wholly inside the range of a segment
Defined at line 1216 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
void simplifyRecipe (VPSingleDefRecipe * Def, VPTypeAnalysis & TypeInfo)Try to simplify VPSingleDefRecipe
Defined at line 1216 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
bool liesBetween (const Instruction * From, Instruction * Between, const Instruction * To, const DominatorTree * DT)Assuming To can be reached from both From and Between, does Between lie on
every path from From to To?
Defined at line 1218 of file llvm/lib/Transforms/Scalar/GVN.cpp
-
Value * getValueFwdRef (BitcodeReaderValueList & ValueList, unsigned int Idx, Type * Ty, unsigned int TyID)Defined at line 1218 of file llvm/lib/Bitcode/Reader/MetadataLoader.cpp
-
DLLStorageClassTypes getDecodedDLLStorageClass (unsigned int Val)Defined at line 1219 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
void eraseDebugIntrinsicsWithNonLocalRefs (Function & F)Erase debug info intrinsics which refer to values in
but aren't in
Defined at line 1219 of file llvm/lib/Transforms/Utils/CodeExtractor.cpp
-
void dumpPartialTypeStream (LinePrinter & Printer, LazyRandomTypeCollection & Types, TypeReferenceTracker * RefTracker, TpiStream & Stream, ArrayRef TiList, bool Bytes, bool Extras, bool Deps)Defined at line 1219 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
void emitDirectivesClangImpl (const DirectiveLanguage & DirLang, raw_ostream & OS)Generate the implementation section for the enumeration in the directive
language
Defined at line 1221 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
void freeset (struct parse * , cset * )- freeset - free a now-unused set
Defined at line 1221 of file llvm/lib/Support/regcomp.c
-
void runMRIScript ()Defined at line 1183 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
void disallowOrcOptions ()Defined at line 1187 of file llvm/tools/lli/lli.cpp
-
Expected launchRemote ()Defined at line 1206 of file llvm/tools/lli/lli.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned int Line, unsigned int Column)Create a descriptor for a lexical block with the specified parent context.
Parameters
Builder TheScope Parent lexical block.File Source file.Line The line in the source file.Column The column in the source file.Defined at line 1177 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateLexicalBlockFile (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned int Discriminator)Create a descriptor for a lexical block with a new file attached.
Parameters
Builder TheScope Lexical block.File Source file.Discriminator DWARF path discriminator value.Defined at line 1185 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromNamespace (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef NS, LLVMMetadataRef File, unsigned int Line)Create a descriptor for an imported namespace. Suitable for e.g. C++
using declarations.
Parameters
Builder TheScope The scope this module is imported intoFile File where the declaration is located.Line Line number of the declaration.Defined at line 1195 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromAlias (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef ImportedEntity, LLVMMetadataRef File, unsigned int Line, LLVMMetadataRef * Elements, unsigned int NumElements)Create a descriptor for an imported module that aliases another
imported entity descriptor.
Parameters
Builder TheScope The scope this module is imported intoImportedEntity Previous imported entity to alias.File File where the declaration is located.Line Line number of the declaration.Elements Renamed elements.NumElements Number of renamed elements.Defined at line 1207 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromModule (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef M, LLVMMetadataRef File, unsigned int Line, LLVMMetadataRef * Elements, unsigned int NumElements)Create a descriptor for an imported module.
Parameters
Builder TheScope The scope this module is imported intoM The module being imported hereFile File where the declaration is located.Line Line number of the declaration.Elements Renamed elements.NumElements Number of renamed elements.Defined at line 1220 of file llvm/lib/IR/DebugInfo.cpp
-
template <typename T>bool hasCalleePopSRet (const SmallVectorImpl<T> & Args, const X86Subtarget & Subtarget)Determines whether Args, either a set of outgoing arguments to a call, or a
set of incoming args of a call, contains an sret pointer that the callee
pops
Defined at line 1221 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
void outputEscapedChar (OutputBuffer & OB, unsigned int C)Defined at line 1221 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
void dumpSymbolsFromDLInfoMachO (MachOObjectFile & MachO, int & SymbolList)Defined at line 1222 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
Instruction * canonicalizeLowbitMask (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Fold
(1
<
<
NBits) - 1
Into:
~(-(1
<
<
NBits))
Because a 'not' is better for bit-tracking analysis and other transforms
than an 'add'. The new shl is always nsw, and is nuw if old `and` was.
Defined at line 1223 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
void initializeEarlyIfPredicatorPassOnce (PassRegistry & Registry)Defined at line 1224 of file llvm/lib/CodeGen/EarlyIfConversion.cpp
-
Value * foldAbsDiff (ICmpInst * Cmp, Value * TVal, Value * FVal, InstCombiner::BuilderTy & Builder)Try to match patterns with select and subtract as absolute difference.
Defined at line 1225 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
BasicBlock * buildClonedLoopBlocks (Loop & L, BasicBlock * LoopPH, BasicBlock * SplitBB, ArrayRef ExitBlocks, BasicBlock * ParentBB, BasicBlock * UnswitchedSuccBB, BasicBlock * ContinueSuccBB, const SmallDenseMap<BasicBlock *, BasicBlock *, 16> & DominatingSucc, ValueToValueMapTy & VMap, SmallVectorImpl<DominatorTree::UpdateType> & DTUpdates, AssumptionCache & AC, DominatorTree & DT, LoopInfo & LI, MemorySSAUpdater * MSSAU, ScalarEvolution * SE)Build the cloned blocks for an unswitched copy of the given loop.
The cloned blocks are inserted before the loop preheader (`LoopPH`) and
after the split block (`SplitBB`) that will be used to select between the
cloned and original loop.
This routine handles cloning all of the necessary loop blocks and exit
blocks including rewriting their instructions and the relevant PHI nodes.
Any loop blocks or exit blocks which are dominated by a different successor
than the one for this clone of the loop blocks can be trivially skipped. We
use the `DominatingSucc` map to determine whether a block satisfies that
property with a simple map lookup.
It also correctly creates the unconditional branch in the cloned
unswitched parent block to only point at the unswitched successor.
This does not handle most of the necessary updates to `LoopInfo`. Only exit
block splitting is correctly reflected in `LoopInfo`, essentially all of
the cloned blocks (and their loops) are left without full `LoopInfo`
updates. This also doesn't fully update `DominatorTree`. It adds the cloned
blocks to them but doesn't create the cloned `DominatorTree` structure and
instead the caller must recompute an accurate DT. It *does* correctly
update the `AssumptionCache` provided in `AC`.
Defined at line 1226 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
bool processTrunc (TruncInst * TI, LazyValueInfo * LVI)Defined at line 1227 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
Instruction * moveAddAfterMinMax (IntrinsicInst * II, InstCombiner::BuilderTy & Builder)Try to canonicalize min/max(X + C0, C1) as min/max(X, C1 - C0) + C0. This
can trigger other combines.
Defined at line 1227 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
const Instruction * findMayClobberedPtrAccess (LoadInst * Load, const DominatorTree * DT)Defined at line 1227 of file llvm/lib/Transforms/Scalar/GVN.cpp
-
Value * simplifyUDivInst (Value * Op0, Value * Op1, bool IsExact, const SimplifyQuery & Q, unsigned int MaxRecurse)Given operands for a UDiv, see if we can fold the result.
If not, this returns null.
Defined at line 1228 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void UpdatePHINodes (BasicBlock * OrigBB, BasicBlock * NewBB, ArrayRef Preds, BranchInst * BI, bool HasLoopExit)Update the PHI nodes in OrigBB to include the values coming from NewBB.
This also updates AliasAnalysis, if available.
Defined at line 1228 of file llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
-
bool getDecodedDSOLocal (unsigned int Val)Defined at line 1229 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
template <class ELFT>void addDynamicElfSymbols (const ELFObjectFile<ELFT> & Obj, int & AllSymbols)Defined at line 1229 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
use_iterator_impl skipToNextUser (use_iterator_impl I, use_iterator_impl End)Defined at line 1230 of file llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
-
bool getGEPSmallConstantIntOffsetV (GetElementPtrInst * GEP, SmallVectorImpl<Value *> & OffsetV)Accepts a GEP and extracts the operands into a vector provided they're all
small integer constants
Defined at line 1232 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
void emitDirectivesFlangImpl (const DirectiveLanguage & DirLang, raw_ostream & OS)Generate the implementation section for the enumeration in the directive
language
Defined at line 1232 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateImportedDeclaration (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef Decl, LLVMMetadataRef File, unsigned int Line, const char * Name, size_t NameLen, LLVMMetadataRef * Elements, unsigned int NumElements)Create a descriptor for an imported function, type, or variable. Suitable
for e.g. FORTRAN-style USE declarations.
Parameters
Builder The DIBuilder.Scope The scope this module is imported into.Decl The declaration (or definition) of a function, type, or variable.File File where the declaration is located.Line Line number of the declaration.Name A name that uniquely identifies this imported declaration.NameLen The length of the C string passed toElements Renamed elements.NumElements Number of renamed elements.Defined at line 1233 of file llvm/lib/IR/DebugInfo.cpp
-
SDValue SaturateWidenedDIVFIX (SDValue V, SDLoc & dl, unsigned int SatW, bool Signed, const TargetLowering & TLI, SelectionDAG & DAG)Defined at line 1234 of file llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
-
bool compareByScalarFnName (const VecDesc & LHS, const VecDesc & RHS)Defined at line 1235 of file llvm/lib/Analysis/TargetLibraryInfo.cpp
-
bool matchICmpOperand (APInt & Offset, Value * LHS, Value * Val, Predicate Pred)Defined at line 1235 of file llvm/lib/Analysis/LazyValueInfo.cpp
-
optional getDecodedCodeModel (unsigned int Val)Defined at line 1237 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
Value * createAndInstr (ilist_iterator_w_bits InsertBefore, Value * Opnd, const APInt & ConstOpnd)Helper function of CombineXorOpnd(). It creates a bitwise-and
instruction with the given two operands, and return the resulting
instruction. There are two special cases: 1) if the constant operand is 0,
it will return NULL. 2) if the constant is ~0, the symbolic operand will
be returned.
Defined at line 1238 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
const SCEV * getSignedOverflowLimitForStep (const SCEV * Step, ICmpInst::Predicate * Pred, ScalarEvolution * SE)Get the limit of a recurrence such that incrementing by Step cannot cause
signed overflow as long as the value of the recurrence within the
loop does not exceed this limit before incrementing.
Defined at line 1238 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void fixupDebugInfoPostExtraction (Function & OldFunc, Function & NewFunc, CallInst & TheCall, const SetVector<Value *> & Inputs, ArrayRef NewValues)Fix up the debug info in the old and new functions. Following changes are
done.
1. If a debug record points to a value that has been replaced, update the
record to use the new value.
2. If an Input value that has been replaced was used as a location of a
debug record in the Parent function, then materealize a similar record in
the new function.
3. Point line locations and debug intrinsics to the new subprogram scope
4. Remove intrinsics which point to values outside of the new function.
Defined at line 1238 of file llvm/lib/Transforms/Utils/CodeExtractor.cpp
-
bool compareByVectorFnName (const VecDesc & LHS, const VecDesc & RHS)Defined at line 1239 of file llvm/lib/Analysis/TargetLibraryInfo.cpp
-
bool isLoadCommandObsolete (uint32_t cmd)Returns true if the libObject code does not support the load command and its
contents. The cmd value it is treated as an unknown load command but with
an error message that says the cmd value is obsolete.
Defined at line 1239 of file llvm/lib/Object/MachOObjectFile.cpp
-
KnownBits computeKnownBitsForHorizontalOperation (const Operator * I, const APInt & DemandedElts, const SimplifyQuery & Q, unsigned int Depth, const function_ref<KnownBits (const KnownBits &, const KnownBits &)> KnownBitsFunc)Defined at line 1239 of file llvm/lib/Analysis/ValueTracking.cpp
-
void addArgumentAttrs (const SCCNodeSet & SCCNodes, SmallPtrSet<Function *, 8> & Changed, bool SkipInitializes)Deduce nocapture attributes for the SCC.
Defined at line 1239 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
Value * simplifySRemInst (Value * Op0, Value * Op1, const SimplifyQuery & Q, unsigned int MaxRecurse)Given operands for an SRem, see if we can fold the result.
If not, this returns null.
Defined at line 1240 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool hasCallsBetween (Instruction * Save, Instruction * ResumeOrDestroy)Defined at line 1240 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
Instruction * foldToUnsignedSaturatedAdd (BinaryOperator & I)Defined at line 1241 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
bool consumeNVVMPtrAddrSpace (StringRef & Name)Defined at line 1242 of file llvm/lib/IR/AutoUpgrade.cpp
-
bool compareWithScalarFnName (const VecDesc & LHS, StringRef S)Defined at line 1243 of file llvm/lib/Analysis/TargetLibraryInfo.cpp
-
void initializeImmutableModuleSummaryIndexWrapperPassPassOnce (PassRegistry & Registry)Defined at line 1244 of file llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
-
bool segmentOverlapsSegment (const Segment & Child, const Segment & Parent)Returns true IFF a segment's original offset is inside of another segment's
range.
Defined at line 1246 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
Value * getAISize (LLVMContext & Context, Value * Amt)===----------------------------------------------------------------------===//
AllocaInst Implementation
===----------------------------------------------------------------------===//
Defined at line 1246 of file llvm/lib/IR/Instructions.cpp
-
bool simplifyRelocatesOffABase (GCRelocateInst * RelocatedBase, const SmallVectorImpl<GCRelocateInst *> & Targets)Takes a RelocatedBase (base pointer relocation instruction) and Targets to
replace, computes a replacement, and affects it.
Defined at line 1248 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
bool upgradeIntrinsicFunction1 (Function * F, Function *& NewFn, bool CanUpgradeDebugIntrinsicsToRecords)Defined at line 1248 of file llvm/lib/IR/AutoUpgrade.cpp
-
bool combineStoreToValueType (InstCombinerImpl & IC, StoreInst & SI)Combine stores to match the type of value being stored.
The core idea here is that the memory does not have any intrinsic type and
where we can we should match the type of a store to the type of value being
stored.
However, this routine must never change the width of a store or the number of
stores as that would introduce a semantic change. This combine is expected to
be a semantic no-op which just allows stores to more closely model the types
of their incoming values.
Currently, we also refuse to change the precise type used for an atomic or
volatile store. This is debatable, and might be reasonable to change later.
However, it is risky in case some backend or other part of LLVM is relying
on the exact type stored to select appropriate atomic operations.
Defined at line 1249 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
void printSpillReloadChain (int & SpillChain, int & ReloadChain, MachineInstr * Leader)Defined at line 1250 of file llvm/lib/CodeGen/MachineCopyPropagation.cpp
-
Error emitDebugSectionImpl (const DWARFYAML::Data & DI, StringRef Sec, StringMap<std::unique_ptr<MemoryBuffer>> & OutputBuffers)Defined at line 1250 of file llvm/lib/ObjectYAML/DWARFEmitter.cpp
-
template <typename ItTy, typename EltTy>bool rangeOnlyContains (ItTy Start, ItTy End, EltTy Elt)===----------------------------------------------------------------------===//
ConstantXXX Classes
===----------------------------------------------------------------------===//
Defined at line 1252 of file llvm/lib/IR/Constants.cpp
-
void parseArgs (int Argc, char ** Argv)Defined at line 1252 of file llvm/tools/sancov/sancov.cpp
-
bool compareSegmentsByOffset (const Segment * A, const Segment * B)Defined at line 1253 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
void generateClauseClassMacro (const DirectiveLanguage & DirLang, raw_ostream & OS)Defined at line 1253 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
ThreadLocalMode getDecodedThreadLocalMode (unsigned int Val)Defined at line 1254 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
bool runImpl (Function & F, LazyValueInfo * LVI, DominatorTree * DT, const SimplifyQuery & SQ)Defined at line 1255 of file llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
-
SDValue CreateCopyOfByValArgument (SDValue Src, SDValue Dst, SDValue Chain, ArgFlagsTy Flags, SelectionDAG & DAG, const SDLoc & dl)Make a copy of an aggregate at address specified by "Src" to address
"Dst" with size and alignment information specified by the specific
parameter attribute. The copy will be passed as a byval function parameter.
Defined at line 1256 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
bool isArchSpecifierInvalidOrMissing (Binary * Bin, StringRef Arch)Determine whether
is invalid or empty, given
Defined at line 1256 of file llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
-
void PrintChainedFixupsSegment (const ChainedFixupsSegment & Segment, StringRef SegName)Defined at line 1257 of file llvm/tools/llvm-objdump/MachODump.cpp
-
const SCEV * getUnsignedOverflowLimitForStep (const SCEV * Step, ICmpInst::Predicate * Pred, ScalarEvolution * SE)Get the limit of a recurrence such that incrementing by Step cannot cause
unsigned overflow as long as the value of the recurrence within the loop does
not exceed this limit before incrementing.
Defined at line 1258 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
Align computeAllocaDefaultAlign (Type * Ty, InsertPosition Pos)Defined at line 1258 of file llvm/lib/IR/Instructions.cpp
-
void addDynamicElfSymbols (const ELFObjectFileBase & Obj, int & AllSymbols)Defined at line 1258 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void findExtractedOutputToOverallOutputMapping (Module & M, OutlinableRegion & Region, SetVector<Value *> & Outputs)Create a mapping of the output arguments for the
to the output
arguments of the overall outlined function.
Parameters
Region [in,out] - The region of code to be analyzed.Outputs [in] - The values found by the code extractor.Defined at line 1259 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
template <typename SequentialTy, typename ElementTy>Constant * getIntSequenceIfElementsMatch (ArrayRef V)Defined at line 1260 of file llvm/lib/IR/Constants.cpp
-
Value * simplifyURemInst (Value * Op0, Value * Op1, const SimplifyQuery & Q, unsigned int MaxRecurse)Given operands for a URem, see if we can fold the result.
If not, this returns null.
Defined at line 1261 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
SDValue earlyExpandDIVFIX (SDNode * N, SDValue LHS, SDValue RHS, unsigned int Scale, const TargetLowering & TLI, SelectionDAG & DAG, unsigned int SatW)Defined at line 1262 of file llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
-
bool isContiguous (const ConstantRange & A, const ConstantRange & B)Defined at line 1263 of file llvm/lib/IR/Metadata.cpp
-
bool IsEmptyBlock (MachineBasicBlock * MBB)Blocks should be considered empty if they contain only debug info;
else the debug info would affect codegen.
Defined at line 1265 of file llvm/lib/CodeGen/BranchFolding.cpp
-
UnnamedAddr getDecodedUnnamedAddrType (unsigned int Val)Defined at line 1265 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
bool canBeMerged (const ConstantRange & A, const ConstantRange & B)Defined at line 1267 of file llvm/lib/IR/Metadata.cpp
-
Instruction * combineAddSubWithShlAddSub (InstCombiner::BuilderTy & Builder, const BinaryOperator & I)Transform:
(add A, (shl (neg B), Y))
-> (sub A, (shl B, Y))
Defined at line 1267 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
bool simplifySuspendPoint (CoroSuspendInst * Suspend, CoroBeginInst * CoroBegin)If a SuspendIntrin is preceded by Resume or Destroy, we can eliminate the
suspend point and replace it with nornal control flow.
Defined at line 1267 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
bool canGuaranteeTCO (CallingConv::ID CC)Return true if the calling convention is one that we can guarantee TCO for.
Defined at line 1268 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
StringRef getOpcodeString (KindTy Kind)Defined at line 1268 of file llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
-
void replaceExitCond (BranchInst * BI, Value * NewCond, SmallVectorImpl<WeakTrackingVH> & DeadInsts)Defined at line 1269 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
unsigned int countTrailingNullBytes (const uint8_t * StringBytes, int Length)Defined at line 1269 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
unsigned int calculateSetFPREG (uint64_t SPAdjust)Defined at line 1270 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
optional getDagArgNoByKey (const DagInit * Dag, const Init * Key, std::string & Error)Defined at line 1270 of file llvm/lib/TableGen/Record.cpp
-
bool IsBranchOnlyBlock (MachineBasicBlock * MBB)Blocks with only debug info and branches should be considered the same
as blocks with only branches.
Defined at line 1271 of file llvm/lib/CodeGen/BranchFolding.cpp
-
bool tryMergeRange (SmallVectorImpl<ConstantInt *> & EndPoints, ConstantInt * Low, ConstantInt * High)Defined at line 1271 of file llvm/lib/IR/Metadata.cpp
-
bool isPoisonShift (Value * Amount, const SimplifyQuery & Q)Returns true if a shift by
always yields poison.
Defined at line 1271 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
unsigned int getEncodedLinkage (LinkageTypes Linkage)Defined at line 1272 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool isMips64EL (const ELFYAML::Object & Obj)Defined at line 1273 of file llvm/lib/ObjectYAML/ELFEmitter.cpp
-
std::optional<SectionRef> getWasmCodeSection (const WasmObjectFile & Obj)Defined at line 1273 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
template <typename SequentialTy, typename ElementTy>Constant * getFPSequenceIfElementsMatch (ArrayRef V)Defined at line 1273 of file llvm/lib/IR/Constants.cpp
-
std::pair<bool, bool> mustSwapOperands (unsigned int Pattern)Return a pair of boolean flags showing if the new root and new prev operands
must be swapped. See visual example of the rule in
TargetInstrInfo::getReassociationOpcodes.
Defined at line 1273 of file llvm/lib/CodeGen/TargetInstrInfo.cpp
-
MVT getPhysicalRegisterVT (SDNode * N, unsigned int Reg, const TargetInstrInfo * TII)getPhysicalRegisterVT - Returns the ValueType of the physical register
definition of the specified node.
FIXME: Move to SelectionDAG?
Defined at line 1273 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
void findCandidateStructures (std::vector<IRSimilarityCandidate> & CandsForRepSubstring, DenseMap<unsigned int, SimilarityGroup> & StructuralGroups, DenseMap<unsigned int, DenseSet<IRSimilarityCandidate *>> & IndexToIncludedCand, DenseMap<IRSimilarityCandidate *, unsigned int> & CandToOverallGroup)From the list of IRSimilarityCandidates, perform a comparison between each
IRSimilarityCandidate to determine if there are overlapping
IRInstructionData, or if they do not have the same structure.
Parameters
CandsForRepSubstring [in] - The vector containing the IRSimilarityCandidates.StructuralGroups [out] - the mapping of unsigned integers to vector of IRSimilarityCandidates where each of the IRSimilarityCandidates in the vector are structurally similar to one another.IndexToIncludedCand [in] - Mapping of index of the an instruction in a circuit to the IRSimilarityCandidates that include this instruction.CandToOverallGroup [in] - Mapping of IRSimilarityCandidate to a number representing the structural group assigned to it.Defined at line 1273 of file llvm/lib/Analysis/IRSimilarityIdentifier.cpp
-
bool handleGenericOption (StringRef arg)Defined at line 1274 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
int getDecodedCastOpcode (unsigned int Val)Defined at line 1274 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
bool mayTailCallThisCC (CallingConv::ID CC)Return true if we might ever do TCO for calls with this calling convention.
Defined at line 1275 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
void combineIRFlags (Instruction & From, Value * To)Defined at line 1276 of file llvm/lib/Transforms/Scalar/EarlyCSE.cpp
-
Value * foldAndOrOfICmpsWithConstEq (ICmpInst * Cmp0, ICmpInst * Cmp1, bool IsAnd, bool IsLogical, InstCombiner::BuilderTy & Builder, const SimplifyQuery & Q, Instruction & I)Reduce logic-of-compares with equality to a constant by substituting a
common operand with the constant. Callers are expected to call this with
Cmp0/Cmp1 switched to handle logic op commutativity.
Defined at line 1276 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool removeDeadSegment (SlotIndex Def, LiveRange & LR)Defined at line 1278 of file llvm/lib/CodeGen/SplitKit.cpp
-
Constant * createFoldedExitCond (const Loop * L, BasicBlock * ExitingBB, bool IsTaken)Defined at line 1279 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
unsigned int countEmbeddedNulls (const uint8_t * StringBytes, unsigned int Length)Defined at line 1280 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
bool isShuffleEquivalentToSelect (ShuffleVectorInst & Shuf)Defined at line 1280 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
Instruction * foldAddToAshr (BinaryOperator & Add)Try to reduce signed division by power-of-2 to an arithmetic shift right.
Defined at line 1280 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
Value * simplifyUsingControlFlow (InstCombiner & Self, PHINode & PN, const DominatorTree & DT)Defined at line 1280 of file llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
-
bool IsBetterFallthrough (MachineBasicBlock * MBB1, MachineBasicBlock * MBB2)IsBetterFallthrough - Return true if it would be clearly better to
fall-through to MBB1 than to fall through into MBB2. This has to return
a strict ordering, returning true for both (MBB1,MBB2) and (MBB2,MBB1) will
result in infinite loops.
Defined at line 1281 of file llvm/lib/CodeGen/BranchFolding.cpp
-
void addMissingWasmCodeSymbols (const WasmObjectFile & Obj, int & AllSymbols)Defined at line 1282 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void setupBBInfoEdges (const FuncPGOInstrumentation<PGOUseEdge, PGOUseBBInfo> & FuncInfo)Set up InEdges/OutEdges for all BBs in the MST.
Defined at line 1283 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
void reportMayClobberedLoad (LoadInst * Load, MemDepResult DepInfo, const DominatorTree * DT, OptimizationRemarkEmitter * ORE)Try to locate the three instruction involved in a missed
load-elimination case that is due to an intervening store.
Defined at line 1283 of file llvm/lib/Transforms/Scalar/GVN.cpp
-
void PrintChainedFixupTarget (ChainedFixupTarget & Target, size_t Idx, int Format, MachOObjectFile * O)Defined at line 1285 of file llvm/tools/llvm-objdump/MachODump.cpp
-
Error getGlobalSymtabLocAndSize (const MemoryBufferRef & Data, uint64_t GlobalSymtabOffset, const char *& GlobalSymtabLoc, uint64_t & Size, const char * BitMessage)Defined at line 1285 of file llvm/lib/Object/Archive.cpp
-
BitModeTy getBitMode (const char * RawBitMode)Defined at line 1286 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
template <typename SequenceTy>Constant * getSequenceIfElementsMatch (Constant * C, ArrayRef V)Defined at line 1286 of file llvm/lib/IR/Constants.cpp
-
bool unpackStoreToAggregate (InstCombinerImpl & IC, StoreInst & SI)Defined at line 1287 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
void foldExit (const Loop * L, BasicBlock * ExitingBB, bool IsTaken, SmallVectorImpl<WeakTrackingVH> & DeadInsts)Defined at line 1288 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
const SCEV * minusSCEVNoSignedOverflow (const SCEV * A, const SCEV * B, ScalarEvolution & SE)Returns
-
if it guaranteed not to signed wrap. Otherwise returns
nullptr.
and
must have the same integer type.
Defined at line 1289 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
void addRange (SmallVectorImpl<ConstantInt *> & EndPoints, ConstantInt * Low, ConstantInt * High)Defined at line 1290 of file llvm/lib/IR/Metadata.cpp
-
void KnuthDiv (uint32_t * u, uint32_t * v, uint32_t * q, uint32_t * r, unsigned int m, unsigned int n)Implementation of Knuth's Algorithm D (Division of nonnegative integers)
from "Art of Computer Programming, Volume 2", section 4.3.1, p. 272. The
variables here have the same names as in the algorithm. Comments explain
the algorithm and any deviation from it.
Defined at line 1290 of file llvm/lib/Support/APInt.cpp
-
bool isTriviallyReplaceablePHI (const PHINode & PN, const Instruction & I)Returns true if a PHINode is a trivially replaceable with an
Instruction.
This is true when all incoming values are that instruction.
This pattern occurs most often with LCSSA PHI nodes.
Defined at line 1292 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
bool isInSymtab (const MCSymbolWasm & Sym)Defined at line 1292 of file llvm/lib/MC/WasmObjectWriter.cpp
-
optional getRangeViaSLT (Predicate Pred, APInt RHS, function_ref<std::optional<ConstantRange> (const APInt &)> Fn)Defined at line 1292 of file llvm/lib/Analysis/LazyValueInfo.cpp
-
unsigned int guessCharByteSize (const uint8_t * StringBytes, unsigned int NumChars, uint64_t NumBytes)A mangled (non-wide) string literal stores the total length of the string it
refers to (passed in NumBytes), and it contains up to 32 bytes of actual text
(passed in StringBytes, NumChars).
Defined at line 1293 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
int getDecodedUnaryOpcode (unsigned int Val, Type * Ty)Defined at line 1294 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
int getDataAlignmentFactor (MCStreamer & streamer)Defined at line 1295 of file llvm/lib/MC/MCDwarf.cpp
-
bool definesFullReg (const MachineInstr & MI, Register Reg)Returns true if
defines the full vreg
as opposed to just
defining a subregister.
Defined at line 1295 of file llvm/lib/CodeGen/RegisterCoalescer.cpp
-
basic_string getVarName (InstrProfInstBase * Inc, StringRef Prefix, bool & Renamed)Get the name of a profiling variable for a particular function.
Defined at line 1295 of file llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
-
const char * matchFlagWithArg (StringRef Expected, ArrayRef<const char *>::iterator & ArgIt, ArrayRef Args)Defined at line 1295 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
void CheckForLiveRegDef (SUnit * SU, MCRegister Reg, SUnit ** LiveRegDefs, int & RegAdded, SmallVectorImpl<unsigned int> & LRegs, const TargetRegisterInfo * TRI, const SDNode * Node)CheckForLiveRegDef - Return true and update live register vector if the
specified register def of the specified SUnit clobbers any "live" registers.
Defined at line 1295 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
std::optional<std::pair<Value *, Value *>> matchSymmetricPhiNodesPair (PHINode * LHS, PHINode * RHS)Defined at line 1295 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
void replaceLoopPHINodesWithPreheaderValues (LoopInfo * LI, Loop * L, SmallVectorImpl<WeakTrackingVH> & DeadInsts, ScalarEvolution & SE)Defined at line 1295 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
bool shouldGuaranteeTCO (CallingConv::ID CC, bool GuaranteedTailCallOpt)Return true if the function is being made into a tailcall target by
changing its ABI.
Defined at line 1297 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
BasicBlock * SplitBlockPredecessorsImpl (BasicBlock * BB, ArrayRef Preds, const char * Suffix, DomTreeUpdater * DTU, DominatorTree * DT, LoopInfo * LI, MemorySSAUpdater * MSSAU, bool PreserveLCSSA)Defined at line 1297 of file llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
-
const SCEV * mulSCEVNoSignedOverflow (const SCEV * A, const SCEV * B, ScalarEvolution & SE)Returns
*
if it guaranteed not to signed wrap. Otherwise returns
nullptr.
and
must have the same integer type.
Defined at line 1298 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
bool hasOnlyUniformBranches (Region * R, unsigned int UniformMDKindID, const UniformityInfo & UA)Defined at line 1298 of file llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
-
unsigned int getEncodedLinkage (const GlobalValue & GV)Defined at line 1300 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
Libcall findFPToIntLibcall (EVT SrcVT, EVT RetVT, EVT & Promoted, bool Signed)Even if the result type is legal, no libcall may exactly match. (e.g. We
don't have FP-i8 conversions) This helper method looks for an appropriate
promoted libcall.
Defined at line 1300 of file llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
-
bool isFoldableInLoop (const Instruction & I, const Loop * CurLoop, const TargetTransformInfo * TTI)Return true if the instruction is foldable in the loop.
Defined at line 1301 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
void copyDebugInfoToPredecessor (const TargetInstrInfo * TII, MachineBasicBlock & MBB, MachineBasicBlock & PredMBB)Defined at line 1302 of file llvm/lib/CodeGen/BranchFolding.cpp
-
Value * simplifyShift (BinaryOps Opcode, Value * Op0, Value * Op1, bool IsNSW, const SimplifyQuery & Q, unsigned int MaxRecurse)Given operands for an Shl, LShr or AShr, see if we can fold the result.
If not, this returns null.
Defined at line 1302 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Value * findDominatingValue (const MemoryLocation & Loc, Type * LoadTy, Instruction * From, AAResults * AA)Find non-clobbered value for Loc memory location in extended basic block
(chain of basic blocks with single predecessors) starting From instruction.
Defined at line 1303 of file llvm/lib/Transforms/Scalar/GVN.cpp
-
void removeDebugInstrs (MachineFunction & mf)Defined at line 1304 of file llvm/lib/CodeGen/LiveDebugVariables.cpp
-
uint64_t getEncodedFFlags (FFlags Flags)Defined at line 1304 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
unsigned int getSizeForEncoding (MCStreamer & streamer, unsigned int symbolEncoding)Defined at line 1305 of file llvm/lib/MC/MCDwarf.cpp
-
void PrintChainedFixups (MachOObjectFile * O)Defined at line 1305 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool hasAtLeastTwoBiasedBranches (CHRScope * Scope)Defined at line 1307 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
void findBasePointers (const int & live, int & PointerToBase, DominatorTree * DT, int & DVCache, int & KnownBases)For a set of live pointers (base and/or derived), identify the base
pointer of the object which they are derived from. This routine will
mutate the IR graph as needed to make the 'base' pointer live at the
definition site of 'derived'. This ensures that any use of 'derived' can
also use 'base'. This may involve the insertion of a number of
additional PHI nodes.
preconditions: live is a set of pointer type Values
side effects: may insert PHI nodes into the existing CFG, will preserve
CFG, will not remove or mutate any existing nodes
post condition: PointerToBase contains one (derived, base) pair for every
pointer in live. Note that derived can be equal to base if the original
pointer was a base pointer.
Defined at line 1307 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
Instruction * foldSelectCtlzToCttz (ICmpInst * ICI, Value * TrueVal, Value * FalseVal, InstCombiner::BuilderTy & Builder)Fold the following code sequence:
Defined at line 1307 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
int getDecodedBinaryOpcode (unsigned int Val, Type * Ty)Defined at line 1308 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
Instruction * foldInsSequenceIntoSplat (InsertElementInst & InsElt)Turn a chain of inserts that splats a value into an insert + shuffle:
insertelt(insertelt(insertelt(insertelt X, %k, 0), %k, 1), %k, 2) ... ->
shufflevector(insertelt(X, %k, 0), poison, zero)
Defined at line 1308 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
const SCEV * absSCEVNoSignedOverflow (const SCEV * A, ScalarEvolution & SE)Returns the absolute value of
In the context of dependence analysis,
we need an absolute value in a mathematical sense. If
is the signed
minimum value, we cannot represent it unless extending the original type.
Thus if we cannot prove that
is not the signed minimum value, returns
nullptr.
Defined at line 1310 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
bool addCalls (VTableSlotInfo & SlotInfo, const ValueInfo & Callee)Defined at line 1310 of file llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
-
bool isSectionReferenced (MCAssembler & Asm, MCSectionWasm & Section)Defined at line 1311 of file llvm/lib/MC/WasmObjectWriter.cpp
-
bool isSanitizer (Kind Kind)Defined at line 1313 of file llvm/lib/AsmParser/LLParser.cpp
-
void dumpImportListForModule (const ModuleSummaryIndex & Index, StringRef ModulePath, FunctionImporter::ImportMapTy & ImportList)Defined at line 1313 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
ValueLatticeElement getValueFromICmpCtpop (Predicate Pred, Value * RHS)Get value range for a "ctpop(Val) Pred RHS" condition.
Defined at line 1313 of file llvm/lib/Analysis/LazyValueInfo.cpp
-
void copyDebugInfoToSuccessor (const TargetInstrInfo * TII, MachineBasicBlock & MBB, MachineBasicBlock & SuccMBB)Defined at line 1314 of file llvm/lib/CodeGen/BranchFolding.cpp
-
int getSectionNames (const ObjectFile & Obj)Defined at line 1314 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
bool shouldRecordFunctionAddr (Function * F)Defined at line 1314 of file llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
-
int sancov_main (int argc, char ** , const llvm::ToolContext & )Defined at line 1342 of file llvm/tools/sancov/sancov.cpp
-
int showMain (int argc, const char *[] argv)The main entry point for the 'show' subcommand.
Defined at line 1365 of file llvm/tools/llvm-cov/CodeCoverage.cpp
-
Error elf2yaml (llvm::raw_ostream & Out, const llvm::object::ObjectFile & Obj)Defined at line 1697 of file llvm/tools/obj2yaml/elf2yaml.cpp
-
int reportMain (int argc, const char *[] argv)The main entry point for the 'report' subcommand.
Defined at line 1370 of file llvm/tools/llvm-cov/CodeCoverage.cpp
-
int exportMain (int argc, const char *[] argv)The main entry point for the 'export' subcommand.
Defined at line 1375 of file llvm/tools/llvm-cov/CodeCoverage.cpp
-
int llvm_echo ()echo.c
Defined at line 1620 of file llvm/tools/llvm-c-test/echo.cpp
-
Value * simplifyAndInst (Value * , Value * , const SimplifyQuery & , unsigned int )Given operands for an And, see if we can fold the result.
If not, this returns null.
Defined at line 2072 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool overreadUndefContents (MemorySSA * MSSA, MemCpyInst * MemCpy, MemIntrinsic * MemSrc, BatchAAResults & BAA)If the memcpy is larger than the previous, but the memory was undef prior to
that, we can just ignore the tail. Technically we're only interested in the
bytes from 0..MemSrcOffset and MemSrcLength+MemSrcOffset..CopySize here, but
as we can't easily represent this location (hasUndefContents uses mustAlias
which cannot deal with offsets), we use the full 0..CopySize range.
Defined at line 1411 of file llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-
bool isNotUsedOrFoldableInLoop (const Instruction & I, const Loop * CurLoop, const LoopSafetyInfo * SafetyInfo, TargetTransformInfo * TTI, bool & FoldableInLoop, bool LoopNestMode)Return true if the only users of this instruction are outside of
the loop. If this is true, we can sink the instruction to the exit
blocks of the loop.
We also return true if the instruction could be folded away in lowering.
(e.g., a GEP can be folded into a load as an addressing mode in the loop).
Defined at line 1331 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
void hoist (Instruction & I, const DominatorTree * DT, const Loop * CurLoop, BasicBlock * Dest, ICFLoopSafetyInfo * SafetyInfo, MemorySSAUpdater & MSSAU, ScalarEvolution * SE, OptimizationRemarkEmitter * ORE)When an instruction is found to only use loop invariant operands that
is safe to hoist, this instruction is called to do the dirty work.
Defined at line 1683 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
bool sink (Instruction & I, LoopInfo * LI, DominatorTree * DT, const Loop * CurLoop, ICFLoopSafetyInfo * SafetyInfo, MemorySSAUpdater & MSSAU, OptimizationRemarkEmitter * ORE)When an instruction is found to only be used outside of the loop, this
function moves it to the exit blocks and patches up SSA form as needed.
This method is guaranteed to remove the original instruction from its
position, and may either delete it or move it to outside of the loop.
Defined at line 1577 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
bool isSafeToExecuteUnconditionally (Instruction & Inst, const DominatorTree * DT, const TargetLibraryInfo * TLI, const Loop * CurLoop, const LoopSafetyInfo * SafetyInfo, OptimizationRemarkEmitter * ORE, const Instruction * CtxI, AssumptionCache * AC, bool AllowSpeculation)Only sink or hoist an instruction if it is not a trapping instruction,
or if the instruction is known not to trap when moved to the preheader.
or if it is a trapping instruction and is guaranteed to execute.
Defined at line 1730 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
Instruction * cloneInstructionInExitBlock (Instruction & I, BasicBlock & ExitBlock, PHINode & PN, const LoopInfo * LI, const LoopSafetyInfo * SafetyInfo, MemorySSAUpdater & MSSAU)Defined at line 1373 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
void eraseInstruction (Instruction & I, ICFLoopSafetyInfo & SafetyInfo, MemorySSAUpdater & MSSAU)Defined at line 1450 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
void moveInstructionBefore (Instruction & I, ilist_iterator_w_bits Dest, ICFLoopSafetyInfo & SafetyInfo, MemorySSAUpdater & MSSAU, ScalarEvolution * SE)Defined at line 1457 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
void foreachMemoryAccess (MemorySSA * MSSA, Loop * L, function_ref<void (Instruction *)> Fn)Defined at line 2227 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
int freezeset (struct parse * , cset * )Defined at line 1241 of file llvm/lib/Support/regcomp.c
-
int firstch (struct parse * , cset * )Defined at line 1271 of file llvm/lib/Support/regcomp.c
-
int nch (struct parse * , cset * )- nch - number of characters in a set
Defined at line 1286 of file llvm/lib/Support/regcomp.c
-
SmallVector<PointersAndHasReadsOutsideSet, 0> collectPromotionCandidates (MemorySSA * MSSA, AliasAnalysis * AA, Loop * L)The bool indicates whether there might be reads outside the set, in which
case only loads may be promoted.
Defined at line 2238 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
void mcadd (struct parse * , cset * , const char * )- mcadd - add a collating element to a cset
Defined at line 1300 of file llvm/lib/Support/regcomp.c
-
void mcinvert (struct parse * , cset * )- mcinvert - invert the list of collating elements in a cset
This would have to know the set of possibilities. Implementation
is deferred.
ARGSUSED
Defined at line 1325 of file llvm/lib/Support/regcomp.c
-
void mccase (struct parse * , cset * )- mccase - add case counterparts of the list of collating elements in a cset
This would have to know the set of possibilities. Implementation
is deferred.
ARGSUSED
Defined at line 1336 of file llvm/lib/Support/regcomp.c
-
int isinsets (struct re_guts * , int )Defined at line 1343 of file llvm/lib/Support/regcomp.c
-
int samesets (struct re_guts * , int , int )Defined at line 1359 of file llvm/lib/Support/regcomp.c
-
void categorize (struct parse * , struct re_guts * )- categorize - sort out character categories
Defined at line 1376 of file llvm/lib/Support/regcomp.c
-
sopno dupl (struct parse * , sopno , sopno )Defined at line 1399 of file llvm/lib/Support/regcomp.c
-
void doemit (struct parse * , sop , size_t )- doemit - emit a strip operator
It might seem better to implement this as a macro with a function as
hard-case backup, but it's just too big and messy unless there are
some changes to the data structures. Maybe later.
Defined at line 1424 of file llvm/lib/Support/regcomp.c
-
void doinsert (struct parse * , sop , size_t , sopno )- doinsert - insert a sop into the strip
Defined at line 1444 of file llvm/lib/Support/regcomp.c
-
void dofwd (struct parse * , sopno , sop )- dofwd - complete a forward reference
Defined at line 1477 of file llvm/lib/Support/regcomp.c
-
void enlarge (struct parse * , sopno )- enlarge - enlarge the strip
Defined at line 1489 of file llvm/lib/Support/regcomp.c
-
void stripsnug (struct parse * , struct re_guts * )- stripsnug - compact the strip
Defined at line 1512 of file llvm/lib/Support/regcomp.c
-
void findmust (struct parse * , struct re_guts * )- findmust - fill in must and mlen with longest mandatory literal string
This algorithm could do fancy things like analyzing the operands of |
for common subsequences. Someday. This code is simple and finds most
of the interesting cases.
Note that must and mlen got initialized during setup.
Defined at line 1536 of file llvm/lib/Support/regcomp.c
-
sopno pluscount (struct parse * , struct re_guts * )Defined at line 1611 of file llvm/lib/Support/regcomp.c
-
LLVMMetadataRef LLVMDIBuilderCreateDebugLocation (LLVMContextRef Ctx, unsigned int Line, unsigned int Column, LLVMMetadataRef Scope, LLVMMetadataRef InlinedAt)Creates a new DebugLocation that describes a source location.
Parameters
Line The line in the source file.Column The column in the source file.Scope The scope in which the location resides.InlinedAt The scope where this location was inlined, if at all. (optional).Defined at line 1246 of file llvm/lib/IR/DebugInfo.cpp
-
unsigned int LLVMDILocationGetLine (LLVMMetadataRef Location)Get the line number of this debug location.
Parameters
Location The debug location.Defined at line 1254 of file llvm/lib/IR/DebugInfo.cpp
-
unsigned int LLVMDILocationGetColumn (LLVMMetadataRef Location)Get the column number of this debug location.
Parameters
Location The debug location.Defined at line 1258 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDILocationGetScope (LLVMMetadataRef Location)Get the local scope associated with this debug location.
Parameters
Location The debug location.Defined at line 1262 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDILocationGetInlinedAt (LLVMMetadataRef Location)Get the "inline at" location associated with this debug location.
Parameters
Location The debug location.Defined at line 1266 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIScopeGetFile (LLVMMetadataRef Scope)Get the metadata of the file associated with a given scope.
Parameters
Scope The scope object.Defined at line 1270 of file llvm/lib/IR/DebugInfo.cpp
-
const char * LLVMDIFileGetDirectory (LLVMMetadataRef File, unsigned int * Len)Get the directory of a given file.
Parameters
File The file object.Len The length of the returned string.Defined at line 1274 of file llvm/lib/IR/DebugInfo.cpp
-
const char * LLVMDIFileGetFilename (LLVMMetadataRef File, unsigned int * Len)Get the name of a given file.
Parameters
File The file object.Len The length of the returned string.Defined at line 1280 of file llvm/lib/IR/DebugInfo.cpp
-
const char * LLVMDIFileGetSource (LLVMMetadataRef File, unsigned int * Len)Get the source of a given file.
Parameters
File The file object.Len The length of the returned string.Defined at line 1286 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIBuilderGetOrCreateTypeArray (LLVMDIBuilderRef Builder, LLVMMetadataRef * Data, size_t NumElements)Create a type array.
Parameters
Builder The DIBuilder.Data The type elements.NumElements Number of type elements.Defined at line 1684 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateSubroutineType (LLVMDIBuilderRef Builder, LLVMMetadataRef File, LLVMMetadataRef * ParameterTypes, unsigned int NumParameterTypes, Flags)Create subroutine type.
Parameters
Builder The DIBuilder.File The file in which the subroutine resides.ParameterTypes An array of subroutine parameter types. This includes return type at 0th index.NumParameterTypes The number of parameter types inFlags E.g.: These flags are used to emit dwarf attributes.Defined at line 1691 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateMacro (LLVMDIBuilderRef Builder, LLVMMetadataRef ParentMacroFile, unsigned int Line, RecordType, const char * Name, size_t NameLen, const char * Value, size_t ValueLen)Create debugging information entry for a macro.
Parameters
Builder The DIBuilder.ParentMacroFile Macro parent (could be NULL).Line Source line number where the macro is defined.RecordType DW_MACINFO_define or DW_MACINFO_undef.Name Macro name.NameLen Macro name length.Value Macro value.ValueLen Macro value length.Defined at line 1295 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateTempMacroFile (LLVMDIBuilderRef Builder, LLVMMetadataRef ParentMacroFile, unsigned int Line, LLVMMetadataRef File)Create debugging information temporary entry for a macro file.
List of macro node direct children will be calculated by DIBuilder,
using the
relationship.
Parameters
Builder The DIBuilder.ParentMacroFile Macro parent (could be NULL).Line Source line number where the macro file is included.File File descriptor containing the name of the macro file.Defined at line 1307 of file llvm/lib/IR/DebugInfo.cpp
-
Value * optimizeMemCmpVarSize (CallInst * CI, Value * LHS, Value * RHS, Value * Size, bool StrNCmp, IRBuilderBase & B, const DataLayout & DL)Optimize a memcmp or, when StrNCmp is true, strncmp call CI with constant
arrays LHS and RHS and nonconstant Size.
Defined at line 1504 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateEnumerator (LLVMDIBuilderRef Builder, const char * Name, size_t NameLen, int64_t Value, LLVMBool IsUnsigned)Create debugging information entry for an enumerator.
Parameters
Builder The DIBuilder.Name Enumerator name.NameLen Length of enumerator name.Value Enumerator value.IsUnsigned True if the value is unsigned.Defined at line 1315 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMOrcIndirectStubsManagerRef LLVMOrcCreateLocalIndirectStubsManager (const char * TargetTriple)Create a LocalIndirectStubsManager from the given target triple.
The resulting IndirectStubsManager is owned by the client
and must be disposed of by calling LLVMOrcDisposeDisposeIndirectStubsManager.
Defined at line 1171 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void LLVMOrcDisposeIndirectStubsManager (LLVMOrcIndirectStubsManagerRef ISM)Dispose of an IndirectStubsManager.
Defined at line 1177 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
LLVMErrorRef LLVMOrcCreateLocalLazyCallThroughManager (const char * TargetTriple, LLVMOrcExecutionSessionRef ES, LLVMOrcJITTargetAddress ErrorHandlerAddr, LLVMOrcLazyCallThroughManagerRef * LCTM)Defined at line 1181 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
void LLVMOrcDisposeLazyCallThroughManager (LLVMOrcLazyCallThroughManagerRef LCTM)Dispose of an LazyCallThroughManager.
Defined at line 1194 of file llvm/lib/ExecutionEngine/Orc/OrcV2CBindings.cpp
-
cl::TokenizerCallback getRspQuoting (ArrayRef ArgsArr)Defined at line 1315 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
void emitDirectivesBasicImpl (const DirectiveLanguage & DirLang, raw_ostream & OS)Generate the implemenation for the enumeration in the directive
language. This code can be included in library.
Defined at line 1315 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
FunctionType * makeDoubleDouble (LLVMContext & C)Defined at line 1316 of file llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
-
Align computeLoadStoreDefaultAlign (Type * Ty, InsertPosition Pos)Defined at line 1316 of file llvm/lib/IR/Instructions.cpp
-
bool emitDebugLabelComment (const MachineInstr * MI, AsmPrinter & AP)This method handles the target-independent form of DBG_LABEL, returning
true if it was able to do so. A false return means the target will need
to handle MI in EmitInstruction.
Defined at line 1316 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
FunctionType * makeX86FP80X86FP80 (LLVMContext & C)Defined at line 1320 of file llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
-
const char * getGroupType (uint32_t Flag)Defined at line 1321 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
void CheckForLiveRegDefMasked (SUnit * SU, const uint32_t * RegMask, ArrayRef<SUnit *> LiveRegDefs, int & RegAdded, SmallVectorImpl<unsigned int> & LRegs)CheckForLiveRegDefMasked - Check for any live physregs that are clobbered
by RegMask, and add them to LRegs.
Defined at line 1321 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
uint64_t getEncodedGVSummaryFlags (GVFlags Flags, bool ImportAsDecl)Decode the flags for GlobalValue in the summary. See getDecodedGVSummaryFlags
in BitcodeReader.cpp.
Defined at line 1321 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool isDependenceTestEnabled (DependenceTestType Test)Returns true iff
is enabled.
Defined at line 1323 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateEnumeratorOfArbitraryPrecision (LLVMDIBuilderRef Builder, const char * Name, size_t NameLen, uint64_t SizeInBits, const uint64_t[] Words, LLVMBool IsUnsigned)Create debugging information entry for an enumerator of arbitrary precision.
Parameters
Builder The DIBuilder.Name Enumerator name.NameLen Length of enumerator name.SizeInBits Number of bits of the value.Words The words that make up the value.IsUnsigned True if the value is unsigned.Defined at line 1323 of file llvm/lib/IR/DebugInfo.cpp
-
void appendGlobalSymbolTableInfo (SmallVector<GlobalSymtabInfo> & SymtabInfos, const char * GlobalSymtabLoc, uint64_t Size)Defined at line 1323 of file llvm/lib/Object/Archive.cpp
-
void findBasePointers (DominatorTree & DT, int & DVCache, CallBase * Call, PartiallyConstructedSafepointRecord & result, int & PointerToBase, int & KnownBases)Find the required based pointers (and adjust the live set) for the given
parse point.
Defined at line 1324 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
FunctionType * makeDoubleDoubleI32 (LLVMContext & C)Defined at line 1325 of file llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
-
void emitFDESymbol (MCObjectStreamer & streamer, const MCSymbol & symbol, unsigned int symbolEncoding, bool isEH)Defined at line 1326 of file llvm/lib/MC/MCDwarf.cpp
-
Instruction * foldClampRangeOfTwo (IntrinsicInst * II, InstCombiner::BuilderTy & Builder)If we have a clamp pattern like max (min X, 42), 41 -- where the output
can only be one of two possible constant values -- turn that into a select
of constants.
Defined at line 1326 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
unsigned int decodeMultiByteChar (const uint8_t * StringBytes, unsigned int CharIndex, unsigned int CharBytes)Defined at line 1327 of file llvm/lib/Demangle/MicrosoftDemangle.cpp
-
void addPltEntries (const MCSubtargetInfo & STI, const ObjectFile & Obj, int & SectionNames, int & AllSymbols, StringSaver & Saver)Defined at line 1327 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void simplifySuspendPoints (coro::Shape & Shape)Remove suspend points that are simplified.
Defined at line 1327 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
void ARM64ProcessEpilogs (WinEH::FrameInfo * info, WinEH::FrameInfo::Segment * Seg, uint32_t & TotalCodeBytes, MapVector<MCSymbol *, uint32_t> & EpilogInfo)Defined at line 1328 of file llvm/lib/MC/MCWin64EH.cpp
-
FunctionType * makeX86FP80X86FP80I32 (LLVMContext & C)Defined at line 1330 of file llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
-
template <typename ExtendOpTy>const SCEV * getPreStartForExtend (const SCEVAddRecExpr * AR, Type * Ty, ScalarEvolution * SE, unsigned int Depth)The recurrence AR has been shown to have no signed/unsigned wrap or something
close to it. Typically, if we can prove NSW/NUW for AR, then we can just as
easily prove NSW/NUW for its preincrement or postincrement sibling. This
allows normalizing a sign/zero extended AddRec as such: {sext/zext(Step +
Start),+,Step} => {(Step + sext/zext(Start),+,Step} As a result, the
expression "Step + sext/zext(PreIncAR)" is congruent with
"sext/zext(PostIncAR)"
Defined at line 1330 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateEnumerationType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, LLVMMetadataRef File, unsigned int LineNumber, uint64_t SizeInBits, uint32_t AlignInBits, LLVMMetadataRef * Elements, unsigned int NumElements, LLVMMetadataRef ClassTy)Create debugging information entry for an enumeration.
Parameters
Builder The DIBuilder.Scope Scope in which this enumeration is defined.Name Enumeration name.NameLen Length of enumeration name.File File where this member is defined.LineNumber Line number.SizeInBits Member size.AlignInBits Member alignment.Elements Enumeration elements.NumElements Number of enumeration elements.ClassTy Underlying type of a C++11/ObjC fixed enum.Defined at line 1332 of file llvm/lib/IR/DebugInfo.cpp
-
bool CheckBaseRegAndIndexRegAndScale (MCRegister BaseReg, MCRegister IndexReg, unsigned int Scale, bool Is64BitMode, StringRef & ErrMsg)Defined at line 1332 of file llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
-
void salvageDebugInfoFromEmptyBlock (const TargetInstrInfo * TII, MachineBasicBlock & MBB)Try to salvage DBG_VALUE instructions from an otherwise empty block. If such
a basic block is removed we would lose the debug information unless we have
copied the information to a predecessor/successor.
TODO: This function only handles some simple cases. An alternative would be
to run a heavier analysis, such as the LiveDebugValues pass, before we do
branch folding.
Defined at line 1333 of file llvm/lib/CodeGen/BranchFolding.cpp
-
Value * createInvariantCond (const Loop * L, BasicBlock * ExitingBB, const ScalarEvolution::LoopInvariantPredicate & LIP, SCEVExpander & Rewriter)Defined at line 1333 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
ConstantFP * flushDenormalConstant (Type * Ty, const APFloat & APF, DenormalModeKind Mode)Defined at line 1333 of file llvm/lib/Analysis/ConstantFolding.cpp
-
Expected createTempFile (StringRef FinalPath, uint64_t Size)Defined at line 1333 of file llvm/lib/CAS/OnDiskGraphDB.cpp
-
bool deleteIfDead (GlobalValue & GV, SmallPtrSetImpl<const Comdat *> & NotDiscardableComdats, function_ref<void (Function &)> DeleteFnCallback)Defined at line 1333 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool isSignedMinMaxClamp (const Value * Select, const Value *& In, const APInt *& CLow, const APInt *& CHigh)Match a signed min+max clamp pattern like smax(smin(In, CHigh), CLow).
Returns the input and lower/upper bounds.
Defined at line 1334 of file llvm/lib/Analysis/ValueTracking.cpp
-
FunctionType * makeDoubleDoubleDouble (LLVMContext & C)Defined at line 1336 of file llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
-
const uint32_t * getNodeRegMask (const SDNode * N)getNodeRegMask - Returns the register mask attached to an SDNode, if any.
Defined at line 1336 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
int ar_main (int argc, char ** argv)Defined at line 1337 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
void dumpUnpackedICmp (raw_ostream & OS, Predicate Pred, Value * LHS, Value * RHS)Defined at line 1338 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
void EmitPersonality (MCStreamer & streamer, const MCSymbol & symbol, unsigned int symbolEncoding)Defined at line 1340 of file llvm/lib/MC/MCDwarf.cpp
-
SMRange ProcessMatchResult (MatchType MatchTy, const SourceMgr & SM, SMLoc Loc, FileCheckType CheckTy, StringRef Buffer, size_t Pos, size_t Len, std::vector<FileCheckDiag> * Diags, bool AdjustPrevDiags)Defined at line 1340 of file llvm/lib/FileCheck/FileCheck.cpp
-
void ComputeCrossModuleImportForModuleForTest (StringRef ModulePath, function_ref isPrevailing, const ModuleSummaryIndex & Index, FunctionImporter::ImportMapTy & ImportList)Compute all the imports for the given module using the Index.
is a callback that will be called with a global value's GUID
and summary and should return whether the module corresponding to the
summary contains the linker-prevailing copy of that value.
will be populated with a map that can be passed to
FunctionImporter::importFunctions() above (see description there).
Defined at line 1340 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
FunctionType * makeX86FP80X86FP80X86FP80 (LLVMContext & C)Defined at line 1341 of file llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
-
SmallVector<Function *, 1> GetFunctions (Any IR)Defined at line 1342 of file llvm/lib/Passes/StandardInstrumentations.cpp
-
uint64_t getEncodedGVarFlags (GVarFlags Flags)Defined at line 1343 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateSetType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, LLVMMetadataRef File, unsigned int LineNumber, uint64_t SizeInBits, uint32_t AlignInBits, LLVMMetadataRef BaseTy)Create debugging information entry for a set.
Parameters
Builder The DIBuilder.Scope The scope in which the set is defined.Name A name that uniquely identifies this set.NameLen The length of the C string passed toFile File where the set is located.Line Line number of the declaration.SizeInBits Set size.AlignInBits Set alignment.BaseTy The base type of the set.Defined at line 1344 of file llvm/lib/IR/DebugInfo.cpp
-
void PrintDyldInfo (MachOObjectFile * O)Defined at line 1345 of file llvm/tools/llvm-objdump/MachODump.cpp
-
BinOp getDecodedRMWOperation (unsigned int Val)Defined at line 1346 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
FunctionType * makeDoubleDoubleDoubleDouble (LLVMContext & C)Defined at line 1347 of file llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
-
void movePHIValuesToInsertedBlock (BasicBlock * SuccBB, BasicBlock * InsertedBB, BasicBlock * PredBB, PHINode * UntilPHI)Moves the values in the PHIs in SuccBB that correspong to PredBB into a new
PHI in InsertedBB.
Defined at line 1347 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
size_t TypeStoreSizeToSizeIndex (uint32_t TypeSize)Defined at line 1348 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
uint64_t getEncodedHotnessCallEdgeInfo (const CalleeInfo & CI)Defined at line 1349 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool TestForOptimizerCrash (const BugDriver & BD, Module * M)Defined at line 1350 of file llvm/tools/bugpoint/CrashDebugger.cpp
-
Value * foldSelectCttzCtlz (ICmpInst * ICI, Value * TrueVal, Value * FalseVal, InstCombinerImpl & IC)Attempt to fold a cttz/ctlz followed by a icmp plus select into a single
call to cttz/ctlz with flag 'is_zero_poison' cleared.
For example, we can fold the following code sequence:
Defined at line 1350 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool shouldUsePublicSymbol (Function * Fn)Defined at line 1351 of file llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
-
std::optional<Value *> createReplacement (ICmpInst * ICmp, const Loop * L, BasicBlock * ExitingBB, const SCEV * MaxIter, bool Inverted, bool SkipLastIter, ScalarEvolution * SE, SCEVExpander & Rewriter)Defined at line 1352 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
void checkMachOComdat (const GlobalValue * GV)Defined at line 1353 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateSubrangeType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, unsigned int LineNo, LLVMMetadataRef File, uint64_t SizeInBits, uint32_t AlignInBits, Flags, LLVMMetadataRef BaseTy, LLVMMetadataRef LowerBound, LLVMMetadataRef UpperBound, LLVMMetadataRef Stride, LLVMMetadataRef Bias)Create a descriptor for a subrange with dynamic bounds.
Parameters
Builder The DIBuilder.Scope The scope in which the subrange is defined.Name A name that uniquely identifies this subrange.NameLen The length of the C string passed toLineNo Line number.File File where the subrange is located.SizeInBits Member size.AlignInBits Member alignment.Flags Flags.BaseTy The base type of the subrange. eg integer or enumerationLowerBound Lower bound of the subrange.UpperBound Upper bound of the subrange.Stride Stride of the subrange.Bias Bias of the subrange.Defined at line 1353 of file llvm/lib/IR/DebugInfo.cpp
-
void getAvailableFeatures (unsigned int ECX, unsigned int EDX, unsigned int MaxLeaf, unsigned int * Features)Defined at line 1353 of file llvm/lib/TargetParser/Host.cpp
-
bool canUseReferenceType (const DbgVariableLocation & Loc)Defined at line 1354 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
FunctionType * makeX86FP80X86FP80X86FP80X86FP80 (LLVMContext & C)Defined at line 1354 of file llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
-
void recomputeLiveInValues (Function & F, DominatorTree & DT, ArrayRef<CallBase *> toUpdate, MutableArrayRef<struct PartiallyConstructedSafepointRecord> records, int & PointerToBase, GCStrategy * GC)Defined at line 1354 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool GlobalWasGeneratedByCompiler (GlobalVariable * G)Check if
has been created by a trusted compiler pass.
Defined at line 1355 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
DenormalMode getInstrDenormalMode (const Instruction * CtxI, Type * Ty)Return the denormal mode that can be assumed when executing a floating point
operation at
Defined at line 1356 of file llvm/lib/Analysis/ConstantFolding.cpp
-
bool foldMemChr (CallInst * Call, DomTreeUpdater * DTU, const DataLayout & DL)Convert memchr with a small constant string into a switch
Defined at line 1356 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
size_t getPageSize ()Defined at line 1357 of file llvm/lib/CAS/OnDiskGraphDB.cpp
-
size_t countSkippableZeroBytes (ArrayRef Buf)Normally the disassembly output will skip blocks of zeroes. This function
returns the number of zero bytes that can be skipped when dumping the
disassembly of the instructions in Buf.
Defined at line 1357 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
unsigned int X86ChooseCmpOpcode (EVT VT, const X86Subtarget * Subtarget)Defined at line 1357 of file llvm/lib/Target/X86/X86FastISel.cpp
-
bool needsReferenceType (const DbgVariableLocation & Loc)Defined at line 1358 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
bool isBuildVectorOp (unsigned int Opcode)Defined at line 1358 of file llvm/lib/CodeGen/GlobalISel/Utils.cpp
-
uint64_t getEncodedRelBFCallEdgeInfo (const CalleeInfo & CI)Defined at line 1358 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
void initializeInterleavedLoadCombinePassOnce (PassRegistry & Registry)Defined at line 1359 of file llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
-
bool MayContainThrowingOrExitingCallAfterCB (CallBase * Begin, ReturnInst * End)Defined at line 1359 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
void initializeX86LowerAMXTypeLegacyPassPassOnce (PassRegistry & Registry)Defined at line 1360 of file llvm/lib/Target/X86/X86LowerAMXType.cpp
-
ConstantFP * flushDenormalConstantFP (ConstantFP * CFP, const Instruction * Inst, bool IsOutput)Defined at line 1362 of file llvm/lib/Analysis/ConstantFolding.cpp
-
void emitDirectivesImpl (const RecordKeeper & Records, raw_ostream & OS)Generate the implemenation section for the enumeration in the directive
language.
Defined at line 1362 of file llvm/utils/TableGen/Basic/DirectiveEmitter.cpp
-
bool isSignedMinMaxIntrinsicClamp (const IntrinsicInst * II, const APInt *& CLow, const APInt *& CHigh)Defined at line 1363 of file llvm/lib/Analysis/ValueTracking.cpp
-
void mergePdbs ()Defined at line 1364 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
bool checkNoWrapFlags (Instruction * I, bool Signed)Defined at line 1365 of file llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
-
bool isPointerValueDeadOnEntryToFunction (const Function * F, GlobalValue * GV, function_ref<DominatorTree &(Function &)> LookupDomTree)Defined at line 1365 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
void rewritePHIsForCleanupPad (BasicBlock * CleanupPadBB, CleanupPadInst * CleanupPad)Rewrites the PHI Nodes in a cleanuppad.
Defined at line 1365 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
int getAllPredicates (ArrayRef<TransVariant> Variants, unsigned int ProcId)Defined at line 1366 of file llvm/utils/TableGen/Common/CodeGenSchedule.cpp
-
void ComputeCrossModuleImportForModuleFromIndexForTest (StringRef ModulePath, const ModuleSummaryIndex & Index, FunctionImporter::ImportMapTy & ImportList)Mark all external summaries in
for import into the given module.
Used for testing the case of distributed builds using a distributed index.
will be populated with a map that can be passed to
FunctionImporter::importFunctions() above (see description there).
Defined at line 1366 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
Value * reassociateMinMaxWithConstants (IntrinsicInst * II, IRBuilderBase & Builder, const SimplifyQuery & SQ)If this min/max has a constant operand and an operand that is a matching
min/max with a constant operand, constant-fold the 2 constant operands.
Defined at line 1366 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
bool isDefinedInsideLoopRegions (const VPValue * VPV)Returns true if there is a vector loop region and
is defined in a
loop region.
Defined at line 1367 of file llvm/lib/Transforms/Vectorize/VPlan.cpp
-
LLVMNamedMDNodeRef LLVMGetFirstNamedMetadata (LLVMModuleRef M)Obtain an iterator to the first NamedMDNode in a Module.
Defined at line 1367 of file llvm/lib/IR/Core.cpp
-
unsigned int getEncodedVisibility (const GlobalValue & GV)Defined at line 1367 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
PointerUnion unwrapExprVar (LLVMMetadataRef MD)MD may be nullptr, a DIExpression or DIVariable.
Defined at line 1367 of file llvm/lib/IR/DebugInfo.cpp
-
void generateReproducer (CmpInst * Cond, Module * M, ArrayRef<ReproducerEntry> Stack, ConstraintInfo & Info, DominatorTree & DT)Helper function to generate a reproducer function for simplifying
The reproducer function contains a series of
.assume calls, one for
each condition in
For each condition, the operand instruction are
cloned until we reach operands that have an entry in
Those
will then be added as function arguments.
is used to order cloned
instructions. The reproducer function will get added to
if it is
non-null. Otherwise no reproducer function is generated.
Defined at line 1369 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
bool checkIfSafeAddSequence (const APInt & IdxDiff, Instruction * AddOpA, unsigned int MatchingOpIdxA, Instruction * AddOpB, unsigned int MatchingOpIdxB, bool Signed)Defined at line 1371 of file llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
-
bool isSwiftError (const Value * V)Defined at line 1372 of file llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
-
bool hasExceptionPointerOrCodeUser (const CatchPadInst * CPI)Defined at line 1372 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
Value * simplifyRightShift (BinaryOps Opcode, Value * Op0, Value * Op1, bool IsExact, const SimplifyQuery & Q, unsigned int MaxRecurse)Given operands for an LShr or AShr, see if we can fold the result. If not,
this returns null.
Defined at line 1372 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Instruction * rematerializeChain (ArrayRef<Instruction *> ChainToBase, ilist_iterator_w_bits InsertBefore, Value * RootOfChain, Value * AlternateLiveBase)Utility function which clones all instructions from "ChainToBase"
and inserts them before "InsertBefore". Returns rematerialized value
which should be used after statepoint.
Defined at line 1372 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void ARM64FindSegmentsInFunction (MCStreamer & streamer, WinEH::FrameInfo * info, int64_t RawFuncLength)Defined at line 1372 of file llvm/lib/MC/MCWin64EH.cpp
-
void AddParamAndFnBasicAttributes (const CallBase & CB, ValueToValueMapTy & VMap, ClonedCodeInfo & InlinedFunctionInfo)Add attributes from CB params and Fn attributes that can always be propagated
to the corresponding argument / inner callbases.
Defined at line 1372 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
bool isUnsupportedAMDGPUAddrspace (Value * Addr)Defined at line 1373 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
void targetParallelCallback (OpenMPIRBuilder * OMPIRBuilder, Function & OutlinedFn, Function * OuterFn, BasicBlock * OuterAllocaBB, Value * Ident, Value * IfCondition, Value * NumThreads, Instruction * PrivTID, AllocaInst * PrivTIDAddr, Value * ThreadID, const SmallVector<Instruction *, 4> & ToBeDeleted)Callback used to create OpenMP runtime calls to support
omp parallel clause for the device.
We need to use this callback to replace call to the OutlinedFn in OuterFn
by the call to the OpenMP DeviceRTL runtime function (kmpc_parallel_60)
Defined at line 1373 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
int getRelocsMap (const object::ObjectFile & Obj)Returns a map from sections to their relocations.
Defined at line 1374 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void emitEncodingByte (MCObjectStreamer & Streamer, unsigned int Encoding)Defined at line 1376 of file llvm/lib/MC/MCDwarf.cpp
-
bool EliminateDuplicatePHINodesNaiveImpl (BasicBlock * BB, SmallPtrSetImpl<PHINode *> & ToRemove)Defined at line 1376 of file llvm/lib/Transforms/Utils/Local.cpp
-
bool isCopyCompatibleType (LLT SrcTy, LLT DstTy)Check if we can use a basic COPY instruction between the two types.
We're currently building on top of the infrastructure using MVT, which loses
pointer information in the CCValAssign. We accept copies from physical
registers that have been reported as integers if it's to an equivalent sized
pointer LLT.
Defined at line 1377 of file llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateDynamicArrayType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, unsigned int LineNo, LLVMMetadataRef File, uint64_t Size, uint32_t AlignInBits, LLVMMetadataRef Ty, LLVMMetadataRef * Subscripts, unsigned int NumSubscripts, LLVMMetadataRef DataLocation, LLVMMetadataRef Associated, LLVMMetadataRef Allocated, LLVMMetadataRef Rank, LLVMMetadataRef BitStride)Create debugging information entry for a dynamic array.
Parameters
Builder The DIBuilder.Size Array size.AlignInBits Alignment.Ty Element type.Subscripts Subscripts.NumSubscripts Number of subscripts.DataLocation DataLocation. (DIVariable, DIExpression or NULL)Associated Associated. (DIVariable, DIExpression or NULL)Allocated Allocated. (DIVariable, DIExpression or NULL)Rank Rank. (DIVariable, DIExpression or NULL)BitStride BitStride.Defined at line 1377 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMNamedMDNodeRef LLVMGetLastNamedMetadata (LLVMModuleRef M)Obtain an iterator to the last NamedMDNode in a Module.
Defined at line 1375 of file llvm/lib/IR/Core.cpp
-
bool isDecodableInstruction (const Record * InstDef)Checks if the given target-specific non-pseudo instruction
is a candidate for decoding.
Defined at line 1376 of file llvm/utils/TableGen/DecoderEmitter.cpp
-
unsigned int getEncodedDLLStorageClass (const GlobalValue & GV)Defined at line 1376 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
AtomicOrdering getDecodedOrdering (unsigned int Val)Defined at line 1379 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
unsigned int getSetupCost (const SCEV * Reg, unsigned int Depth)Defined at line 1380 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
void initializeDefaultRegisterAllocatorOnce ()Defined at line 1382 of file llvm/lib/CodeGen/TargetPassConfig.cpp
-
void unionWithMinMaxIntrinsicClamp (const IntrinsicInst * II, KnownBits & Known)Defined at line 1382 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool isSupportedAddrspace (const Triple & TargetTriple, Value * Addr)Defined at line 1382 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
bool isValidEncoding (const Record * EncodingDef)Checks if the given encoding is valid.
Defined at line 1382 of file llvm/utils/TableGen/DecoderEmitter.cpp
-
Instruction * foldInsEltIntoSplat (InsertElementInst & InsElt)Try to fold an insert element into an existing splat shuffle by changing
the shuffle's mask to include the index of this insert element.
Defined at line 1382 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
Constant * getFuncAddrForProfData (Function * Fn)Defined at line 1382 of file llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
-
LLVMNamedMDNodeRef LLVMGetNextNamedMetadata (LLVMNamedMDNodeRef NamedMDNode)Advance a NamedMDNode iterator to the next NamedMDNode.
Returns NULL if the iterator was already at the end and there are no more
named metadata nodes.
Defined at line 1383 of file llvm/lib/IR/Core.cpp
-
vector getSectionFlagsForTarget (unsigned int EOSAbi, unsigned int EMachine)Defined at line 1383 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
Value * foldDependentIVs (PHINode & PN, IRBuilderBase & Builder)Fold iv = phi(start, iv.next = iv2.next op start)
where iv2 = phi(iv2.start, iv2.next = iv2 + iv2.step)
and iv2.start op start = start
to iv = iv2 op start
Defined at line 1383 of file llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
-
unsigned int X86ChooseCmpImmediateOpcode (EVT VT, const ConstantInt * RHSC)If we have a comparison with RHS as the RHS of the comparison, return an
opcode that works for the compare (e.g. CMP32ri) otherwise return 0.
Defined at line 1384 of file llvm/lib/Target/X86/X86FastISel.cpp
-
void clone_symbols (LLVMModuleRef Src, LLVMModuleRef M)Defined at line 1384 of file llvm/tools/llvm-c-test/echo.cpp
-
unsigned int getEncodedThreadLocalMode (const GlobalValue & GV)Defined at line 1385 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
void computeKnownBitsFromOperator (const Operator * I, const APInt & DemandedElts, KnownBits & Known, const SimplifyQuery & Q, unsigned int Depth)Defined at line 1390 of file llvm/lib/Analysis/ValueTracking.cpp
-
LLVMNamedMDNodeRef LLVMGetPreviousNamedMetadata (LLVMNamedMDNodeRef NamedMDNode)Decrement a NamedMDNode iterator to the previous NamedMDNode.
Returns NULL if the iterator was already at the beginning and there are
no previous named metadata nodes.
Defined at line 1391 of file llvm/lib/IR/Core.cpp
-
bool wasEscaped (StringRef::iterator First, StringRef::iterator Position)Forbidding inlining improves performance by roughly 20%.
FIXME: Remove once llvm optimizes this to the faster version without hints.
Defined at line 1386 of file llvm/lib/Support/YAMLParser.cpp
-
void annotateFunctionWithHashMismatch (Function & F, LLVMContext & ctx)Emit function metadata indicating PGO profile mismatch.
Defined at line 1387 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
void mapWasmLandingPadIndex (MachineBasicBlock * MBB, const CatchPadInst * CPI)wasm.landingpad.index intrinsic is for associating a landing pad index number
with a catchpad instruction. Retrieve the landing pad index in the intrinsic
and store the mapping in the function.
Defined at line 1387 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
bool isAngleBracketString (SMLoc & StrLoc, SMLoc & EndLoc)There is a gap between the AltMacro's documentation and the single quote
implementation. GCC does not fully support this feature and so we will not
support it.
TODO: Adding single quote as a string.
Defined at line 1389 of file llvm/lib/MC/MCParser/AsmParser.cpp
-
bool TestForCodeGenCrash (const BugDriver & BD, Module * M)Defined at line 1391 of file llvm/tools/bugpoint/CrashDebugger.cpp
-
SelectionKind getDecodedComdatSelectionKind (unsigned int Val)Defined at line 1392 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
bool hasConflictingReferenceFlags (unsigned int Flags)Detect mutually exclusive flags.
Defined at line 1393 of file llvm/lib/IR/Verifier.cpp
-
void LLVMReplaceArrays (LLVMDIBuilderRef Builder, LLVMMetadataRef * T, LLVMMetadataRef * Elements, unsigned int NumElements)Replace arrays.
Defined at line 1393 of file llvm/lib/IR/DebugInfo.cpp
-
bool hasUndefContents (MemorySSA * MSSA, BatchAAResults & AA, Value * V, MemoryDef * Def)Determine whether the pointer V had only undefined content (due to Def),
either because it was freshly alloca'd or started its lifetime.
Defined at line 1393 of file llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-
bool SinkCast (CastInst * CI)Sink the specified cast instruction into its user blocks.
Defined at line 1393 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
void updateValueInfoForIndirectCalls (ModuleSummaryIndex & Index, FunctionSummary * FS)For SamplePGO, the indirect call targets for local functions will
have its original name annotated in profile. We try to find the
corresponding PGOFuncName as the GUID, and fix up the edges
accordingly.
Defined at line 1394 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
unsigned int getEncodedComdatSelectionKind (const Comdat & C)Defined at line 1396 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool equivalentAddressValues (Value * A, Value * B)equivalentAddressValues - Test if A and B will obviously have the same
value. This includes recognizing that %t0 and %t1 will have the same
value in code like this:
%t0 = getelementptr
@
a, 0, 3
store i32 0, i32* %t0
%t1 = getelementptr
@
a, 0, 3
%t2 = load i32* %t1
Defined at line 1397 of file llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
-
Instruction * reassociateMinMaxWithConstantInOperand (IntrinsicInst * II, InstCombiner::BuilderTy & Builder)If this min/max has a matching min/max operand with a constant, try to push
the constant operand into this instruction. This can enable more folds.
Defined at line 1399 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateUnionType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, LLVMMetadataRef File, unsigned int LineNumber, uint64_t SizeInBits, uint32_t AlignInBits, Flags, LLVMMetadataRef * Elements, unsigned int NumElements, unsigned int RunTimeLang, const char * UniqueId, size_t UniqueIdLen)Create debugging information entry for a union.
Parameters
Builder The DIBuilder.Scope Scope in which this union is defined.Name Union name.NameLen Length of union name.File File where this member is defined.LineNumber Line number.SizeInBits Member size.AlignInBits Member alignment.Flags Flags to encode member attribute, e.g. privateElements Union elements.NumElements Number of union elements.RunTimeLang Optional parameter, Objective-C runtime version.UniqueId A unique identifier for the union.UniqueIdLen Length of unique identifier.Defined at line 1401 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMNamedMDNodeRef LLVMGetNamedMetadata (LLVMModuleRef M, const char * Name, size_t NameLen)Retrieve a NamedMDNode with the given name, returning NULL if no such
node exists.
Defined at line 1399 of file llvm/lib/IR/Core.cpp
-
Value * simplifyShlInst (Value * Op0, Value * Op1, bool IsNSW, bool IsNUW, const SimplifyQuery & Q, unsigned int MaxRecurse)Given operands for an Shl, see if we can fold the result.
If not, this returns null.
Defined at line 1401 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool shouldAdjustVA (const SectionRef & Section)Used for --adjust-vma to check if address should be adjusted by the
specified value for a given section.
For ELF we do not adjust non-allocatable sections like debug ones,
because they are not loadable.
TODO: implement for other file formats.
Defined at line 1403 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void PrintDylibs (MachOObjectFile * O, bool JustId)Defined at line 1404 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void computeScheduledInsts (const SwingSchedulerDAG * SSD, SMSchedule & Schedule, int & OrderedInsts, int & Stages)Create an instruction stream that represents a single iteration and stage of
each instruction. This function differs from SMSchedule::finalizeSchedule in
that this doesn't have any side-effect to SwingSchedulerDAG. That is, this
function is an approximation of SMSchedule::finalizeSchedule with all
non-const operations removed.
Defined at line 1405 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
basic_string angleBracketString (StringRef AltMacroStr)creating a string without the escape characters '!'.
Defined at line 1407 of file llvm/lib/MC/MCParser/AsmParser.cpp
-
template <typename ExtendOpTy>const SCEV * getExtendAddRecStart (const SCEVAddRecExpr * AR, Type * Ty, ScalarEvolution * SE, unsigned int Depth)Get the normalized zero or sign extended expression for this AddRec's Start.
Defined at line 1407 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
FastMathFlags getDecodedFastMathFlags (unsigned int Val)Defined at line 1408 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
bool CHRScopeSorter (CHRScope * Scope1, CHRScope * Scope2)Defined at line 1409 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
uint32_t getBBAddrMapMetadata (const MachineBasicBlock & MBB)Returns the BB metadata to be emitted in the SHT_LLVM_BB_ADDR_MAP section
for a given basic block. This can be used to capture more precise profile
information.
Defined at line 1409 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
SmallBitVector gatherFileIDs (StringRef SourceFile, const FunctionRecord & Function)Defined at line 1409 of file llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
-
basic_string getAllocTypeString (uint8_t AllocTypes)Defined at line 1409 of file llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
-
AliasResult MergeAliasResults (AliasResult A, AliasResult B)Defined at line 1410 of file llvm/lib/Analysis/BasicAliasAnalysis.cpp
-
bool optimizeLoopExitWithUnknownExitCount (const Loop * L, BranchInst * BI, BasicBlock * ExitingBB, const SCEV * MaxIter, bool SkipLastIter, ScalarEvolution * SE, SCEVExpander & Rewriter, SmallVectorImpl<WeakTrackingVH> & DeadInsts)Defined at line 1410 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
char getMappingSymbolKind (ArrayRef<MappingSymbolPair> MappingSymbols, uint64_t Address)Defined at line 1411 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
unsigned int getEncodedUnnamedAddr (const GlobalValue & GV)Defined at line 1412 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool EliminateDuplicatePHINodesSetBasedImpl (BasicBlock * BB, SmallPtrSetImpl<PHINode *> & ToRemove)Defined at line 1412 of file llvm/lib/Transforms/Utils/Local.cpp
-
Value * stripSignOnlyFPOps (Value * Val)Ignore all operations which only change the sign of a value, returning the
underlying magnitude value.
Defined at line 1413 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
CallInst * replaceCalledFunction (Module & M, OutlinableRegion & Region)Replace the extracted function in the Region with a call to the overall
function constructed from the deduplicated similar regions, replacing and
remapping the values passed to the extracted function as arguments to the
new arguments of the overall function.
Parameters
M [in] - The module to outline from.Region [in] - The regions of extracted code to be replaced with a new function.Defined at line 1413 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
void setArgExtAttr (Function & F, unsigned int ArgNo, const TargetLibraryInfo & TLI, bool Signed)Defined at line 1415 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void explain ()Defined at line 1415 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
Value * canonicalizeSPF (ICmpInst & Cmp, Value * TrueVal, Value * FalseVal, InstCombinerImpl & IC)Defined at line 1415 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
basic_string adjustInlineAsm (const std::string & InlineAsm, const Triple & Triple)Return InlineAsm adjusted with target-specific directives if required.
For ARM and Thumb, we have to add directives to select the appropriate ISA
to support mixing module-level inline assembly from ARM and Thumb modules.
Defined at line 1416 of file llvm/lib/Linker/IRMover.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateArrayType (LLVMDIBuilderRef Builder, uint64_t Size, uint32_t AlignInBits, LLVMMetadataRef Ty, LLVMMetadataRef * Subscripts, unsigned int NumSubscripts)Create debugging information entry for an array.
Parameters
Builder The DIBuilder.Size Array size.AlignInBits Alignment.Ty Element type.Subscripts Subscripts.NumSubscripts Number of subscripts.Defined at line 1416 of file llvm/lib/IR/DebugInfo.cpp
-
bool needsRuntimeRegistrationOfSectionRange (const Triple & TT)Defined at line 1417 of file llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
-
Features getBBAddrMapFeature (const MachineFunction & MF, int NumMBBSectionRanges, bool HasCalls, const CFGProfile * FuncCFGProfile)Defined at line 1418 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
optional findMainViewFileID (const FunctionRecord & Function)Return the ID of the file where the definition of the function is located.
Defined at line 1419 of file llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
-
Instruction * foldInsEltIntoIdentityShuffle (InsertElementInst & InsElt)Try to fold an extract+insert element into an existing identity shuffle by
changing the shuffle's mask to include the index of this insert element.
Defined at line 1419 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
VersionTuple targetVersionOrMinimumSupportedOSVersion (const Triple & Target, VersionTuple TargetVersion)Defined at line 1420 of file llvm/lib/MC/MCStreamer.cpp
-
basic_string getGNUFlags (unsigned int EOSAbi, unsigned int EMachine, uint64_t Flags)Defined at line 1420 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool matchIsNotNaN (Predicate P, Value * LHS, Value * RHS)Matches canonical form of isnan, fcmp ord x, 0
Defined at line 1421 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
void setRetExtAttr (Function & F, const TargetLibraryInfo & TLI, bool Signed)Defined at line 1422 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void hoistValue (Value * V, Instruction * HoistPoint, Region * R, HoistStopMapTy & HoistStopMap, DenseSet<Instruction *> & HoistedSet, DenseSet<PHINode *> & TrivialPHIs, DominatorTree & DT)Return true if V is already hoisted or was hoisted (along with its operands)
to the insert point.
Defined at line 1422 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
DIAssignID * getIDFromInst (const Instruction & I)Defined at line 1423 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
Loop * cloneLoopNest (Loop & OrigRootL, Loop * RootParentL, const ValueToValueMapTy & VMap, LoopInfo & LI)Recursively clone the specified loop and all of its children.
The target parent loop for the clone should be provided, or can be null if
the clone is a top-level loop. While cloning, all the blocks are mapped
with the provided value map. The entire original loop must be present in
the value map. The cloned loop is returned.
Defined at line 1423 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
uint64_t dumpARMELFData (uint64_t SectionAddr, uint64_t Index, uint64_t End, const ObjectFile & Obj, ArrayRef Bytes, ArrayRef<MappingSymbolPair> MappingSymbols, const MCSubtargetInfo & STI, raw_ostream & OS)Defined at line 1424 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
int ranlib_main (int argc, char ** argv)Defined at line 1424 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
const char * printImplicitRegisterFlag (const MachineOperand & MO)Defined at line 1425 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
bool matchUnorderedInfCompare (Predicate P, Value * LHS, Value * RHS)Matches fcmp u__ x, +/-inf
Defined at line 1426 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
void exportStream ()Defined at line 1426 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
DIAssignID * getIDFromMarker (const DbgVariableRecord & DVR)Defined at line 1427 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateVectorType (LLVMDIBuilderRef Builder, uint64_t Size, uint32_t AlignInBits, LLVMMetadataRef Ty, LLVMMetadataRef * Subscripts, unsigned int NumSubscripts)Create debugging information entry for a vector type.
Parameters
Builder The DIBuilder.Size Vector size.AlignInBits Alignment.Ty Element type.Subscripts Subscripts.NumSubscripts Number of subscripts.Defined at line 1427 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMNamedMDNodeRef LLVMGetOrInsertNamedMetadata (LLVMModuleRef M, const char * Name, size_t NameLen)Retrieve a NamedMDNode with the given name, creating a new node if no such
node exists.
Defined at line 1404 of file llvm/lib/IR/Core.cpp
-
const char * LLVMGetNamedMetadataName (LLVMNamedMDNodeRef NamedMD, size_t * NameLen)Retrieve the name of a NamedMDNode.
Defined at line 1409 of file llvm/lib/IR/Core.cpp
-
void SplitLandingPadPredecessorsImpl (BasicBlock * OrigBB, ArrayRef Preds, const char * Suffix1, const char * Suffix2, SmallVectorImpl<BasicBlock *> & NewBBs, DomTreeUpdater * DTU, DominatorTree * DT, LoopInfo * LI, MemorySSAUpdater * MSSAU, bool PreserveLCSSA)Defined at line 1405 of file llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
-
MCVersionMinType getMachoVersionMinLoadCommandType (const Triple & Target)Defined at line 1427 of file llvm/lib/MC/MCStreamer.cpp
-
VersionTuple parseVersionFromName (StringRef Name)Defined at line 1428 of file llvm/lib/TargetParser/Triple.cpp
-
Instruction * factorizeMinMaxTree (IntrinsicInst * II)Reduce a sequence of min/max intrinsics with a common operand.
Defined at line 1428 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
void upgradeDLLImportExportLinkage (GlobalValue * GV, unsigned int Val)Defined at line 1429 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
BasicBlock * normalizeForInvokeSafepoint (BasicBlock * BB, BasicBlock * InvokeParent, DominatorTree & DT)When inserting gc.relocate and gc.result calls, we need to ensure there are
no uses of the original value / return value between the gc.statepoint and
the gc.relocate / gc.result call. One case which can arise is a phi node
starting one of the successor blocks. We also need to be able to insert the
gc.relocates only on the path which goes through the statepoint. We might
need to split an edge to make this possible.
Defined at line 1429 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
basic_string getRegisterName (const TargetRegisterInfo * TRI, Register Reg)Defined at line 1430 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
Instruction * findInstructionWithOpcode (ArrayRef VL, unsigned int Opcode)Find an instruction with a specific opcode in VL.
Parameters
VL Array of values to search through. Must contain only Instructions and PoisonValues.Opcode The instruction opcode to search forDefined at line 1430 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
Expected getMemProfRecordV2 (const memprof::IndexedMemProfRecord & IndexedRecord, MemProfFrameHashTable & MemProfFrameTable, MemProfCallStackHashTable & MemProfCallStackTable)Defined at line 1430 of file llvm/lib/ProfileData/InstrProfReader.cpp
-
ArrayRef<MCPhysReg> get64BitArgumentGPRs (CallingConv::ID CallConv, const X86Subtarget & Subtarget)FIXME: Get this from tablegen.
Defined at line 1432 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
optional findMainViewFileID (StringRef SourceFile, const FunctionRecord & Function)Check if SourceFile is the file that contains the definition of
the Function. Return the ID of the file in that case or std::nullopt
otherwise.
Defined at line 1434 of file llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
-
Value * matchIsFiniteTest (InstCombiner::BuilderTy & Builder, FCmpInst * LHS, FCmpInst * RHS)and (fcmp ord x, 0), (fcmp u* x, inf) -> fcmp o* x, inf
Clang emits this pattern for doing an isfinite check in __builtin_isnormal.
Defined at line 1434 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool handleDanglingVariadicDebugInfo (SelectionDAG & DAG, DILocalVariable * Variable, DebugLoc DL, unsigned int Order, SmallVectorImpl<Value *> & Values, DIExpression * Expression)Defined at line 1434 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
bool forwardStoredOnceStore (GlobalVariable * GV, const StoreInst * StoredOnceStore, function_ref<DominatorTree &(Function &)> LookupDomTree)For a global variable with one store, if the store dominates any loads,
those loads will always load the stored value (as opposed to the
initializer), even in the presence of recursion.
Defined at line 1434 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool foldLibCalls (Instruction & I, TargetTransformInfo & TTI, TargetLibraryInfo & TLI, AssumptionCache & AC, DominatorTree & DT, const DataLayout & DL, bool & MadeCFGChange)Defined at line 1434 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
unsigned int LLVMGetNamedMetadataNumOperands (LLVMModuleRef M, const char * Name)Obtain the number of operands for named metadata in a module.
Defined at line 1435 of file llvm/lib/IR/Core.cpp
-
unsigned int getSrcIdx (const MachineInstr * MI, unsigned int SrcIdx)Defined at line 1435 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
bool canVectorize (const CharMatrix & DepMatrix, unsigned int LoopId)Return true if we can vectorize the loop specified by
Defined at line 1436 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
bool isImplicitOperandIn (const MachineOperand & ImplicitOperand, ArrayRef<ParsedMachineOperand> Operands)Return true if the parsed machine operands contain a given machine operand.
Defined at line 1437 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateBasicType (LLVMDIBuilderRef Builder, const char * Name, size_t NameLen, uint64_t SizeInBits, LLVMDWARFTypeEncoding Encoding, Flags)Create debugging information entry for a basic
type.
Parameters
Builder The DIBuilder.Name Type name.NameLen Length of type name.SizeInBits Size of the type.Encoding DWARF encoding code, e.g.Flags Flags to encode optional attribute like endianityDefined at line 1438 of file llvm/lib/IR/DebugInfo.cpp
-
optional matchBinaryOp (Instruction * Op)Defined at line 1438 of file llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
-
unsigned int attrIdxToArrayIdx (unsigned int Index)Map from AttributeList index to the internal array index. Adding one happens
to work, because -1 wraps around to 0.
Defined at line 1440 of file llvm/lib/IR/Attributes.cpp
-
void cleanupSinglePredPHIs (Function & F)Defined at line 1440 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
unsigned int getVectorTypeBreakdownMVT (MVT VT, MVT & IntermediateVT, unsigned int & NumIntermediates, MVT & RegisterVT, TargetLoweringBase * TLI)Defined at line 1440 of file llvm/lib/CodeGen/TargetLoweringBase.cpp
-
bool isExpansion (const CountedRegion & R, unsigned int FileID)Defined at line 1442 of file llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
-
void LLVMGetNamedMetadataOperands (LLVMModuleRef M, const char * Name, LLVMValueRef * Dest)Obtain the named metadata operands for a module.
The passed LLVMValueRef pointer should refer to an array of
LLVMValueRef at least LLVMGetNamedMetadataNumOperands long. This
array will be populated with the LLVMValueRef instances. Each
instance corresponds to a llvm::MDNode.
Defined at line 1442 of file llvm/lib/IR/Core.cpp
-
Value * simplifyLShrInst (Value * Op0, Value * Op1, bool IsExact, const SimplifyQuery & Q, unsigned int MaxRecurse)Given operands for an LShr, see if we can fold the result.
If not, this returns null.
Defined at line 1442 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
BranchProbability getLayoutSuccessorProbThreshold (const MachineBasicBlock * BB)When profile is not present, return the StaticLikelyProb.
When profile is available, we need to handle the triangle-shape CFG.
Defined at line 1444 of file llvm/lib/CodeGen/MachineBlockPlacement.cpp
-
bool areCompatibleCmpOps (Value * BaseOp0, Value * BaseOp1, Value * Op0, Value * Op1, const TargetLibraryInfo & TLI)Checks if the provided operands of 2 cmp instructions are compatible, i.e.
compatible instructions or constants, or just some other regular values.
Defined at line 1445 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool MemOperandsHaveAlias (const MachineFrameInfo & MFI, BatchAAResults * AA, bool UseTBAA, const MachineMemOperand * MMOa, const MachineMemOperand * MMOb)Defined at line 1446 of file llvm/lib/CodeGen/MachineInstr.cpp
-
bool isImmAllOnesAllZerosMatch (const TreePatternNode & P)===----------------------------------------------------------------------===//
PatternToMatch implementation
Defined at line 1447 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
void printDstRegisterName (raw_ostream & CS, const MachineInstr * MI, unsigned int SrcOpIdx)Defined at line 1447 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
LLVMMetadataRef LLVMDIBuilderCreatePointerType (LLVMDIBuilderRef Builder, LLVMMetadataRef PointeeTy, uint64_t SizeInBits, uint32_t AlignInBits, unsigned int AddressSpace, const char * Name, size_t NameLen)Create debugging information entry for a pointer.
Parameters
Builder The DIBuilder.PointeeTy Type pointed by this pointer.SizeInBits Size.AlignInBits Alignment. (optional, pass 0 to ignore)AddressSpace DWARF address space. (optional, pass 0 to ignore)Name Pointer type name. (optional)NameLen Length of pointer type name. (optional)Defined at line 1448 of file llvm/lib/IR/DebugInfo.cpp
-
VersionTuple getMachoBuildVersionSupportedOS (const Triple & Target)Defined at line 1448 of file llvm/lib/MC/MCStreamer.cpp
-
Instruction * factorizeMathWithShlOps (BinaryOperator & I, InstCombiner::BuilderTy & Builder)This is a specialization of a more general transform from
foldUsingDistributiveLaws. If that code can be made to work optimally
for multi-use cases or propagating nsw/nuw, then we would not need this.
Defined at line 1448 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
bool isFunctionMallocLike (Function * F, const SCCNodeSet & SCCNodes)Tests whether a function is "malloc-like".
A function is "malloc-like" if it returns either null or a pointer that
doesn't alias any other pointer visible to the caller.
Defined at line 1448 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
const char * locStr (LocKind Loc)Defined at line 1449 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
ArrayRef<MCPhysReg> get64BitArgumentXMMs (MachineFunction & MF, CallingConv::ID CallConv, const X86Subtarget & Subtarget)FIXME: Get this from tablegen.
Defined at line 1450 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
void addRegionIntoQueue (Region & R, std::vector<Region *> & Regions)Defined at line 1452 of file llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
-
void LLVMAddNamedMetadataOperand (LLVMModuleRef M, const char * Name, LLVMValueRef Val)Add an operand to named metadata.
Defined at line 1452 of file llvm/lib/IR/Core.cpp
-
void supplementInstrProfile (const WeightedFileVector & Inputs, StringRef SampleFilename, bool OutputSparse, unsigned int SupplMinSizeThreshold, float ZeroCounterThreshold, unsigned int InstrProfColdThreshold)The main function to supplement instr profile with sample profile.
contains the instr profile.
specifies the
sample profile.
specifies the output profile name.
specifies the output profile format.
specifies whether to generate sparse profile.
specifies the minimal size for the functions whose profile will be
adjusted.
is the threshold to check whether
a function contains too many zero counters and whether its profile
should be dropped.
is the user specified
cold threshold which will override the cold threshold got from the
instr profile summary.
Defined at line 1452 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void dumpELFData (uint64_t SectionAddr, uint64_t Index, uint64_t End, ArrayRef Bytes, raw_ostream & OS)Defined at line 1453 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void ARM64EmitUnwindInfoForSegment (MCStreamer & streamer, WinEH::FrameInfo * info, WinEH::FrameInfo::Segment & Seg, bool TryPacked)Defined at line 1453 of file llvm/lib/MC/MCWin64EH.cpp
-
bool isTiedToNotUndef (const MachineOperand & MO)Returns true if MO is tied and the operand it's tied to is not Undef (not
Undef is not the same thing as Def).
Defined at line 1456 of file llvm/lib/CodeGen/RegAllocFast.cpp
-
bool canFallThroughTo (MachineBasicBlock & MBB, MachineBasicBlock & ToMBB)Returns true either if ToMBB is the next block after MBB or that all the
intervening blocks are empty (given MBB can fall through to its next block).
Defined at line 1457 of file llvm/lib/CodeGen/IfConversion.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateStructType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, LLVMMetadataRef File, unsigned int LineNumber, uint64_t SizeInBits, uint32_t AlignInBits, Flags, LLVMMetadataRef DerivedFrom, LLVMMetadataRef * Elements, unsigned int NumElements, unsigned int RunTimeLang, LLVMMetadataRef VTableHolder, const char * UniqueId, size_t UniqueIdLen)Create debugging information entry for a struct.
Parameters
Builder The DIBuilder.Scope Scope in which this struct is defined.Name Struct name.NameLen Struct name length.File File where this member is defined.LineNumber Line number.SizeInBits Member size.AlignInBits Member alignment.Flags Flags to encode member attribute, e.g. privateElements Struct elements.NumElements Number of struct elements.RunTimeLang Optional parameter, Objective-C runtime version.VTableHolder The object containing the vtable for the struct.UniqueId A unique identifier for the struct.UniqueIdLen Length of the unique identifier for the struct.Defined at line 1457 of file llvm/lib/IR/DebugInfo.cpp
-
AttributeList legalizeCallAttributes (CallBase * Call, bool IsMemIntrinsic, AttributeList StatepointAL)Create new attribute set containing only attributes which can be transferred
from the original call to the safepoint.
Defined at line 1457 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void rewritePHIs (BasicBlock & BB)Defined at line 1457 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
bool isCmpSameOrSwapped (const CmpInst * BaseCI, const CmpInst * CI, const TargetLibraryInfo & TLI)Defined at line 1459 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
ValueLatticeElement getValueFromOverflowCondition (Value * Val, WithOverflowInst * WO, bool IsTrueDest)Handle conditions of the form
extractvalue(op.with.overflow(%x, C), 1).
Defined at line 1459 of file llvm/lib/Analysis/LazyValueInfo.cpp
-
void printRpaths (MachOObjectFile * O)Defined at line 1461 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool OptimizeNoopCopyExpression (CastInst * CI, const TargetLowering & TLI, const DataLayout & DL)If the specified cast instruction is a noop copy (e.g. it's casting from
one pointer type to another, i32->i8 on PPC), sink it into user blocks to
reduce the number of virtual registers that must be created and coalesced.
Return true if any changes are made.
Defined at line 1461 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
unsigned int getPatternSize (const TreePatternNode & P, const CodeGenDAGPatterns & CGP)getPatternSize - Return the 'size' of this pattern. We want to match large
patterns before small ones. This is used to determine the size of a
pattern.
Defined at line 1461 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
void hostParallelCallback (OpenMPIRBuilder * OMPIRBuilder, Function & OutlinedFn, Function * OuterFn, Value * Ident, Value * IfCondition, Instruction * PrivTID, AllocaInst * PrivTIDAddr, const SmallVector<Instruction *, 4> & ToBeDeleted)Callback used to create OpenMP runtime calls to support
omp parallel clause for the host.
We need to use this callback to replace call to the OutlinedFn in OuterFn
by the call to the OpenMP host runtime function ( __kmpc_fork_call[_if])
Defined at line 1461 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
void collectReleaseInsertPts (const BlotMapVector<Value *, RRInfo> & Retains, DenseMap<const Instruction *, SmallPtrSet<const Value *, 2>> & ReleaseInsertPtToRCIdentityRoots)Fill ReleaseInsertPtToRCIdentityRoots, which is a map from insertion points
to the set of RC identity roots that would be released by the release calls
moved to the insertion points.
Defined at line 1462 of file llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
-
PointerUnion getNextNode (const DbgRecord * DVR)Defined at line 1463 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
bool parseRange (StringRef Str, std::optional<opts::bytes::NumberRange> & Parsed)Defined at line 1465 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
void printShuffleMask (raw_ostream & CS, StringRef Src1Name, StringRef Src2Name, ArrayRef<int> Mask)Defined at line 1465 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
void unbundleSingleMI (MachineInstr * MI)Prepare MI to be removed from its bundle. This fixes bundle flags on MI's
neighboring instructions so the bundle won't be broken by removing MI.
Defined at line 1467 of file llvm/lib/CodeGen/MachineBasicBlock.cpp
-
StringEncoding getStringEncoding (StringRef Str)Determine the encoding to use for the given string name and length.
Defined at line 1468 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
uint64_t getOffsetFromIndices (const User & U, const DataLayout & DL)Defined at line 1468 of file llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
-
PointerUnion getNextNode (const Instruction * Inst)Defined at line 1469 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
bool processInternalGlobal (GlobalVariable * GV, const GlobalStatus & GS, function_ref<TargetTransformInfo &(Function &)> GetTTI, function_ref<TargetLibraryInfo &(Function &)> GetTLI, function_ref<DominatorTree &(Function &)> LookupDomTree)Analyze the specified global variable and optimize
it if possible. If we make a change, return true.
Defined at line 1469 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
void initializeIRSimilarityIdentifierWrapperPassPassOnce (PassRegistry & Registry)Defined at line 1470 of file llvm/lib/Analysis/IRSimilarityIdentifier.cpp
-
void hoistScopeConditions (CHRScope * Scope, Instruction * HoistPoint, DenseSet<PHINode *> & TrivialPHIs, DominatorTree & DT)Hoist the dependent condition values of the branches and the selects in the
scope to the insert point.
Defined at line 1470 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
BasicBlock * findMostPopularDest (BasicBlock * BB, const SmallVectorImpl<std::pair<BasicBlock *, BasicBlock *>> & PredToDestList)findMostPopularDest - The specified list contains multiple possible
threadable destinations. Pick the one that occurs the most frequently in
the list.
Defined at line 1470 of file llvm/lib/Transforms/Scalar/JumpThreading.cpp
-
bool isPathAbsoluteOnWindowsOrPosix (const Twine & Path)Defined at line 1471 of file llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
-
Instruction * sinkThroughTriviallyReplaceablePHI (PHINode * TPN, Instruction * I, LoopInfo * LI, int & SunkCopies, const LoopSafetyInfo * SafetyInfo, const Loop * CurLoop, MemorySSAUpdater & MSSAU)Defined at line 1472 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
bool shouldRecordVTableAddr (GlobalVariable * GV)Defined at line 1472 of file llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateUnspecifiedType (LLVMDIBuilderRef Builder, const char * Name, size_t NameLen)Create a DWARF unspecified type.
Parameters
Builder The DIBuilder.Name The unspecified type's name.NameLen Length of type name.Defined at line 1483 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateMemberType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, LLVMMetadataRef File, unsigned int LineNo, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, Flags, LLVMMetadataRef Ty)Create debugging information entry for a member.
Parameters
Builder The DIBuilder.Scope Member scope.Name Member name.NameLen Length of member name.File File where this member is defined.LineNo Line number.SizeInBits Member size.AlignInBits Member alignment.OffsetInBits Member offset.Flags Flags to encode member attribute, e.g. privateTy Parent type.Defined at line 1473 of file llvm/lib/IR/DebugInfo.cpp
-
const char * LLVMGetDebugLocDirectory (LLVMValueRef Val, unsigned int * Length)Return the directory of the debug location for this value, which must be
an llvm::Instruction, llvm::GlobalVariable, or llvm::Function.
Defined at line 1462 of file llvm/lib/IR/Core.cpp
-
void CreateSymbolAddressMap (MachOObjectFile * O, SymbolAddressMap * AddrMap)Defined at line 1473 of file llvm/tools/llvm-objdump/MachODump.cpp
-
StringRef segmentTypeToString (unsigned int Arch, unsigned int Type)Defined at line 1473 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
PlatformType getMachoBuildVersionPlatformType (const Triple & Target)Defined at line 1474 of file llvm/lib/MC/MCStreamer.cpp
-
PointerUnion getNextNode (PointerUnion InsertPt)Defined at line 1475 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
bool hasDataSucc (const SUnit * SU)Defined at line 1475 of file llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
-
bool isOpcodeRep (unsigned int Opcode)Return true if an opcode is part of the REP group of instructions
Defined at line 1475 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
bool isSortedByValueNo (ArrayRef<CCValAssign> ArgLocs)Defined at line 1476 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
SmallVector<TrackingMDRef, 4> & getNMDOps (void * Operands)===----------------------------------------------------------------------===//
NamedMDNode implementation.
Defined at line 1477 of file llvm/lib/IR/Metadata.cpp
-
Instruction * hoistInsEltConst (InsertElementInst & InsElt2, InstCombiner::BuilderTy & Builder)If we have an insertelement instruction feeding into another insertelement
and the 2nd is inserting a constant into the vector, canonicalize that
constant insertion before the insertion of a variable:
insertelement (insertelement X, Y, IdxC1), ScalarC, IdxC2 -->
insertelement (insertelement X, ScalarC, IdxC2), Y, IdxC1
This has the potential of eliminating the 2nd insertelement instruction
via constant folding of the scalar constant into a vector constant.
Defined at line 1478 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
Value * simplifyAShrInst (Value * Op0, Value * Op1, bool IsExact, const SimplifyQuery & Q, unsigned int MaxRecurse)Given operands for an AShr, see if we can fold the result.
If not, this returns null.
Defined at line 1479 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
const SmallPtrSet<const Value *, 2> * getRCIdentityRootsFromReleaseInsertPt (const Instruction * InsertPt, const DenseMap<const Instruction *, SmallPtrSet<const Value *, 2>> & ReleaseInsertPtToRCIdentityRoots)Get the RC identity roots from an insertion point of an objc_release call.
Return nullptr if the passed instruction isn't an insertion point.
Defined at line 1480 of file llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
-
const char * LLVMGetDebugLocFilename (LLVMValueRef Val, unsigned int * Length)Return the filename of the debug location for this value, which must be
an llvm::Instruction, llvm::GlobalVariable, or llvm::Function.
Defined at line 1486 of file llvm/lib/IR/Core.cpp
-
InstructionsState getSameOpcode (ArrayRef VL, const TargetLibraryInfo & TLI)Defined at line 1481 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void buildClonedLoops (Loop & OrigL, ArrayRef ExitBlocks, const ValueToValueMapTy & VMap, LoopInfo & LI, SmallVectorImpl<Loop *> & NonChildClonedLoops)Build the cloned loops of an original loop from unswitching.
Because unswitching simplifies the CFG of the loop, this isn't a trivial
operation. We need to re-verify that there even is a loop (as the backedge
may not have been cloned), and even if there are remaining backedges the
backedge set may be different. However, we know that each child loop is
undisturbed, we only need to find where to place each child loop within
either any parent loop or within a cloned version of the original loop.
Because child loops may end up cloned outside of any cloned version of the
original loop, multiple cloned sibling loops may be created. All of them
are returned so that the newly introduced loop nest roots can be
identified.
Defined at line 1482 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
unsigned int serializeSanitizerMetadata (const GlobalValue::SanitizerMetadata & Meta)Defined at line 1484 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
Instruction * foldBoxMultiply (BinaryOperator & I)Reduce a sequence of masked half-width multiplies to a single multiply.
((XLow * YHigh) + (YLow * XHigh))
<
<
HalfBits) + (XLow * YLow) --> X * Y
Defined at line 1484 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
void InsertUncondBranch (MachineBasicBlock & MBB, MachineBasicBlock & ToMBB, const TargetInstrInfo * TII)Inserts an unconditional branch from
to
Defined at line 1486 of file llvm/lib/CodeGen/IfConversion.cpp
-
void initializeLoopUnrollPassOnce (PassRegistry & Registry)Defined at line 1487 of file llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
-
void simplifyChunkList (llvm::cl::list<opts::ModuleSubsection> & Chunks)Defined at line 1487 of file llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
-
bool canSplitPredecessors (PHINode * PN, LoopSafetyInfo * SafetyInfo)Defined at line 1487 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
void initializeTargetLibraryInfoWrapperPassPassOnce (PassRegistry & Registry)Register the basic pass.
Defined at line 1488 of file llvm/lib/Analysis/TargetLibraryInfo.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateStaticMemberType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, LLVMMetadataRef File, unsigned int LineNumber, LLVMMetadataRef Type, Flags, LLVMValueRef ConstantVal, uint32_t AlignInBits)Create debugging information entry for a
C++ static data member.
Parameters
Builder The DIBuilder.Scope Member scope.Name Member name.NameLen Length of member name.File File where this member is declared.LineNumber Line number.Type Type of the static member.Flags Flags to encode member attribute, e.g. private.ConstantVal Const initializer of the member.AlignInBits Member alignment.Defined at line 1489 of file llvm/lib/IR/DebugInfo.cpp
-
bool isThumbFunction (Function * F, ArchType ModuleArch)Defined at line 1489 of file llvm/lib/Transforms/IPO/LowerTypeTests.cpp
-
Constant * getVTableAddrForProfData (GlobalVariable * GV)FIXME: Introduce an internal alias like what's done for functions to reduce
the number of relocation entries.
Defined at line 1490 of file llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp
-
const char * GuessSymbolName (uint64_t value, SymbolAddressMap * AddrMap)GuessSymbolName is passed the address of what might be a symbol and a
pointer to the SymbolAddressMap. It returns the name of a symbol
with that address or nullptr if no symbol is found with that address.
Defined at line 1492 of file llvm/tools/llvm-objdump/MachODump.cpp
-
FunctionSamples remapSamples (const sampleprof::FunctionSamples & Samples, SymbolRemapper & Remapper, sampleprof_error & Error)Make a copy of the given function samples with all symbol names remapped
by the provided symbol remapper.
Defined at line 1493 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void UpdatePredRedefs (MachineInstr & MI, LivePhysRegs & Redefs)Behaves like LiveRegUnits::StepForward() but also adds implicit uses to all
values defined in MI which are also live/used by MI.
Defined at line 1495 of file llvm/lib/CodeGen/IfConversion.cpp
-
void writeOptimizationInfo (raw_ostream & Out, const User * U)Defined at line 1496 of file llvm/lib/IR/AsmWriter.cpp
-
bool negateICmpIfUsedByBranchOrSelectOnly (ICmpInst * ICmp, Instruction * ExcludedUser, CHRScope * Scope)Negate the predicate if an ICmp if it's used only by branches or selects by
swapping the operands of the branches or the selects. Returns true if success.
Defined at line 1496 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
optional checkCondition (Predicate Pred, Value * A, Value * B, Instruction * CheckInst, ConstraintInfo & Info)Defined at line 1497 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
GEPNoWrapFlags toGEPNoWrapFlags (uint64_t Flags)Defined at line 1498 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
unsigned int getDarwinBinOpPrecedence (TokenKind K, MCBinaryExpr::Opcode & Kind, bool ShouldUseLogicalShr)Defined at line 1499 of file llvm/lib/MC/MCParser/AsmParser.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateObjCIVar (LLVMDIBuilderRef Builder, const char * Name, size_t NameLen, LLVMMetadataRef File, unsigned int LineNo, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, Flags, LLVMMetadataRef Ty, LLVMMetadataRef PropertyNode)Create debugging information entry for Objective-C instance variable.
Parameters
Builder The DIBuilder.Name Member name.NameLen The length of the C string passed toFile File where this member is defined.LineNo Line number.SizeInBits Member size.AlignInBits Member alignment.OffsetInBits Member offset.Flags Flags to encode member attribute, e.g. privateTy Parent type.PropertyNode Property associated with this ivar.Defined at line 1500 of file llvm/lib/IR/DebugInfo.cpp
-
APInt extractConstantWithoutWrapping (ScalarEvolution & SE, const SCEVConstant * ConstantTerm, const SCEVAddExpr * WholeAddExpr)Finds an integer D for an expression (C + x + y + ...) such that the top
level addition in (D + (C - D + x + y + ...)) would not wrap (signed or
unsigned) and the number of trailing zeros of (C - D + x + y + ...) is
maximized, where C is the
x, y, ... are arbitrary SCEVs, and
the (C + x + y + ...) expression is
Defined at line 1501 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
Instruction * foldConstantInsEltIntoShuffle (InsertElementInst & InsElt)insertelt (shufflevector X, CVec, Mask|insertelt X, C1, CIndex1), C, CIndex
--> shufflevector X, CVec', Mask'
Defined at line 1501 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
void CreateGCRelocates (ArrayRef LiveVariables, ArrayRef BasePtrs, Instruction * StatepointToken, int & Builder, GCStrategy * GC)Helper function to place all gc relocates necessary for the given
statepoint.
Inputs:
liveVariables - list of variables to be relocated.
basePtrs - base pointers.
statepointToken - statepoint instruction to which relocates should be
bound.
Builder - Llvm IR builder to be used to construct new calls.
Defined at line 1502 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void DumpCstringChar (const char c)Defined at line 1503 of file llvm/tools/llvm-objdump/MachODump.cpp
-
unsigned int getNumAllocatableRegsForConstraints (const MachineInstr * MI, Register Reg, const TargetRegisterClass * SuperRC, const TargetInstrInfo * TII, const TargetRegisterInfo * TRI, const RegisterClassInfo & RCI)Get the number of allocatable registers that match the constraints of
on
and that are also in
Defined at line 1503 of file llvm/lib/CodeGen/RegAllocGreedy.cpp
-
void createBSWAPShuffleMask (EVT VT, SmallVectorImpl<int> & ShuffleMask)Defined at line 1504 of file llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
-
bool isSafeToHoistInvoke (BasicBlock * BB1, BasicBlock * BB2, Instruction * I1, Instruction * I2)If we would need to insert a select that uses the value of this invoke
(comments in hoistSuccIdenticalTerminatorToSwitchOrIf explain why we would
need to do this), we can't hoist the invoke, as there is nowhere to put the
select in this case.
Defined at line 1504 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool matchIncrement (const Instruction * IVInc, Instruction *& LHS, Constant *& Step)Match a simple increment by constant operation. Note that if a sub is
matched, the step is negated (as if the step had been canonicalized to
an add, even though we leave the instruction alone.)
Defined at line 1504 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
int readOpcodeRegister (struct InternalInstruction * insn, uint8_t size)Read an operand from the opcode field of an instruction and interprets it
appropriately given the operand width. Handles AddRegFrm instructions.
Parameters
insn - the instruction whose opcode field is to be read.size - The width (in bytes) of the register being specified. 1 means AL and friends, 2 means AX, 4 means EAX, and 8 means RAX.Returns
- 0 on success; nonzero otherwise.
Defined at line 1504 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
basic_string getShuffleComment (const MachineInstr * MI, unsigned int SrcOp1Idx, unsigned int SrcOp2Idx, ArrayRef<int> Mask)Defined at line 1505 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
void splitPredecessorsOfLoopExit (PHINode * PN, DominatorTree * DT, LoopInfo * LI, const Loop * CurLoop, LoopSafetyInfo * SafetyInfo, MemorySSAUpdater * MSSAU)Defined at line 1505 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
bool foldMulHigh (Instruction & I)Match high part of long multiplication.
Considering a multiply made up of high and low parts, we can split the
multiply into:
x * y == (xh*T + xl) * (yh*T + yl)
where xh == x>>32 and xl == x
&
0xffffffff. T = 2^32.
This expands to
xh*yh*T*T + xh*yl*T + xl*yh*T + xl*yl
which can be drawn as
[ xh*yh ]
[ xh*yl ]
[ xl*yh ]
[ xl*yl ]
We are looking for the "high" half, which is xh*yh + xh*yl>>32 + xl*yh>>32 +
some carrys. The carry makes this difficult and there are multiple ways of
representing it. The ones we attempt to support here are:
Carry: xh*yh + carry + lowsum
carry = lowsum
<
xh*yl ? 0x1000000 : 0
lowsum = xh*yl + xl*yh + (xl*yl>>32)
Ladder: xh*yh + c2>>32 + c3>>32
c2 = xh*yl + (xl*yl>>32); c3 = c2
&
0xffffffff + xl*yh
or c2 = (xl*yh
&
0xffffffff) + xh*yl + (xl*yl>>32); c3 = xl*yh
Carry4: xh*yh + carry + crosssum>>32 + (xl*yl + crosssum
&
0xffffffff) >> 32
crosssum = xh*yl + xl*yh
carry = crosssum
<
xh*yl ? 0x1000000 : 0
Ladder4: xh*yh + (xl*yh)>>32 + (xh*yl)>>32 + low>>32;
low = (xl*yl)>>32 + (xl*yh)
&
0xffffffff + (xh*yl)
&
0xffffffff
They all start by matching xh*yh + 2 or 3 other operands. The bottom of the
tree is xh*yh, xh*yl, xl*yh and xl*yl.
Defined at line 1507 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
bool isConstExprSupported (const BitcodeConstant * BC)Defined at line 1509 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
void DumpCstringSection (MachOObjectFile * O, const char * sect, uint32_t sect_size, uint64_t sect_addr, bool print_addresses)Defined at line 1510 of file llvm/tools/llvm-objdump/MachODump.cpp
-
unsigned int LLVMGetDebugLocLine (LLVMValueRef Val)Return the line number of the debug location for this value, which must be
an llvm::Instruction, llvm::GlobalVariable, or llvm::Function.
Defined at line 1510 of file llvm/lib/IR/Core.cpp
-
int llvm_ar_main (int argc, char ** argv, const llvm::ToolContext & )Defined at line 1511 of file llvm/tools/llvm-ar/llvm-ar.cpp
-
void addNoAliasAttrs (const SCCNodeSet & SCCNodes, SmallPtrSet<Function *, 8> & Changed)Deduce noalias attributes for the SCC.
Defined at line 1511 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
bool SinkingPreventsImplicitNullCheck (MachineInstr & MI, const TargetInstrInfo * TII, const TargetRegisterInfo * TRI)Return true if MI is likely to be usable as a memory operation by the
implicit null check optimization.
This is a "best effort" heuristic, and should not be relied upon for
correctness. This returning true does not guarantee that the implicit null
check optimization is legal over MI, and this returning false does not
guarantee MI cannot possibly be used to do a null check.
Defined at line 1511 of file llvm/lib/CodeGen/MachineSink.cpp
-
Value * simplifyUnsignedRangeCheck (ICmpInst * ZeroICmp, ICmpInst * UnsignedICmp, bool IsAnd, const SimplifyQuery & Q)Commuted variants are assumed to be handled by calling this function again
with the parameters swapped.
Defined at line 1512 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool CanShareConstantPoolEntry (const Constant * A, const Constant * B, const DataLayout & DL)Test whether the given two constants can be allocated the same constant pool
entry referenced by
Defined at line 1513 of file llvm/lib/CodeGen/MachineFunction.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateObjCProperty (LLVMDIBuilderRef Builder, const char * Name, size_t NameLen, LLVMMetadataRef File, unsigned int LineNo, const char * GetterName, size_t GetterNameLen, const char * SetterName, size_t SetterNameLen, unsigned int PropertyAttributes, LLVMMetadataRef Ty)Create debugging information entry for Objective-C property.
Parameters
Builder The DIBuilder.Name Property name.NameLen The length of the C string passed toFile File where this property is defined.LineNo Line number.GetterName Name of the Objective C property getter selector.GetterNameLen The length of the C string passed toSetterName Name of the Objective C property setter selector.SetterNameLen The length of the C string passed toPropertyAttributes Objective C property attributes.Ty Type.Defined at line 1514 of file llvm/lib/IR/DebugInfo.cpp
-
bool isConstantScalar (const MachineInstr & MI, const MachineRegisterInfo & MRI, bool AllowFP, bool AllowOpaqueConstants)Defined at line 1514 of file llvm/lib/CodeGen/GlobalISel/Utils.cpp
-
LaneBitmask getInstReadLaneMask (const MachineRegisterInfo & MRI, const TargetRegisterInfo & TRI, const MachineInstr & FirstMI, Register Reg)Defined at line 1517 of file llvm/lib/CodeGen/RegAllocGreedy.cpp
-
SymbolInfoTy createDummySymbolInfo (const ObjectFile & Obj, const uint64_t Addr, StringRef & Name, uint8_t Type)Defined at line 1518 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
bool isFoldedOrDeadInstruction (const Instruction * I, const FunctionLoweringInfo & FuncInfo)isFoldedOrDeadInstruction - Return true if the specified instruction is
side-effect free and is either dead or folded into a generated instruction.
Return false if it needs to be emitted.
Defined at line 1521 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
basic_string getGNUPtType (unsigned int Arch, unsigned int Type)Defined at line 1521 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
APInt extractConstantWithoutWrapping (ScalarEvolution & SE, const APInt & ConstantStart, const SCEV * Step)Finds an integer D for an affine AddRec expression {C,+,x} such that the top
level addition in (D + {C-D,+,x}) would not wrap (signed or unsigned) and the
number of trailing zeros of (C - D + x * n) is maximized, where C is the
x is an arbitrary
and n is the loop trip count.
Defined at line 1522 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
std::optional<std::pair<Instruction *, Constant *>> getIVIncrement (const PHINode * PN, const LoopInfo * LI)If given
is an inductive variable with value IVInc coming from the
backedge, and on each iteration it gets increased by Step, return pair
<IVInc
, Step>. Otherwise, return std::nullopt.
Defined at line 1522 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
void initializeTargetTransformInfoWrapperPassPassOnce (PassRegistry & Registry)Register the basic pass.
Defined at line 1523 of file llvm/lib/Analysis/TargetTransformInfo.cpp
-
AttrBuilder IdentifyValidUBGeneratingAttributes (CallBase & CB)Attributes that are always okay to propagate as if they are violated its
immediate UB.
Defined at line 1523 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
bool IsPartOfWord (char c)Defined at line 1524 of file llvm/lib/FileCheck/FileCheck.cpp
-
BasicBlock * findOrCreatePHIBlock (OutlinableGroup & Group, Value * RetVal)Find or create a BasicBlock in the outlined function containing PhiBlocks
for
Parameters
Group - The OutlinableGroup containing the information about the overall outlined function.RetVal - The return value or exit option that we are currently evaluating.Defined at line 1525 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
void printConstant (const APInt & Val, raw_ostream & CS, bool PrintZero)Defined at line 1526 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
pair findCommonType (AllocaSlices::const_iterator B, AllocaSlices::const_iterator E, uint64_t EndOffset)Walk the range of a partitioning looking for a common type to cover this
sequence of slices.
Defined at line 1526 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
unsigned int skippedInstrFlags (Instruction * I)Defined at line 1527 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void DumpLiteral4 (uint32_t l, float f)Defined at line 1527 of file llvm/tools/llvm-objdump/MachODump.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType (LLVMDIBuilderRef Builder, LLVMMetadataRef Type, LLVMBool Implicit)Create a uniqued DIType* clone with FlagObjectPointer. If
is true, then also set FlagArtificial.
Parameters
Builder The DIBuilder.Type The underlying type to which this pointer points.Implicit Indicates whether this pointer was implicitly generated (i.e., not spelled out in source).Defined at line 1528 of file llvm/lib/IR/DebugInfo.cpp
-
void collectBBAddrMapLabels (const BBAddrMapInfo & FullAddrMap, uint64_t SectionAddr, uint64_t Start, uint64_t End, int & Labels)Defined at line 1528 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
bool processIfEntryValueDbgDeclare (FunctionLoweringInfo & FuncInfo, const Value * Arg, DIExpression * Expr, DILocalVariable * Var, DebugLoc DbgLoc)Defined at line 1529 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
bool usesOperand (User * Usr, Value * Op)Return true if Usr has Op as an operand, otherwise false.
Defined at line 1532 of file llvm/lib/Analysis/LazyValueInfo.cpp
-
unsigned int LLVMGetDebugLocColumn (LLVMValueRef Val)Return the column number of the debug location for this value, which must be
an llvm::Instruction.
Defined at line 1532 of file llvm/lib/IR/Core.cpp
-
unique_ptr getInputFileBuf (const StringRef & InputFile)Defined at line 1532 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void rewritePHIs (Function & F)Defined at line 1533 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
void insertFoldCacheEntry (const ScalarEvolution::FoldID & ID, const SCEV * S, int & FoldCache, int & FoldCacheUser)Defined at line 1533 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateTypedef (LLVMDIBuilderRef Builder, LLVMMetadataRef Type, const char * Name, size_t NameLen, LLVMMetadataRef File, unsigned int LineNo, LLVMMetadataRef Scope, uint32_t AlignInBits)Create debugging information entry for a typedef.
Parameters
Builder The DIBuilder.Type Original type.Name Typedef name.File File where this type is defined.LineNo Line number.Scope The surrounding context for the typedef.Defined at line 1535 of file llvm/lib/IR/DebugInfo.cpp
-
const char * getIntrinsicFromLibfunc (Function & Fn, Type * VT, const TargetLibraryInfo & TLI)Returns the name of the LLVM intrinsic corresponding to the given function.
Defined at line 1536 of file llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
-
void writeAPFloatInternal (raw_ostream & Out, const APFloat & APF)Defined at line 1536 of file llvm/lib/IR/AsmWriter.cpp
-
AttrBuilder IdentifyValidPoisonGeneratingAttributes (CallBase & CB)Attributes that need additional checks as propagating them may change
behavior or cause new UB.
Defined at line 1538 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
void emitPredicateProlog (const RecordKeeper & Records, raw_ostream & OS)Defined at line 1538 of file llvm/utils/TableGen/SubtargetEmitter.cpp
-
bool isIVIncrement (const Value * V, const LoopInfo * LI)Defined at line 1538 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
bool checkAndReplaceCondition (ICmpInst * Cmp, ConstraintInfo & Info, unsigned int NumIn, unsigned int NumOut, Instruction * ContextInst, Module * ReproducerModule, ArrayRef<ReproducerEntry> ReproducerCondStack, DominatorTree & DT, SmallVectorImpl<Instruction *> & ToRemove)Defined at line 1538 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
void emitRemark (const Function & F, OptimizationRemarkEmitter & ORE, bool Skip)Defined at line 1539 of file llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
-
bool isOperationFoldable (User * Usr)Return true if the instruction type of Val is supported by
constantFoldUser(). Currently CastInst, BinaryOperator and FreezeInst only.
Call this before calling constantFoldUser() to find out if it's even worth
attempting to call it.
Defined at line 1540 of file llvm/lib/Analysis/LazyValueInfo.cpp
-
void printConstant (const APFloat & Flt, raw_ostream & CS, bool PrintZero)Defined at line 1542 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
bool isSafeToHoistInstr (Instruction * I, unsigned int Flags)Returns true if it is safe to reorder an instruction across preceding
instructions in a basic block.
Defined at line 1542 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void DumpLiteral4Section (MachOObjectFile * O, const char * sect, uint32_t sect_size, uint64_t sect_addr, bool print_addresses)Defined at line 1543 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void populateProfileSymbolList (MemoryBuffer * Buffer, sampleprof::ProfileSymbolList & PSL)Defined at line 1544 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateInheritance (LLVMDIBuilderRef Builder, LLVMMetadataRef Ty, LLVMMetadataRef BaseTy, uint64_t BaseOffset, uint32_t VBPtrOffset, Flags)Create debugging information entry to establish inheritance relationship
between two types.
Parameters
Builder The DIBuilder.Ty Original type.BaseTy Base type. Ty is inherits from base.BaseOffset Base offset.VBPtrOffset Virtual base pointer offset.Flags Flags to describe inheritance attribute, e.g. privateDefined at line 1545 of file llvm/lib/IR/DebugInfo.cpp
-
AttrKind tokenToAttribute (Kind Kind)Defined at line 1545 of file llvm/lib/AsmParser/LLParser.cpp
-
bool getCastsForInductionPHI (PredicatedScalarEvolution & PSE, const SCEVUnknown * PhiScev, const SCEVAddRecExpr * AR, SmallVectorImpl<Instruction *> & CastInsts)This function is called when we suspect that the update-chain of a phi node
(whose symbolic SCEV expression sin
contains redundant casts,
that can be ignored. (This can happen when the PSCEV rewriter adds a runtime
predicate P under which the SCEV expression for the phi can be the
AddRecurrence
See createAddRecFromPHIWithCast). We want to find the
cast instructions that are involved in the update-chain of this induction.
A caller that adds the required runtime predicate can be free to drop these
cast instructions, and compute the phi using
(instead of some scev
expression with casts).
For example, without a predicate the scev expression can take the following
form:
(Ext ix (Trunc iy ( Start + i*Step ) to ix) to iy)
It corresponds to the following IR sequence:
%for.body:
%x = phi i64 [ 0, %ph ], [ %add, %for.body ]
%casted_phi = "ExtTrunc i64 %x"
%add = add i64 %casted_phi, %step
where %x is given in
PSE.getSCEV(%x) is equal to PSE.getSCEV(%casted_phi) under a predicate,
and the IR sequence that "ExtTrunc i64 %x" represents can take one of
several forms, for example, such as:
ExtTrunc1: %casted_phi = and %x, 2^n-1
or:
ExtTrunc2: %t = shl %x, m
%casted_phi = ashr %t, m
If we are able to find such sequence, we return the instructions
we found, namely %casted_phi and the instructions on its use-def chain up
to the phi (not including the phi).
Defined at line 1545 of file llvm/lib/Analysis/IVDescriptors.cpp
-
void insertTrivialPHIs (CHRScope * Scope, BasicBlock * EntryBlock, BasicBlock * ExitBlock, DenseSet<PHINode *> & TrivialPHIs)A helper for transformScopes. Insert a trivial phi at the scope exit block
for a value that's defined in the scope but used outside it (meaning it's
alive at the exit block).
Defined at line 1545 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
Value * optimizeMemCmpConstantSize (CallInst * CI, Value * LHS, Value * RHS, uint64_t Len, IRBuilderBase & B, const DataLayout & DL)Optimize a memcmp call CI with constant size Len.
Defined at line 1546 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
BasicBlock * splitBlockIfNotFirst (Instruction * I, const Twine & Name)Splits the block at a particular instruction unless it is the first
instruction in the block with a single predecessor.
Defined at line 1547 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
bool readsLaneSubset (const MachineRegisterInfo & MRI, const MachineInstr * MI, const LiveInterval & VirtReg, const TargetRegisterInfo * TRI, SlotIndex Use, const TargetInstrInfo * TII)Return true if
at
Use reads a subset of the lanes live in
Defined at line 1548 of file llvm/lib/CodeGen/RegAllocGreedy.cpp
-
ValueLatticeElement constantFoldUser (User * Usr, Value * Op, const APInt & OpConstVal, const DataLayout & DL)Check if Usr can be simplified to an integer constant when the value of one
of its operands Op is an integer constant OpConstVal. If so, return it as an
lattice value range with a single element or otherwise return an overdefined
lattice value.
Defined at line 1548 of file llvm/lib/Analysis/LazyValueInfo.cpp
-
int readImmediate (struct InternalInstruction * insn, uint8_t size)Consume an immediate operand from an instruction, given the desired operand
size.
Parameters
insn - The instruction whose operand is to be read.size - The width (in bytes) of the operand.Returns
- 0 if the immediate was successfully consumed; nonzero
otherwise.
Defined at line 1548 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
bool isTruePredicate (const Record * Rec)Defined at line 1549 of file llvm/utils/TableGen/SubtargetEmitter.cpp
-
void analyzeCostOfVecReduction (const IntrinsicInst & II, TargetCostKind CostKind, const TargetTransformInfo & TTI, InstructionCost & CostBeforeReduction, InstructionCost & CostAfterReduction)Defined at line 1549 of file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
-
void AddReturnAttributes (CallBase & CB, ValueToValueMapTy & VMap, ClonedCodeInfo & InlinedFunctionInfo)Defined at line 1549 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
const DILocalScope * getRetainedNodeScope (const MDNode * N)Defined at line 1551 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
basic_string getSecFlagsStr (const SecHdrTableEntry & Entry)Defined at line 1552 of file llvm/lib/ProfileData/SampleProfReader.cpp
-
void printConstant (const Constant * COp, unsigned int BitWidth, raw_ostream & CS, bool PrintZero)Defined at line 1553 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
bool isReturnNonNull (Function * F, const SCCNodeSet & SCCNodes, bool & Speculative)Tests whether this function is known to not return null.
Requires that the function returns a pointer.
Returns true if it believes the function will not return a null, and sets
based on whether the returned conclusion is a speculative
conclusion due to SCC calls.
Defined at line 1553 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
void expandSchedPredicates (const Record * Rec, PredicateExpander & PE, bool WrapPredicate, raw_ostream & OS)Defined at line 1554 of file llvm/utils/TableGen/SubtargetEmitter.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateQualifiedType (LLVMDIBuilderRef Builder, unsigned int Tag, LLVMMetadataRef Type)Create debugging information entry for a qualified
type, e.g. 'const int'.
Parameters
Builder The DIBuilder.Tag Tag identifying type, e.g. LLVMDWARFTypeQualifier_volatile_typeType Base Type.Defined at line 1581 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateReferenceType (LLVMDIBuilderRef Builder, unsigned int Tag, LLVMMetadataRef Type)Create debugging information entry for a c++
style reference or rvalue reference type.
Parameters
Builder The DIBuilder.Tag Tag identifying type,Type Base Type.Defined at line 1588 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateNullPtrType (LLVMDIBuilderRef Builder)Create C++11 nullptr type.
Parameters
Builder The DIBuilder.Defined at line 1595 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateForwardDecl (LLVMDIBuilderRef Builder, unsigned int Tag, const char * Name, size_t NameLen, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned int Line, unsigned int RuntimeLang, uint64_t SizeInBits, uint32_t AlignInBits, const char * UniqueIdentifier, size_t UniqueIdentifierLen)Create a permanent forward-declared type.
Parameters
Builder The DIBuilder.Tag A unique tag for this type.Name Type name.NameLen Length of type name.Scope Type scope.File File where this type is defined.Line Line number where this type is defined.RuntimeLang Indicates runtime version for languages like Objective-C.SizeInBits Member size.AlignInBits Member alignment.UniqueIdentifier A unique identifier for the type.UniqueIdentifierLen Length of the unique identifier.Defined at line 1555 of file llvm/lib/IR/DebugInfo.cpp
-
bool processDbgDeclare (FunctionLoweringInfo & FuncInfo, const Value * Address, DIExpression * Expr, DILocalVariable * Var, DebugLoc DbgLoc)Defined at line 1555 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
bool attemptDebugCopyProp (MachineInstr & SinkInst, MachineInstr & DbgMI, Register Reg)If the sunk instruction is a copy, try to forward the copy instead of
leaving an 'undef' DBG_VALUE in the original location. Don't do this if
there's any subregister weirdness involved. Returns true if copy
propagation occurred.
Defined at line 1556 of file llvm/lib/CodeGen/MachineSink.cpp
-
void handleExtBinaryWriter (sampleprof::SampleProfileWriter & Writer, ProfileFormat OutputFormat, MemoryBuffer * Buffer, sampleprof::ProfileSymbolList & WriterList, bool CompressAllSections, bool UseMD5, bool GenPartialProfile)Defined at line 1557 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void splitAround (Instruction * I, const Twine & Name)Split above and below a particular instruction so that it
will be all alone by itself in a block.
Defined at line 1560 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
void collectLocalBranchTargets (ArrayRef Bytes, MCInstrAnalysis * MIA, MCDisassembler * DisAsm, MCInstPrinter * IP, const MCSubtargetInfo * STI, uint64_t SectionAddr, uint64_t Start, uint64_t End, int & Labels)Defined at line 1563 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void DumpLiteral8 (MachOObjectFile * O, uint32_t l0, uint32_t l1, double d)Defined at line 1565 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isVirtualRegisterOperand (MachineOperand & MO)Returns true if
is a virtual register operand.
Defined at line 1566 of file llvm/lib/CodeGen/PeepholeOptimizer.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateReplaceableCompositeType (LLVMDIBuilderRef Builder, unsigned int Tag, const char * Name, size_t NameLen, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned int Line, unsigned int RuntimeLang, uint64_t SizeInBits, uint32_t AlignInBits, Flags, const char * UniqueIdentifier, size_t UniqueIdentifierLen)Create a temporary forward-declared type.
Parameters
Builder The DIBuilder.Tag A unique tag for this type.Name Type name.NameLen Length of type name.Scope Type scope.File File where this type is defined.Line Line number where this type is defined.RuntimeLang Indicates runtime version for languages like Objective-C.SizeInBits Member size.AlignInBits Member alignment.Flags Flags.UniqueIdentifier A unique identifier for the type.UniqueIdentifierLen Length of the unique identifier.Defined at line 1567 of file llvm/lib/IR/DebugInfo.cpp
-
bool willLeaveFunctionImmediatelyAfter (BasicBlock * BB, unsigned int depth)After we split the coroutine, will the given basic block be along
an obvious exit path for the resumption function?
Defined at line 1567 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
void checkCmpInst (sandboxir::Context & Ctx, sandboxir::CmpInst * Cmp)Defined at line 1570 of file llvm/unittests/SandboxIR/TrackerTest.cpp
-
template <typename IndexTy>Type * getIndexedTypeInternal (Type * Ty, ArrayRef<IndexTy> IdxList)Defined at line 1571 of file llvm/lib/IR/Instructions.cpp
-
Value * getPassedArgumentInAlreadyOutlinedFunction (const Argument * A, const OutlinableRegion & Region)For the function call now representing the
find the passed value
to that call that represents Argument
at the call location if the
call has already been replaced with a call to the overall, aggregate
function.
Parameters
A - The Argument to get the passed value for.Region - The extracted Region corresponding to the outlined function.Defined at line 1572 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
map buildLineToUnitMap (iterator_range Units)We want to supply the Unit associated with a .debug_line[.dwo] table when
we dump it, if possible, but still dump the table even if there isn't a Unit.
Therefore, collect up handles on all the Units that point into the
line-table section.
Defined at line 1573 of file llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
-
void narrowToSingleScalarRecipes (VPlan & Plan)Defined at line 1574 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
unsigned int getGNUBinOpPrecedence (const MCAsmInfo & MAI, TokenKind K, MCBinaryExpr::Opcode & Kind, bool ShouldUseLogicalShr)Defined at line 1575 of file llvm/lib/MC/MCParser/AsmParser.cpp
-
APInt estimateBitMaskedAndLowerBound (const ConstantRange & LHS, const ConstantRange & RHS)Estimate the 'bit-masked AND' operation's lower bound.
E.g., given two ranges as follows (single quotes are separators and
have no meaning here),
LHS = [10'00101'1, ; LLo
10'10000'0] ; LHi
RHS = [10'11111'0, ; RLo
10'11111'1] ; RHi
we know that the higher 2 bits of the result is always 10; and we also
notice that RHS[1:6] are always 1, so the result[1:6] cannot be less than
LHS[1:6] (i.e., 00101). Thus, the lower bound is 10'00101'0.
The algorithm is as follows,
1. we first calculate a mask to find the higher common bits by
Mask = ~((LLo ^ LHi) | (RLo ^ RHi) | (LLo ^ RLo));
Mask = clear all non-leading-ones bits in Mask;
in the example, the Mask is set to 11'00000'0;
2. calculate a new mask by setting all common leading bits to 1 in RHS, and
keeping the longest leading ones (i.e., 11'11111'0 in the example);
3. return (LLo
&
new mask) as the lower bound;
4. repeat the step 2 and 3 with LHS and RHS swapped, and update the lower
bound with the larger one.
Defined at line 1577 of file llvm/lib/IR/ConstantRange.cpp
-
bool isArgumentOrArgumentLike (const Value * V)Return true for an Argument or extractvalue(Argument). These are all known
to not alias with FunctionLocal objects and can come up from coerced function
arguments.
Defined at line 1579 of file llvm/lib/Analysis/BasicAliasAnalysis.cpp
-
bool matchIsFPClassLikeFCmp (Value * Op, Value *& ClassVal, uint64_t & ClassMask)Match an fcmp against a special value that performs a test possible by
llvm.is.fpclass.
Defined at line 1580 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool shouldHoistCommonInstructions (Instruction * I1, Instruction * I2, const TargetTransformInfo & TTI)Helper function for hoistCommonCodeFromSuccessors. Return true if identical
instructions
and
can and should be hoisted.
Defined at line 1580 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
content_iterator makeImportedSymbolIterator (const COFFObjectFile * Object, uintptr_t Ptr, int Index)Defined at line 1581 of file llvm/lib/Object/COFFObjectFile.cpp
-
Kind getEdgeKind (Function & OriginalFunction, Function & NewFunction)Gets the Edge::Kind from one function to another by looking at the function's
instructions. Asserts if there is no edge.
Useful for determining what type of edge should exist between functions when
the edge hasn't been created yet.
Defined at line 1582 of file llvm/lib/Analysis/LazyCallGraph.cpp
-
template <Intrinsic::ID IntrID>Instruction * foldBitOrderCrossLogicOp (Value * V, InstCombiner::BuilderTy & Builder)Fold the following cases and accepts bswap and bitreverse intrinsics:
bswap(logic_op(bswap(x), y)) --> logic_op(x, bswap(y))
bswap(logic_op(bswap(x), bswap(y))) --> logic_op(x, y) (ignores multiuse)
Defined at line 1584 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
bool localAllocaNeedsStackSave (CoroAllocaAllocInst * AI)Defined at line 1587 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
void DumpLiteral8Section (MachOObjectFile * O, const char * sect, uint32_t sect_size, uint64_t sect_addr, bool print_addresses)Defined at line 1587 of file llvm/tools/llvm-objdump/MachODump.cpp
-
pair FindCheckType (const FileCheckRequest & Req, StringRef Buffer, StringRef Prefix, bool & Misspelled)Defined at line 1587 of file llvm/lib/FileCheck/FileCheck.cpp
-
Value * getPassedArgumentAndAdjustArgumentLocation (const Argument * A, const OutlinableRegion & Region)For the function call now representing the
find the passed value
to that call that represents Argument
at the call location if the
call has only been replaced by the call to the aggregate function.
Parameters
A - The Argument to get the passed value for.Region - The extracted Region corresponding to the outlined function.Defined at line 1588 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
void addRuntimeUnrollDisableMetaData (Loop * L)Defined at line 1588 of file llvm/lib/Transforms/Vectorize/VPlan.cpp
-
void addSequences (CodeGenSchedModels & SchedModels, ArrayRef<SmallVector<unsigned int, 4>> Seqs, IdxVec & Result, bool IsRead)Defined at line 1590 of file llvm/utils/TableGen/Common/CodeGenSchedule.cpp
-
content_iterator importedSymbolBegin (uint32_t RVA, const COFFObjectFile * Object)Defined at line 1592 of file llvm/lib/Object/COFFObjectFile.cpp
-
unsigned int getChompedLineBreaks (char ChompingIndicator, unsigned int LineBreaks, StringRef Str)Get the number of line breaks after chomping.
Return the number of trailing line breaks to emit, depending on
Defined at line 1592 of file llvm/lib/Support/YAMLParser.cpp
-
int readVVVV (struct InternalInstruction * insn)Consume vvvv from an instruction if it has a VEX prefix.
Defined at line 1592 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
bool isSafePHIToSpeculate (PHINode & PN)PHI instructions that use an alloca and are subsequently loaded can be
rewritten to load both input pointers in the pred blocks and then PHI the
results, allowing the load of the alloca to be promoted.
From this:
%P2 = phi [i32* %Alloca, i32* %Other]
%V = load i32* %P2
to:
%V1 = load i32* %Alloca -> will be mem2reg'd
...
%V2 = load i32* %Other
...
%V = phi [i32 %V1, i32 %V2]
We can do this to a select if its only uses are loads and if the operands
to the select can be loaded unconditionally.
FIXME: This should be hoisted into a generic utility, likely in
Transforms/Util/Local.h
Defined at line 1593 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
template <typename Ty>basic_string ParseAndEmit (StringRef YAML)Defined at line 1596 of file llvm/unittests/Support/YAMLIOTest.cpp
-
bool PhiHasDebugValue (DILocalVariable * DIVar, DIExpression * DIExpr, PHINode * APN)See if there is a dbg.value intrinsic for DIVar for the PHI node.
Defined at line 1596 of file llvm/lib/Transforms/Utils/Local.cpp
-
void mergeSampleProfile (const WeightedFileVector & Inputs, SymbolRemapper * Remapper, StringRef ProfileSymbolListFile, size_t OutputSizeLimit)Defined at line 1597 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
bool isAngleBracketString (SMLoc & StrLoc, SMLoc & EndLoc)This function checks if the next token is
<string
> type or arithmetic.
string that begin with character '
<
' must end with character '>'.
otherwise it is arithmetics.
If the function returns a 'true' value,
the End argument will be filled with the last location pointed to the '>'
character.
Defined at line 1598 of file llvm/lib/MC/MCParser/MasmParser.cpp
-
void dumpRecVec (const ConstRecVec & RV)Defined at line 1599 of file llvm/utils/TableGen/Common/CodeGenSchedule.cpp
-
SmallVector<InstrProfValueData, 2> GetSortedValueDataFromCallTargets (const int & M)Returns the sorted CallTargetMap
by count in descending order.
Defined at line 1600 of file llvm/lib/Transforms/IPO/SampleProfile.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateMemberPointerType (LLVMDIBuilderRef Builder, LLVMMetadataRef PointeeType, LLVMMetadataRef ClassType, uint64_t SizeInBits, uint32_t AlignInBits, Flags)Create debugging information entry for a pointer to member.
Parameters
Builder The DIBuilder.PointeeType Type pointed to by this pointer.ClassType Type for which this pointer points to members of.SizeInBits Size.AlignInBits Alignment.Flags Flags.Defined at line 1600 of file llvm/lib/IR/DebugInfo.cpp
-
content_iterator importedSymbolEnd (uint32_t RVA, const COFFObjectFile * Object)Defined at line 1600 of file llvm/lib/Object/COFFObjectFile.cpp
-
void ARM64EmitUnwindInfo (MCStreamer & streamer, WinEH::FrameInfo * info, bool TryPacked)Populate the .xdata section. The format of .xdata on ARM64 is documented at
https://docs.microsoft.com/en-us/cpp/build/arm64-exception-handling
Defined at line 1600 of file llvm/lib/MC/MCWin64EH.cpp
-
IntegerType * getIntTy (IRBuilderBase & B, const TargetLibraryInfo * TLI)- Emit LibCalls ------------------------------------------------------------//
Defined at line 1603 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
void dumpTransition (const CodeGenSchedModels & SchedModels, const CodeGenSchedClass & FromSC, const CodeGenSchedTransition & SCTrans, const ConstRecVec & Preds)Defined at line 1605 of file llvm/utils/TableGen/Common/CodeGenSchedule.cpp
-
Instruction * narrowInsElt (InsertElementInst & InsElt, InstCombiner::BuilderTy & Builder)If both the base vector and the inserted element are extended from the same
type, do the insert element in the narrow source type followed by extend.
TODO: This can be extended to include other cast opcodes, but particularly
if we create a wider insertelement, make sure codegen is not harmed.
Defined at line 1605 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
void lowerLocalAllocas (ArrayRef LocalAllocas, SmallVectorImpl<Instruction *> & DeadInsts)Turn each of the given local allocas into a normal (dynamic) alloca
instruction.
Defined at line 1605 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
IntegerType * getSizeTTy (IRBuilderBase & B, const TargetLibraryInfo * TLI)Defined at line 1607 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
bool checkAndReplaceMinMax (MinMaxIntrinsic * MinMax, ConstraintInfo & Info, SmallVectorImpl<Instruction *> & ToRemove)Defined at line 1607 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
void processDbgDeclares (FunctionLoweringInfo & FuncInfo)Collect llvm.dbg.declare information. This is done after argument lowering
in case the declarations refer to arguments.
Defined at line 1608 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
bool hasHardUserWithinLoop (const Loop * L, const Instruction * I)===----------------------------------------------------------------------===//
rewriteLoopExitValues - Optimize IV users outside the loop.
As a side effect, reduces the amount of IV processing within the loop.
===----------------------------------------------------------------------===//
Defined at line 1608 of file llvm/lib/Transforms/Utils/LoopUtils.cpp
-
void performSink (MachineInstr & MI, MachineBasicBlock & SuccToSinkTo, int InsertPos, ArrayRef<MIRegs> DbgValuesToSink)Sink an instruction and its associated debug instructions.
Defined at line 1608 of file llvm/lib/CodeGen/MachineSink.cpp
-
bool getFunctionNameAndStartLineForAddress (DWARFCompileUnit * CU, uint64_t Address, DINameKind Kind, FileLineInfoKind FileNameKind, std::string & FunctionName, std::string & StartFile, uint32_t & StartLine, std::optional<uint64_t> & StartAddress)TODO: change input parameter from "uint64_t Address"
into "SectionedAddress Address"
Defined at line 1611 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
void DumpLiteral16 (uint32_t l0, uint32_t l1, uint32_t l2, uint32_t l3)Defined at line 1612 of file llvm/tools/llvm-objdump/MachODump.cpp
-
Value * emitLibCall (LibFunc TheLibFunc, Type * ReturnType, ArrayRef ParamTypes, ArrayRef Operands, IRBuilderBase & B, const TargetLibraryInfo * TLI, bool IsVaArgs)Defined at line 1612 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateBitFieldMemberType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, LLVMMetadataRef File, unsigned int LineNumber, uint64_t SizeInBits, uint64_t OffsetInBits, uint64_t StorageOffsetInBits, Flags, LLVMMetadataRef Type)Create debugging information entry for a bit field member.
Parameters
Builder The DIBuilder.Scope Member scope.Name Member name.NameLen Length of member name.File File where this member is defined.LineNumber Line number.SizeInBits Member size.OffsetInBits Member offset.StorageOffsetInBits Member storage offset.Flags Flags to encode member attribute.Type Parent type.Defined at line 1613 of file llvm/lib/IR/DebugInfo.cpp
-
void emitPredicates (const CodeGenSchedTransition & T, const CodeGenSchedClass & SC, PredicateExpander & PE, raw_ostream & OS)Defined at line 1614 of file llvm/utils/TableGen/SubtargetEmitter.cpp
-
void findCanonNumsForPHI (PHINode * PN, OutlinableRegion & Region, const DenseMap<Value *, Value *> & OutputMappings, SmallVector<std::pair<unsigned int, BasicBlock *>> & CanonNums, bool ReplacedWithOutlinedCall)Find the canonical numbering for the incoming Values into the PHINode
Parameters
PN [in] - The PHINode that we are finding the canonical numbers for.Region [in] - The OutlinableRegion containingOutputMappings [in] - The mapping of output values from outlined region to their original values.CanonNums [out] - The canonical numbering for the incoming values to paired with their incoming block.ReplacedWithOutlinedCall - A flag to use the extracted function call of rather than the overall function's call.Defined at line 1615 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
void hoistLockstepIdenticalDbgVariableRecords (Instruction * TI, Instruction * I1, SmallVectorImpl<Instruction *> & OtherInsts)Hoists DbgVariableRecords from
and
that are identical
in lock-step to
This matches how dbg.* intrinsics are hoisting in
hoistCommonCodeFromSuccessors. e.g. The input:
I1 DVRs: { x, z },
OtherInsts: { I2 DVRs: { x, y, z } }
would result in hoisting only DbgVariableRecord x.
Defined at line 1615 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
basic_string angleBracketString (StringRef BracketContents)creating a string without the escape characters '!'.
Defined at line 1616 of file llvm/lib/MC/MCParser/MasmParser.cpp
-
TreePatternNode & getOperandNum (unsigned int OpNo, TreePatternNode & N, const SDNodeInfo & NodeInfo, unsigned int & ResNo)getOperandNum - Return the node corresponding to operand #OpNo in tree
N, and the result number in ResNo.
Defined at line 1617 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
void inferFromTransitions (ArrayRef<PredTransition> LastTransitions, unsigned int FromClassIdx, CodeGenSchedModels & SchedModels)Create a new SchedClass for each variant found by inferFromRW. Pass
Defined at line 1617 of file llvm/utils/TableGen/Common/CodeGenSchedule.cpp
-
bool isPointerOperand (Value * V)Defined at line 1618 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
void printZeroUpperMove (const MachineInstr * MI, MCStreamer & OutStreamer, int SclWidth, int VecWidth, const char * ShuffleComment)Defined at line 1618 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
int readMaskRegister (struct InternalInstruction * insn)Read an mask register from the opcode field of an instruction.
Parameters
insn - The instruction whose opcode field is to be read.Returns
- 0 on success; nonzero otherwise.
Defined at line 1619 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
bool canUsePrivateLabel (const MCAsmInfo & AsmInfo, const MCSection & Section)Defined at line 1619 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
void DumpLiteral16Section (MachOObjectFile * O, const char * sect, uint32_t sect_size, uint64_t sect_addr, bool print_addresses)Defined at line 1619 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool valueCoversEntireFragment (Type * ValTy, DbgVariableRecord * DVR)Check if the alloc size of
is large enough to cover the variable
(or fragment of the variable) described by
This is primarily intended as a helper for the different
ConvertDebugDeclareToDebugValue functions. The dbg.declare that is converted
describes an alloca'd variable, so we need to use the alloc size of the
value when doing the comparison. E.g. an i1 value will be identified as
covering an n-bit fragment, if the store size of i1 is at least n bits.
Defined at line 1620 of file llvm/lib/Transforms/Utils/Local.cpp
-
bool isIdempotentBinaryIntrinsic (Intrinsic::ID IID)Helper to match idempotent binary intrinsics, namely, intrinsics where
`f(f(x, y), y) == f(x, y)` holds.
Defined at line 1621 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
Value * simplifyAndOrOfICmpsWithConstants (ICmpInst * Cmp0, ICmpInst * Cmp1, bool IsAnd)Test if a pair of compares with a shared operand and 2 constants has an
empty set intersection, full set union, or if one compare is a superset of
the other.
Defined at line 1621 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool shouldEmitUdt (const DIType * T)Defined at line 1622 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
SmallVector getNames (const DWARFDie & DIE, bool IncludeStrippedTemplateNames, bool IncludeObjCNames, bool IncludeLinkageName)Constructs a full name for a DIE. Potentially it does recursive lookup on
DIEs. This can lead to extraction of DIEs in a different CU or TU.
Defined at line 1622 of file llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
-
bool validThroughout (LexicalScopes & LScopes, const MachineInstr * DbgValue, const MachineInstr * RangeEnd, const InstructionOrdering & Ordering)Determine whether a *singular* DBG_VALUE is valid for the entirety of its
enclosing lexical scope. The check ensures there are no other instructions
in the same lexical scope preceding the DBG_VALUE and that its range is
either open or otherwise rolls off the end of the scope.
Defined at line 1622 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
void processSingleLocVars (FunctionLoweringInfo & FuncInfo, const FunctionVarLocs * FnVarLocs)Collect single location variable information generated with assignment
tracking. This is done after argument lowering in case the declarations
refer to arguments.
Defined at line 1623 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
basic_string getCoverageMapErrString (coveragemap_error Err, const std::string & ErrMsg)Defined at line 1623 of file llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
-
void addSymbolizer (MCContext & Ctx, const Target * Target, const Triple & TheTriple, MCDisassembler * DisAsm, uint64_t SectionAddr, ArrayRef Bytes, SectionSymbolsTy & Symbols, int & SynthesizedLabelNames)Create an MCSymbolizer for the target and add it to the MCDisassembler.
This is currently only used on AMDGPU, and assumes the format of the
void * argument passed to AMDGPU's createMCSymbolizer.
Defined at line 1623 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void assertCHRRegionsHaveBiasedBranchOrSelect (CHRScope * Scope)Assert that all the CHR regions of the scope have a biased branch or select.
Defined at line 1624 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
void addNonNullAttrs (const SCCNodeSet & SCCNodes, SmallPtrSet<Function *, 8> & Changed)Deduce nonnull attributes for the SCC.
Defined at line 1624 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
bool isInterestingPointerComparison (Instruction * I)This is a rough heuristic; it may cause both false positives and
false negatives. The proper implementation requires cooperation with
the frontend.
Defined at line 1625 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
bool checkAndReplaceCmp (CmpIntrinsic * I, ConstraintInfo & Info, SmallVectorImpl<Instruction *> & ToRemove)Defined at line 1627 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateClassType (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, LLVMMetadataRef File, unsigned int LineNumber, uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits, Flags, LLVMMetadataRef DerivedFrom, LLVMMetadataRef * Elements, unsigned int NumElements, LLVMMetadataRef VTableHolder, LLVMMetadataRef TemplateParamsNode, const char * UniqueIdentifier, size_t UniqueIdentifierLen)Create debugging information entry for a class.
Parameters
Scope Scope in which this class is defined.Name Class name.NameLen The length of the C string passed toFile File where this member is defined.LineNumber Line number.SizeInBits Member size.AlignInBits Member alignment.OffsetInBits Member offset.Flags Flags to encode member attribute, e.g. private.DerivedFrom Debug info of the base class of this type.Elements Class members.NumElements Number of class elements.VTableHolder Debug info of the base class that contains vtable for this type. This is used in DW_AT_containing_type. See DWARF documentation for more info.TemplateParamsNode Template type parameters.UniqueIdentifier A unique identifier for the type.UniqueIdentifierLen Length of the unique identifier.Defined at line 1629 of file llvm/lib/IR/DebugInfo.cpp
-
Instruction * narrowUDivURem (BinaryOperator & I, InstCombinerImpl & IC)If we have zero-extended operands of an unsigned div or rem, we may be able
to narrow the operation (sink the zext below the math).
Defined at line 1629 of file llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
-
void writeConstantInternal (raw_ostream & Out, const Constant * CV, AsmWriterContext & WriterCtx)Defined at line 1629 of file llvm/lib/IR/AsmWriter.cpp
-
StringRef getDeoptLowering (CallBase * Call)Defined at line 1631 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
int readOperands (struct InternalInstruction * insn)Consults the specifier for an instruction and consumes all
operands for that instruction, interpreting them as it goes.
Defined at line 1632 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
bool matchUAddWithOverflowConstantEdgeCases (CmpInst * Cmp, BinaryOperator *& Add)Match special-case patterns that check for unsigned add overflow.
Defined at line 1634 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
unsigned int getCIEVersion (bool IsEH, unsigned int DwarfVersion)Defined at line 1635 of file llvm/lib/MC/MCDwarf.cpp
-
int findInsertLocation (MachineBasicBlock * MBB, SlotIndex Idx, LiveIntervals & LIS, int & BBSkipInstsMap)Find an iterator for inserting a DBG_VALUE instruction.
Defined at line 1635 of file llvm/lib/CodeGen/LiveDebugVariables.cpp
-
Instruction * foldTruncInsEltPair (InsertElementInst & InsElt, bool IsBigEndian, InstCombiner::BuilderTy & Builder)If we are inserting 2 halves of a value into adjacent elements of a vector,
try to convert to a single insert with appropriate bitcasts.
Defined at line 1638 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
BasicBlock * getBasicBlockByName (Function & F, StringRef Name)Defined at line 1639 of file llvm/unittests/Analysis/MemorySSATest.cpp
-
template <typename DerivedCCG, typename FuncTy, typename CallTy>void checkEdge (const std::shared_ptr<ContextEdge<DerivedCCG, FuncTy, CallTy>> & Edge)Defined at line 1639 of file llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
-
bool isInterestingPointerSubtraction (Instruction * I)This is a rough heuristic; it may cause both false positives and
false negatives. The proper implementation requires cooperation with
the frontend.
Defined at line 1639 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
void ComputePostOrders (Function & F, SmallVectorImpl<BasicBlock *> & PostOrder, SmallVectorImpl<BasicBlock *> & ReverseCFGPostOrder, unsigned int NoObjCARCExceptionsMDKind, DenseMap<const BasicBlock *, BBState> & BBStates)Defined at line 1639 of file llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
-
Value * emitGetSwiftErrorValue (IRBuilder<> & Builder, Type * ValueTy, coro::Shape & Shape)Get the current swifterror value.
Defined at line 1643 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
Value * foldIdempotentBinaryIntrinsicRecurrence (InstCombinerImpl & IC, IntrinsicInst * II)Attempt to simplify value-accumulating recurrences of kind:
%umax.acc = phi i8 [ %umax, %backedge ], [ %a, %entry ]
%umax = call i8
.umax.i8(i8 %umax.acc, i8 %b)
And let the idempotent binary intrinsic be hoisted, when the operands are
known to be loop-invariant.
Defined at line 1644 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
void DumpLiteralPointerSection (MachOObjectFile * O, const SectionRef & Section, const char * sect, uint32_t sect_size, uint64_t sect_addr, bool print_addresses)Defined at line 1644 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void insertDbgValueOrDbgVariableRecord (DIBuilder & Builder, Value * DV, DILocalVariable * DIVar, DIExpression * DIExpr, const DebugLoc & NewLoc, ilist_iterator_w_bits Instr)Defined at line 1645 of file llvm/lib/Transforms/Utils/Local.cpp
-
void printBroadcast (const MachineInstr * MI, MCStreamer & OutStreamer, int Repeats, int BitWidth)Defined at line 1645 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
optional getExpressionFrameOffset (ArrayRef Expr, optional FrameBaseReg)Defined at line 1645 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
Instruction * getInstructionByName (Function & F, StringRef Name)Defined at line 1646 of file llvm/unittests/Analysis/MemorySSATest.cpp
-
void assertBranchOrSelectConditionHoisted (CHRScope * Scope, BasicBlock * PreEntryBlock)Assert that all the condition values of the biased branches and selects have
been hoisted to the pre-entry block or outside of the scope.
Defined at line 1646 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
void makeStatepointExplicitImpl (CallBase * Call, const SmallVectorImpl<Value *> & BasePtrs, const SmallVectorImpl<Value *> & LiveVariables, PartiallyConstructedSafepointRecord & Result, int & Replacements, const int & PointerToBase, GCStrategy * GC)Defined at line 1646 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool areAllOperandsNonInsts (Value * V)Checks if the provided value does not require scheduling. It does not
require scheduling if this is not an instruction or it is an instruction
that does not read/write memory and all operands are either not instructions
or phi nodes or instructions from different blocks.
Defined at line 1844 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool isUsedOutsideBlock (Value * V)Checks if the provided value does not require scheduling. It does not
require scheduling if this is not an instruction or it is an instruction
that does not read/write memory and all users are phi nodes or instructions
from the different blocks.
Defined at line 1861 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateArtificialType (LLVMDIBuilderRef Builder, LLVMMetadataRef Type)Create a uniqued DIType* clone with FlagArtificial set.
Parameters
Builder The DIBuilder.Type The underlying type.Defined at line 1648 of file llvm/lib/IR/DebugInfo.cpp
-
bool processGlobal (GlobalValue & GV, function_ref<TargetTransformInfo &(Function &)> GetTTI, function_ref<TargetLibraryInfo &(Function &)> GetTLI, function_ref<DominatorTree &(Function &)> LookupDomTree)Analyze the specified global variable and optimize it if possible. If we
make a change, return true.
Defined at line 1648 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
unsigned int getCOFFSectionFlags (SectionKind K, const TargetMachine & TM)===----------------------------------------------------------------------===//
COFF
===----------------------------------------------------------------------===//
Defined at line 1648 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
template <typename DerivedCCG, typename FuncTy, typename CallTy>void checkNode (const ContextNode<DerivedCCG, FuncTy, CallTy> * Node, bool CheckEdges)Defined at line 1648 of file llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
-
void removeEntryFromStack (const StackEntry & E, ConstraintInfo & Info, Module * ReproducerModule, SmallVectorImpl<ReproducerEntry> & ReproducerCondStack, SmallVectorImpl<StackEntry> & DFSInStack)Defined at line 1649 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
bool canLoopBeDeleted (Loop * L, SmallVector<RewritePhi, 8> & RewritePhiSet)Check whether it is possible to delete the loop after rewriting exit
value. If it is possible, ignore ReplaceExitValue and do rewriting
aggressively.
Defined at line 1649 of file llvm/lib/Transforms/Utils/LoopUtils.cpp
-
template <class ELFT>void getAddend (uint64_t & , const Elf_Rel_Impl<ELFT, false> & )Defined at line 1650 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
template <class ELFT>void getAddend (uint64_t & ToSet, const Elf_Rel_Impl<ELFT, true> & Rela)Defined at line 1653 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
Value * canonicalizeClampLike (SelectInst & Sel0, ICmpInst & Cmp0, InstCombiner::BuilderTy & Builder, InstCombiner & IC)See if this is a pattern like:
%old_cmp1 = icmp slt i32 %x, C2
%old_replacement = select i1 %old_cmp1, i32 %target_low, i32 %target_high
%old_x_offseted = add i32 %x, C1
%old_cmp0 = icmp ult i32 %old_x_offseted, C0
%r = select i1 %old_cmp0, i32 %x, i32 %old_replacement
This can be rewritten as more canonical pattern:
%new_cmp1 = icmp slt i32 %x, -C1
%new_cmp2 = icmp sge i32 %x, C0-C1
%new_clamped_low = select i1 %new_cmp1, i32 %target_low, i32 %x
%r = select i1 %new_cmp2, i32 %target_high, i32 %new_clamped_low
Iff -C1 s
<
= C2 s
<
= C0-C1
Also ULT predicate can also be UGT iff C0 != -1 (+invert result)
SLT predicate can also be SGT iff C2 != INT_MAX (+invert res.)
Defined at line 1653 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
DIExpression * dropInitialDeref (const DIExpression * DIExpr)Defined at line 1656 of file llvm/lib/Transforms/Utils/Local.cpp
-
const char * LLVMDITypeGetName (LLVMMetadataRef DType, size_t * Length)Get the name of this DIType.
Parameters
DType The DIType.Length The length of the returned string.Defined at line 1658 of file llvm/lib/IR/DebugInfo.cpp
-
Value * emitSetSwiftErrorValue (IRBuilder<> & Builder, Value * V, coro::Shape & Shape)Set the given value as the current swifterror value.
Returns a slot that can be used as a swifterror slot.
Defined at line 1658 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
template <class T>Error initRelocations (RelocationSection * Relocs, T RelRange)Defined at line 1658 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
Value * simplifyAndOfICmpsWithAdd (ICmpInst * Op0, ICmpInst * Op1, const InstrInfoQuery & IIQ)Defined at line 1658 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
PHINode * findOrCreatePHIInBlock (PHINode & PN, OutlinableRegion & Region, BasicBlock * OverallPhiBlock, const DenseMap<Value *, Value *> & OutputMappings, DenseSet<PHINode *> & UsedPHIs)Find, or add PHINode
to the combined PHINode Block
in order to condense the number of instructions added to the outlined
function.
Parameters
PN [in] - The PHINode that we are finding the canonical numbers for.Region [in] - The OutlinableRegion containingOverallPhiBlock [in] - The overall PHIBlock we are trying to find in.OutputMappings [in] - The mapping of output values from outlined region to their original values.UsedPHIs [in, out] - The PHINodes in the block that have already been matched.Returns
the newly found or created PHINode in
Defined at line 1658 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
void emitSchedModelHelperEpilogue (raw_ostream & OS, bool ShouldReturnZero)Used by method `SubtargetEmitter::emitSchedModelHelpersImpl()` to generate
epilogue code for the auto-generated helper.
Defined at line 1660 of file llvm/utils/TableGen/SubtargetEmitter.cpp
-
bool printExtend (const MachineInstr * MI, MCStreamer & OutStreamer, int SrcEltBits, int DstEltBits, bool IsSext)Defined at line 1663 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
uint64_t LLVMDITypeGetSizeInBits (LLVMMetadataRef DType)Get the size of this DIType in bits.
Parameters
DType The DIType.Defined at line 1664 of file llvm/lib/IR/DebugInfo.cpp
-
Value * simplifyReductionOperand (Value * Arg, bool CanReorderLanes)Defined at line 1664 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
bool upgradeMemoryAttr (MemoryEffects & ME, Kind Kind)Defined at line 1665 of file llvm/lib/AsmParser/LLParser.cpp
-
bool isMemModifiedBetween (ilist_iterator_w_bits Begin, ilist_iterator_w_bits End, const MemoryLocation & Loc, AAResults & AA)Check if memory loc modified between two instrs in the same BB
Defined at line 1666 of file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
-
bool areIdenticalUpToCommutativity (const Instruction * I1, const Instruction * I2)Defined at line 1666 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
int makePerProcessorTransitions (const PredTransition & Trans, ArrayRef ProcIndices)Defined at line 1667 of file llvm/utils/TableGen/Common/CodeGenSchedule.cpp
-
void speculatePHINodeLoads (IRBuilderTy & IRB, PHINode & PN)Defined at line 1667 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
bool checkOrAndOpImpliedByOther (FactOrCheck & CB, ConstraintInfo & Info, Module * ReproducerModule, SmallVectorImpl<ReproducerEntry> & ReproducerCondStack, SmallVectorImpl<StackEntry> & DFSInStack, SmallVectorImpl<Instruction *> & ToRemove)Check if either the first condition of an AND or OR is implied by the
(negated in case of OR) second condition or vice versa.
Defined at line 1667 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
uint64_t LLVMDITypeGetOffsetInBits (LLVMMetadataRef DType)Get the offset of this DIType in bits.
Parameters
DType The DIType.Defined at line 1668 of file llvm/lib/IR/DebugInfo.cpp
-
void replaceAsyncResumeFunction (CoroSuspendAsyncInst * Suspend, Value * Continuation)Defined at line 1668 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
APFloat constantFoldFpUnary (const MachineInstr & MI, const MachineRegisterInfo & MRI, const APFloat & Val)Defined at line 1668 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
pair getFirstFileTripleAndFeatures ()Defined at line 1668 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
unsigned int getGNUBinOpPrecedence (TokenKind K, MCBinaryExpr::Opcode & Kind, bool ShouldUseLogicalShr, bool EndExpressionAtGreater)Defined at line 1670 of file llvm/lib/MC/MCParser/MasmParser.cpp
-
bool hasMCSchedPredicate (const Record * Rec)Defined at line 1671 of file llvm/utils/TableGen/SubtargetEmitter.cpp
-
uint32_t LLVMDITypeGetAlignInBits (LLVMMetadataRef DType)Get the alignment of this DIType in bits.
Parameters
DType The DIType.Defined at line 1672 of file llvm/lib/IR/DebugInfo.cpp
-
void AddAlignmentAssumptions (CallBase & CB, InlineFunctionInfo & IFI)If the inlined function has non-byval align arguments, then
add
.assume-based alignment assumptions to preserve this information.
Defined at line 1672 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
bool findGCD (unsigned int Bits, const APInt & AM, const APInt & BM, const APInt & Delta, APInt & G, APInt & X, APInt & Y)Kirch's algorithm, from
Optimizing Supercompilers for Supercomputers
Michael Wolfe
MIT Press, 1989
Program 2.1, page 29.
Computes the GCD of AM and BM.
Also finds a solution to the equation ax - by = gcd(a, b).
Returns true if dependence disproved; i.e., gcd does not divide Delta.
We don't use OverflowSafeSignedAPInt here because it's known that this
algorithm doesn't overflow.
Defined at line 1674 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
bool allSameType (ArrayRef VL)Defined at line 1675 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void doInstrumentAddress (AddressSanitizer * Pass, Instruction * I, Instruction * InsertBefore, Value * Addr, MaybeAlign Alignment, unsigned int Granularity, TypeSize TypeStoreSize, bool IsWrite, Value * SizeArgument, bool UseCalls, uint32_t Exp, RuntimeCallInserter & RTCI)Defined at line 1675 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
unsigned int LLVMDITypeGetLine (LLVMMetadataRef DType)Get the source line where this DIType is declared.
Parameters
DType The DIType.Defined at line 1676 of file llvm/lib/IR/DebugInfo.cpp
-
uint16_t LLVMGetDINodeTag (LLVMMetadataRef MD)Get the dwarf::Tag of a DINode
Defined at line 1654 of file llvm/lib/IR/DebugInfo.cpp
-
Value * emitSetAndGetSwiftErrorValueAround (Instruction * Call, AllocaInst * Alloca, coro::Shape & Shape)Set the swifterror value from the given alloca before a call,
then put in back in the alloca afterwards.
Returns an address that will stand in for the swifterror slot
until splitting.
Defined at line 1676 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
pair FindCheckType (const FileCheckRequest & Req, StringRef Buffer, StringRef Prefix)Defined at line 1677 of file llvm/lib/FileCheck/FileCheck.cpp
-
StringRef getSegmentName (const MachOObjectFile * MachO, const SectionRef & Section)Defined at line 1677 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
uint32_t ARMCountOfUnwindCodes (ArrayRef Insns)Defined at line 1678 of file llvm/lib/MC/MCWin64EH.cpp
-
void ProfileTernOpInit (FoldingSetNodeID & ID, unsigned int Opcode, const Init * LHS, const Init * MHS, const Init * RHS, const RecTy * Type)Defined at line 1679 of file llvm/lib/TableGen/Record.cpp
-
LLVMDITypeGetFlags (LLVMMetadataRef DType)Get the flags associated with this DIType.
Parameters
DType The DIType.Defined at line 1680 of file llvm/lib/IR/DebugInfo.cpp
-
Expected getSectionName (const llvm::object::COFFObjectFile * Obj, int32_t SectionNumber, const coff_section * Section)Defined at line 1681 of file llvm/tools/llvm-readobj/COFFDumper.cpp
-
void addNoUndefAttrs (const SCCNodeSet & SCCNodes, SmallPtrSet<Function *, 8> & Changed)Deduce noundef attributes for the SCC.
Defined at line 1681 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
int findNextInsertLocation (MachineBasicBlock * MBB, int I, SlotIndex StopIdx, ArrayRef<MachineOperand> LocMOs, LiveIntervals & LIS, const TargetRegisterInfo & TRI)Find an iterator for inserting the next DBG_VALUE instruction
(or end if no more insert locations found).
Defined at line 1682 of file llvm/lib/CodeGen/LiveDebugVariables.cpp
-
bool doesInTreeUserNeedToExtract (Value * Scalar, Instruction * UserInst, TargetLibraryInfo * TLI, const TargetTransformInfo * TTI)Defined at line 1682 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
Instruction * reassociateFCmps (BinaryOperator & BO, InstCombiner::BuilderTy & Builder)This a limited reassociation for a special case (see above) where we are
checking if two values are either both NAN (unordered) or not-NAN (ordered).
This could be handled more generally in '-reassociation', but it seems like
an unlikely pattern for a large number of logic ops and fcmps.
Defined at line 1682 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
template <class ELFT>Error elf2yaml (raw_ostream & Out, const object::ELFFile<ELFT> & Obj, unique_ptr DWARFCtx)Defined at line 1683 of file llvm/tools/obj2yaml/elf2yaml.cpp
-
void coerceArguments (int & Builder, FunctionType * FnTy, ArrayRef FnArgs, SmallVectorImpl<Value *> & CallArgs)Coerce the arguments in
according to
in
Defined at line 1683 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
bool hasMCSchedPredicates (const CodeGenSchedTransition & T)Defined at line 1685 of file llvm/utils/TableGen/SubtargetEmitter.cpp
-
size_t SkipWord (StringRef Str, size_t Loc)From the given position, find the next character after the word.
Defined at line 1687 of file llvm/lib/FileCheck/FileCheck.cpp
-
void createFakeELFSections (ObjectFile & Obj)Defined at line 1687 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
const GlobalValue * getComdatGVForCOFF (const GlobalValue * GV)Defined at line 1688 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
void ChangeCalleesToFastCall (Function * F)Walk all of the direct calls of the specified function, changing them to
FastCC.
Defined at line 1689 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
void removeCommonBlendMask (VPBlendRecipe * Blend)Try to see if all of
masks share a common value logically and'ed
and remove it from the masks.
Defined at line 1689 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void collectVariantClasses (const CodeGenSchedModels & SchedModels, IdxVec & VariantClasses, bool OnlyExpandMCInstPredicates)Defined at line 1689 of file llvm/utils/TableGen/SubtargetEmitter.cpp
-
void printSignExtend (const MachineInstr * MI, MCStreamer & OutStreamer, int SrcEltBits, int DstEltBits)Defined at line 1692 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
bool shouldDump (SymbolicFile & Obj)Defined at line 1693 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
AttributeList StripAttr (LLVMContext & C, AttributeList Attrs, AttrKind A)Defined at line 1696 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
void addDefaultPrefixes (FileCheckRequest & Req)Defined at line 1696 of file llvm/lib/FileCheck/FileCheck.cpp
-
void printZeroExtend (const MachineInstr * MI, MCStreamer & OutStreamer, int SrcEltBits, int DstEltBits)Defined at line 1696 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
template <Intrinsic::ID IntrID>Value * foldMinimumOverTrailingOrLeadingZeroCount (Value * I0, Value * I1, const DataLayout & DL, InstCombiner::BuilderTy & Builder)Fold an unsigned minimum of trailing or leading zero bits counts:
umin(cttz(CtOp, ZeroUndef), ConstOp) --> cttz(CtOp | (1
<
<
ConstOp))
umin(ctlz(CtOp, ZeroUndef), ConstOp) --> ctlz(CtOp | (SignedMin
>> ConstOp))
Defined at line 1696 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateExpression (LLVMDIBuilderRef Builder, uint64_t * Addr, size_t Length)Create a new descriptor for the specified variable which has a complex
address expression for its address.
Parameters
Builder The DIBuilder.Addr An array of complex address operations.Length Length of the address operation array.Defined at line 1703 of file llvm/lib/IR/DebugInfo.cpp
-
bool checkIsIndPhi (PHINode * Phi, Loop * L, ScalarEvolution * SE, InductionDescriptor & ID)Checks if it is safe to call InductionDescriptor::isInductionPHI for
and returns true if this Phi is an induction phi in the loop. When
isInductionPHI returns true,
will be also be set by isInductionPHI.
Defined at line 1703 of file llvm/lib/Transforms/Utils/LoopUtils.cpp
-
std::optional<OwningBinary<Binary>> fetchBinaryByBuildID (const ObjectFile & Obj)Tries to fetch a more complete version of the given object file using its
Build ID. Returns std::nullopt if nothing was found.
Defined at line 1703 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void RemoveAttribute (Function * F, AttrKind A)Defined at line 1704 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
OverflowSafeSignedAPInt floorOfQuotient (const OverflowSafeSignedAPInt & OA, const OverflowSafeSignedAPInt & OB)Defined at line 1704 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
int getSelectionForCOFF (const GlobalValue * GV)Defined at line 1705 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
void getXCOFFExports (XCOFFObjectFile * XCOFFObj, int & SymbolList, StringRef ArchiveName)Defined at line 1705 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
Value * simplifyAndOrOfICmpsWithCtpop (ICmpInst * Cmp0, ICmpInst * Cmp1, bool IsAnd)Try to simplify and/or of icmp with ctpop intrinsic.
Defined at line 1706 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void eliminateSwiftErrorAlloca (Function & F, AllocaInst * Alloca, coro::Shape & Shape)Eliminate a formerly-swifterror alloca by inserting the get/set
intrinsics and attempting to MemToReg the alloca away.
Defined at line 1706 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
void simplifyBlends (VPlan & Plan)Normalize and simplify VPBlendRecipes. Should be run after simplifyRecipes
to make sure the masks are simplified.
Defined at line 1706 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
WeightedFile parseWeightedFile (const StringRef & WeightedFilename)Defined at line 1707 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void collectProcessorIndices (const CodeGenSchedClass & SC, IdxVec & ProcIndices)Defined at line 1708 of file llvm/utils/TableGen/SubtargetEmitter.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateConstantValueExpression (LLVMDIBuilderRef Builder, uint64_t Value)Create a new descriptor for the specified variable that does not have an
address, but does have a constant value.
Parameters
Builder The DIBuilder.Value The constant value.Defined at line 1709 of file llvm/lib/IR/DebugInfo.cpp
-
const Init * ItemApply (const Init * LHS, const Init * MHSe, const Init * RHS, const Record * CurRec)Defined at line 1709 of file llvm/lib/TableGen/Record.cpp
-
ConstantInt * extractNumericCGTypeId (const Function & F)Extracts a generalized numeric type identifier of a Function's type from
type metadata. Returns null if metadata cannot be found.
Defined at line 1709 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
void HandleByValArgumentInit (Type * ByValType, Value * Dst, Value * Src, MaybeAlign SrcAlign, Module * M, BasicBlock * InsertBlock, InlineFunctionInfo & IFI, Function * CalledFunc)Defined at line 1709 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
Value * matchCondition (BranchInst * BI, BasicBlock * LoopEntry, bool JmpOnZero)Check if the given conditional branch is based on the comparison between
a variable and zero, and if the variable is non-zero or zero (JmpOnZero is
true), the control yields to the loop entry. If the branch matches the
behavior, the variable involved in the comparison is returned. This function
will be called to see if the precondition and postcondition of the loop are
in desirable form.
Defined at line 1709 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
MemoryLocation getLocation (Instruction * I)Defined at line 1711 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool isZeroSize (Value * Size)Defined at line 1715 of file llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateGlobalVariableExpression (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, const char * Linkage, size_t LinkLen, LLVMMetadataRef File, unsigned int LineNo, LLVMMetadataRef Ty, LLVMBool LocalToUnit, LLVMMetadataRef Expr, LLVMMetadataRef Decl, uint32_t AlignInBits)Create a new descriptor for the specified variable.
Parameters
Scope Variable scope.Name Name of the variable.NameLen The length of the C string passed toLinkage Mangled name of the variable.LinkLen The length of the C string passed toFile File where this variable is defined.LineNo Line number.Ty Variable Type.LocalToUnit Boolean flag indicate whether this variable is externally visible or not.Expr The location of the global relative to the attached GlobalVariable.Decl Reference to the corresponding declaration. variables.AlignInBits Variable alignment(or 0 if no alignment attr was specified)Defined at line 1715 of file llvm/lib/IR/DebugInfo.cpp
-
ConstantRange computeShlNUW (const ConstantRange & LHS, const ConstantRange & RHS)Defined at line 1715 of file llvm/lib/IR/ConstantRange.cpp
-
const Init * ForeachDagApply (const Init * LHS, const DagInit * MHSd, const Init * RHS, const Record * CurRec)Defined at line 1716 of file llvm/lib/TableGen/Record.cpp
-
bool hasChangeableCCImpl (Function * F)Return true if this is a calling convention that we'd like to change. The
idea here is that we don't want to mess with the convention if the user
explicitly requested something with performance implications like coldcc,
GHC, or anyregcc.
Defined at line 1716 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool hasVectorBeenPadded (const DICompositeType * CTy)Returns true if the vector's size differs from the sum of sizes of elements
the user specified. This can occur if the vector has been rounded up to
fit memory alignment constraints.
Defined at line 1718 of file llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
-
Value * createPlaceholderForShuffleVector (Value * V)===----------------------------------------------------------------------===//
ShuffleVectorInst Implementation
===----------------------------------------------------------------------===//
Defined at line 1719 of file llvm/lib/IR/Instructions.cpp
-
void disassembleObject (ObjectFile & Obj, const ObjectFile & DbgObj, DisassemblerTarget & PrimaryTarget, std::optional<DisassemblerTarget> & SecondaryTarget, SourcePrinter & SP, bool InlineRelocs, raw_ostream & OS)Defined at line 1719 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
bool isSimple (Instruction * I)Defined at line 1720 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool isAlwaysTrue (const CodeGenSchedTransition & T)Defined at line 1721 of file llvm/utils/TableGen/SubtargetEmitter.cpp
-
map_to_llvmopcode (int opcode)-- Opcode mapping
Defined at line 1721 of file llvm/lib/IR/Core.cpp
-
void addWeightedInput (WeightedFileVector & WNI, const WeightedFile & WF)Defined at line 1721 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
OverflowSafeSignedAPInt ceilingOfQuotient (const OverflowSafeSignedAPInt & OA, const OverflowSafeSignedAPInt & OB)Defined at line 1722 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
Instruction * matchDeMorgansLaws (BinaryOperator & I, InstCombiner & IC)Match variations of De Morgan's Laws:
(~A
&
~B) == (~(A | B))
(~A | ~B) == (~(A
&
B))
Defined at line 1723 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
Error sanitizeArguments (const Triple & TT, const char * ArgV0)Defined at line 1725 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
Value * simplifyAndOfICmps (ICmpInst * Op0, ICmpInst * Op1, const SimplifyQuery & Q)Defined at line 1726 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
LLVMMetadataRef LLVMDIGlobalVariableExpressionGetVariable (LLVMMetadataRef GVE)Retrieves the
associated with this global variable expression.
Parameters
GVE The global variable expression.Defined at line 1727 of file llvm/lib/IR/DebugInfo.cpp
-
void initializeMemoryDependenceWrapperPassPassOnce (PassRegistry & Registry)Defined at line 1727 of file llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
-
bool leftDistributesOverRight (BinaryOps LOp, bool HasNUW, bool HasNSW, Intrinsic::ID ROp)Return whether "X LOp (Y ROp Z)" is always equal to
"(X LOp Y) ROp (X LOp Z)".
Defined at line 1730 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
bool collectMultiplyFactors (SmallVectorImpl<ValueEntry> & Ops, SmallVectorImpl<Factor> & Factors)Build up a vector of value/power pairs factoring a product.
Given a series of multiplication operands, build a vector of factors and
the powers each is raised to when forming the final product. Sort them in
the order of descending power.
(x*x) -> [(x, 2)]
((x*x)*x) -> [(x, 3)]
((((x*y)*x)*y)*x) -> [(x, 3), (y, 2)]
Defined at line 1730 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
LLVMMetadataRef LLVMDIBuilderGetOrCreateSubrange (LLVMDIBuilderRef Builder, int64_t LowerBound, int64_t Count)Create a descriptor for a value range.
Parameters
Builder The DIBuilder.LowerBound Lower bound of the subrange, e.g. 0 for C, 1 for Fortran.Count Count of elements in the subrange.Defined at line 1865 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIGlobalVariableExpressionGetExpression (LLVMMetadataRef GVE)Retrieves the
associated with this global variable expression.
Parameters
GVE The global variable expression.Defined at line 1731 of file llvm/lib/IR/DebugInfo.cpp
-
int map_from_llvmopcode ( code)Defined at line 1731 of file llvm/lib/IR/Core.cpp
-
void deleteDeadClonedBlocks (Loop & L, ArrayRef ExitBlocks, ArrayRef VMaps, DominatorTree & DT, MemorySSAUpdater * MSSAU)Defined at line 1731 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
void eliminateSwiftErrorArgument (Function & F, Argument & Arg, coro::Shape & Shape, SmallVectorImpl<AllocaInst *> & AllocasToPromote)"Eliminate" a swifterror argument by reducing it to the alloca case
and then loading and storing in the prologue and epilog.
The argument keeps the swifterror flag.
Defined at line 1732 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
void addMask (SmallVectorImpl<int> & Mask, ArrayRef SubMask, bool ExtendingManyInputs)Shuffles
in accordance with the given
Parameters
ExtendingManyInputs Supports reshuffling of the mask with not only one but two input vectors.Defined at line 1733 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
Value * HandleByValArgument (Type * ByValType, Value * Arg, Instruction * TheCall, const Function * CalledFunc, InlineFunctionInfo & IFI, MaybeAlign ByValAlignment)When inlining a call site that has a byval argument,
we have to make the implicit memcpy explicit by adding it.
Defined at line 1734 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
ScalarizationResult canScalarizeAccess (VectorType * VecTy, Value * Idx, Instruction * CtxI, AssumptionCache & AC, const DominatorTree & DT)Check if it is legal to scalarize a memory access to
at index
must access a valid vector element.
Defined at line 1735 of file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
-
LLVMMetadataRef LLVMDIVariableGetFile (LLVMMetadataRef Var)Get the metadata of the file associated with a given variable.
Parameters
Var The variable object.Defined at line 1736 of file llvm/lib/IR/DebugInfo.cpp
-
uint64_t getOptimizationFlags (const Value * V)Defined at line 1736 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
Value * simplifyX86insertps (const IntrinsicInst & II, InstCombiner::BuilderTy & Builder)Defined at line 1737 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
ConstantRange computeShlNSWWithNNegLHS (const APInt & LHSMin, const APInt & LHSMax, unsigned int RHSMin, unsigned int RHSMax)Defined at line 1738 of file llvm/lib/IR/ConstantRange.cpp
-
InstructionCost getCostForIntrinsics (Intrinsic::ID ID, ArrayRef Operands, const VPRecipeWithIRFlags & R, ElementCount VF, VPCostContext & Ctx)Compute the cost for the intrinsic
with
produced by
Defined at line 1738 of file llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
-
void computeUberSets (int & UberSets, int & RegSets, CodeGenRegBank & RegBank)Partition registers into UberRegSets, where each set is the transitive
closure of the union of overlapping register classes.
UberRegSets[0] is a special non-allocatable set.
Defined at line 1739 of file llvm/utils/TableGen/Common/CodeGenRegisters.cpp
-
LLVMMetadataRef LLVMDIVariableGetScope (LLVMMetadataRef Var)Get the metadata of the scope associated with a given variable.
Parameters
Var The variable object.Defined at line 1740 of file llvm/lib/IR/DebugInfo.cpp
-
void hoistConditionalLoadsStores (BranchInst * BI, SmallVectorImpl<Instruction *> & SpeculatedConditionalLoadsStores, optional Invert, Instruction * Sel)If the target supports conditional faulting,
we look for the following pattern:
and transform it into:
where cload/cstore are represented by llvm.masked.load/store intrinsics,
e.g.
So we need to turn hoisted load/store into cload/cstore.
Parameters
BI The branch instruction.SpeculatedConditionalLoadsStores The load/store instructions that will be speculated.Invert indicates if speculates FalseBB. Only used in triangle CFG.Code
BB: ... %cond = icmp ult %x, %y br i1 %cond, label %TrueBB, label %FalseBB FalseBB: store i32 1, ptr %q, align 4 ... TrueBB: %maskedloadstore = load i32, ptr %b, align 4 store i32 %maskedloadstore, ptr %p, align 4 ...BB: ... %cond = icmp ult %x, %y %maskedloadstore = cload i32, ptr %b, %cond cstore i32 %maskedloadstore, ptr %p, %cond cstore i32 1, ptr %q, ~%cond br i1 %cond, label %TrueBB, label %FalseBB FalseBB: ... TrueBB: ...%vcond = bitcast i1 %cond to <1 x i1> %v0 = call <1 x i32> @llvm.masked.load.v1i32.p0 (ptr %b, i32 4, <1 x i1> %vcond, <1 x i32> poison) %maskedloadstore = bitcast <1 x i32> %v0 to i32 call void @llvm.masked.store.v1i32.p0 (<1 x i32> %v0, ptr %p, i32 4, <1 x i1> %vcond) %cond.not = xor i1 %cond, true %vcond.not = bitcast i1 %cond.not to <1 x i> call void @llvm.masked.store.v1i32.p0 (<1 x i32> <i32 1>, ptr %q, i32 4, <1x i1> %vcond.not)Defined at line 1740 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
GEPNoWrapFlags mapFromLLVMGEPNoWrapFlags (LLVMGEPNoWrapFlags GEPFlags)-- GEP wrap flag conversions
Defined at line 1743 of file llvm/lib/IR/Core.cpp
-
const Init * ForeachHelper (const Init * LHS, const Init * MHS, const Init * RHS, const RecTy * Type, const Record * CurRec)Applies RHS to all elements of MHS, using LHS as a temp variable.
Defined at line 1743 of file llvm/lib/TableGen/Record.cpp
-
unsigned int LLVMDIVariableGetLine (LLVMMetadataRef Var)Get the source line where this
is declared.
Parameters
Var The DIVariable.Defined at line 1744 of file llvm/lib/IR/DebugInfo.cpp
-
bool isIndirectBrTarget (BasicBlock * BB)Defined at line 1744 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
bool isOrdered (const Instruction * I)Return true if the instruction has ordering constraints.
Note specifically that this only considers stores and loads
because others are still considered ModRef by getModRefInfo.
Defined at line 1745 of file llvm/lib/Analysis/MemorySSA.cpp
-
basic_string formatSegMapDescriptorFlag (uint32_t IndentLevel, OMFSegDescFlags Flags)Defined at line 1745 of file llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
-
template <typename PassManagerT, typename CallbacksT>bool callbacksAcceptPassName (StringRef Name, CallbacksT & Callbacks)Tests whether registered callbacks will accept a given pass name.
When parsing a pipeline text, the type of the outermost pipeline may be
omitted, in which case the type is automatically determined from the first
pass name in the text. This may be a name that is handled through one of the
callbacks. We check this through the oridinary parsing callbacks by setting
up a dummy PassManager in order to not force the client to also handle this
type of query.
Defined at line 1746 of file llvm/lib/Passes/PassBuilder.cpp
-
bool canUseSizedAtomicCall (unsigned int Size, Align Alignment, const DataLayout & DL)In order to use one of the sized library calls such as
__atomic_fetch_add_4, the alignment must be sufficient, the size
must be one of the potentially-specialized sizes, and the value
type must actually exist in C on the target (otherwise, the
function wouldn't actually be defined.)
Defined at line 1746 of file llvm/lib/CodeGen/AtomicExpandPass.cpp
-
bool hasChangeableCC (Function * F, int & ChangeableCCCache)Defined at line 1747 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
SelectHandSpeculativity isSafeLoadOfSelectToSpeculate (LoadInst & LI, SelectInst & SI, bool PreserveCFG)Defined at line 1747 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
LLVMMetadataRef LLVMTemporaryMDNode (LLVMContextRef Ctx, LLVMMetadataRef * Data, size_t NumElements)Create a new temporary
Suitable for use in constructing cyclic
structures. A temporary
is not uniqued, may be RAUW'd,
and must be manually deleted with
Parameters
Ctx The context in which to construct the temporary node.Data The metadata elements.NumElements Number of metadata elements.Defined at line 1748 of file llvm/lib/IR/DebugInfo.cpp
-
Value * simplifyOperationIntoSelectOperand (Instruction & I, SelectInst * SI, bool IsTrueArm)Defined at line 1748 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
Value * simplifyOrOfICmpsWithAdd (ICmpInst * Op0, ICmpInst * Op1, const InstrInfoQuery & IIQ)Defined at line 1749 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
uint32_t ARMCountOfInstructionBytes (ArrayRef Insns, bool * HasCustom)Defined at line 1749 of file llvm/lib/MC/MCWin64EH.cpp
-
bool longSimCandCompare (std::vector<IRInstructionData *> & InstrList, bool Structure, unsigned int Length, unsigned int StartIdxOne, unsigned int StartIdxTwo)A helper function that accepts an instruction list from a module made up of
two blocks of two legal instructions and terminator, and checks them for
instruction similarity.
Defined at line 1751 of file llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
-
Value * foldIntrinsicUsingDistributiveLaws (IntrinsicInst * II, InstCombiner::BuilderTy & Builder)Attempts to factorise a common term
in an instruction that has the form "(A op' B) op (C op' D)
where op is an intrinsic and op' is a binop
Defined at line 1751 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
bool isArray (AllocaInst * AI)Determine whether this alloca is either a VLA or an array.
Defined at line 1752 of file llvm/lib/Transforms/Utils/Local.cpp
-
void LLVMDisposeTemporaryMDNode (LLVMMetadataRef TempNode)Deallocate a temporary node.
Calls
before deleting, so any remaining
references will be reset.
Parameters
TempNode The temporary metadata node.Defined at line 1754 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMGEPNoWrapFlags mapToLLVMGEPNoWrapFlags (GEPNoWrapFlags GEPFlags)Defined at line 1755 of file llvm/lib/IR/Core.cpp
-
void parseInputFilenamesFile (MemoryBuffer * Buffer, WeightedFileVector & WFV)Defined at line 1755 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
bool isColdCallSite (CallBase & CB, BlockFrequencyInfo & CallerBFI)Return true if the block containing the call site has a BlockFrequency of
less than ColdCCRelFreq% of the entry block.
Defined at line 1757 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
template <typename CallbacksT>bool isModulePassName (StringRef Name, CallbacksT & Callbacks)Defined at line 1757 of file llvm/lib/Passes/PassBuilder.cpp
-
bool isStructure (AllocaInst * AI)Determine whether this alloca is a structure.
Defined at line 1758 of file llvm/lib/Transforms/Utils/Local.cpp
-
void LLVMMetadataReplaceAllUsesWith (LLVMMetadataRef TempTargetMetadata, LLVMMetadataRef Replacement)Replace all uses of temporary metadata.
Parameters
TempTargetMetadata The temporary metadata node.Replacement The replacement metadata node.Defined at line 1758 of file llvm/lib/IR/DebugInfo.cpp
-
ConstantRange computeShlNSWWithNegLHS (const APInt & LHSMin, const APInt & LHSMax, unsigned int RHSMin, unsigned int RHSMax)Defined at line 1759 of file llvm/lib/IR/ConstantRange.cpp
-
void deleteDeadBlocksFromLoop (Loop & L, SmallVectorImpl<BasicBlock *> & ExitBlocks, DominatorTree & DT, LoopInfo & LI, MemorySSAUpdater * MSSAU, ScalarEvolution * SE, LPMUpdater & LoopUpdater)Defined at line 1761 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
GlobalValue * createGlobalFwdRef (Module * M, PointerType * PTy)===----------------------------------------------------------------------===//
GlobalValue Reference/Resolution Routines.
===----------------------------------------------------------------------===//
Defined at line 1762 of file llvm/lib/AsmParser/LLParser.cpp
-
bool canMarkAsVisited (const User * Usr)Defined at line 1764 of file llvm/lib/Transforms/IPO/Attributor.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateTempGlobalVariableFwdDecl (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, const char * Linkage, size_t LnkLen, LLVMMetadataRef File, unsigned int LineNo, LLVMMetadataRef Ty, LLVMBool LocalToUnit, LLVMMetadataRef Decl, uint32_t AlignInBits)Create a new descriptor for the specified global variable that is temporary
and meant to be RAUWed.
Parameters
Scope Variable scope.Name Name of the variable.NameLen The length of the C string passed toLinkage Mangled name of the variable.LnkLen The length of the C string passed toFile File where this variable is defined.LineNo Line number.Ty Variable Type.LocalToUnit Boolean flag indicate whether this variable is externally visible or not.Decl Reference to the corresponding declaration.AlignInBits Variable alignment(or 0 if no alignment attr was specified)Defined at line 1765 of file llvm/lib/IR/DebugInfo.cpp
-
const Init * FilterHelper (const Init * LHS, const Init * MHS, const Init * RHS, const RecTy * Type, const Record * CurRec)Evaluates RHS for all elements of MHS, using LHS as a temp variable.
Creates a new list with the elements that evaluated to true.
Defined at line 1765 of file llvm/lib/TableGen/Record.cpp
-
void moveBBContents (BasicBlock * FromBB, Instruction * InsertBefore)Move all instructions except the terminator from FromBB right before
InsertBefore
Defined at line 1767 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
StringRef getCOFFSectionNameForUniqueGlobal (SectionKind Kind)Defined at line 1767 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
void fixupOrderingIndices (MutableArrayRef<unsigned int> Order)Order may have elements assigned special value (size) which is out of
bounds. Such indices only appear on places which correspond to undef values
(see canReuseExtract for details) and used in order to avoid undef values
have effect on operands ordering.
The first loop below simply finds all unused indices and then the next loop
nest assigns these indices for undef values positions.
As an example below Order has two undef positions and they have assigned
values 3 and 7 respectively:
before: 6 9 5 4 9 2 1 0
after: 6 3 5 4 7 2 1 0
Defined at line 1768 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
pair FindFirstMatchingPrefix (const FileCheckRequest & Req, PrefixMatcher & Matcher, StringRef & Buffer, unsigned int & LineNumber, Check::FileCheckType & CheckTy)Searches the buffer for the first prefix in the prefix regular expression.
This searches the buffer using the provided regular expression, however it
enforces constraints beyond that:
1) The found prefix must not be a suffix of something that looks like
a valid prefix.
2) The found prefix must be followed by a valid check type suffix using
above.
If this routine returns a valid prefix, it will also shrink
to
start at the beginning of the returned prefix, increment
for
each new line consumed from
and set
to the type of
check found by examining the suffix.
If no valid prefix is found, the state of Buffer, LineNumber, and CheckTy
is unspecified.
Defined at line 1768 of file llvm/lib/FileCheck/FileCheck.cpp
-
pair inferDomainOfAffine (OverflowSafeSignedAPInt A, OverflowSafeSignedAPInt B, OverflowSafeSignedAPInt UB)Given an affine expression of the form A*k + B, where k is an arbitrary
integer, infer the possible range of k based on the known range of the
affine expression. If we know A*k + B is non-negative, i.e.,
A*k + B >= 0
we can derive the following inequalities for k when A is positive:
k >= -B / A
Since k is an integer, it means k is greater than or equal to the
ceil(-B / A).
If the upper bound of the affine expression
is passed, the following
inequality can be derived as well:
A*k + B
<
= UB
which leads to:
k
<
= (UB - B) / A
Again, as k is an integer, it means k is less than or equal to the
floor((UB - B) / A).
The similar logic applies when A is negative, but the inequalities sign flip
while working with them.
Preconditions:
is non-zero, and we know A*k + B is non-negative.
Defined at line 1769 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
bool isValidCandidateForColdCC (Function & F, function_ref<BlockFrequencyInfo &(Function &)> GetBFI, const int & AllCallsCold)This function checks if the input function F is cold at all call sites. It
also looks each call site's containing function, returning false if the
caller function contains other non cold calls. The input vector AllCallsCold
contains a list of functions that only have call sites in cold blocks.
Defined at line 1770 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
void eliminateSwiftError (Function & F, coro::Shape & Shape)Eliminate all problematic uses of swifterror arguments and allocas
from the function. We'll fix them up later when splitting the function.
Defined at line 1770 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
Value * foldOperationIntoSelectOperand (Instruction & I, SelectInst * SI, Value * NewOp, InstCombiner & IC)Defined at line 1773 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
void swapBBContents (BasicBlock * BB1, BasicBlock * BB2)Swap instructions between
and
but keep terminators intact.
Defined at line 1775 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
LLVMDbgRecordRef LLVMDIBuilderInsertDeclareRecordBefore (LLVMDIBuilderRef Builder, LLVMValueRef Storage, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMValueRef Instr)Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).
See https://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-changes
The debug format can be switched later after inserting the records using
LLVMSetIsNewDbgInfoFormat, if needed for legacy or transitionary reasons.
Insert a Declare DbgRecord before the given instruction.
Parameters
Builder The DIBuilder.Storage The storage of the variable to declare.VarInfo The variable's debug info descriptor.Expr A complex location expression for the variable.DebugLoc Debug info location.Instr Instruction acting as a location for the new record.Defined at line 1776 of file llvm/lib/IR/DebugInfo.cpp
-
Instruction * foldLogicCastConstant (BinaryOperator & Logic, CastInst * Cast, InstCombinerImpl & IC)Fold {and,or,xor} (cast X), C.
Defined at line 1776 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
int merge_main (StringRef ProgName)Defined at line 1776 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
ConstantRange computeShlNSW (const ConstantRange & LHS, const ConstantRange & RHS)Defined at line 1778 of file llvm/lib/IR/ConstantRange.cpp
-
void replaceArgumentUses (OutlinableRegion & Region, DenseMap<Value *, BasicBlock *> & OutputBBs, const DenseMap<Value *, Value *> & OutputMappings, bool FirstFunction)Within an extracted function, replace the argument uses of the extracted
region with the arguments of the function for an OutlinableGroup.
Parameters
Region [in] - The region of extracted code to be changed.OutputBBs [in,out] - The BasicBlock for the output stores for this region.FirstFunction [in] - A flag to indicate whether we are using this function to define the overall outlined function for all the regions, or if we are operating on one of the following regions.Defined at line 1780 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
Expected<SymbolicFile::basic_symbol_iterator_range> getDynamicSyms (SymbolicFile & Obj)Defined at line 1782 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
Value * buildMultiplyTree (IRBuilderBase & Builder, SmallVectorImpl<Value *> & Ops)Build a tree of multiplies, computing the product of Ops.
Defined at line 1784 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
template <typename CallbacksT>bool isCGSCCPassName (StringRef Name, CallbacksT & Callbacks)Defined at line 1785 of file llvm/lib/Passes/PassBuilder.cpp
-
Align computeAlignmentAfterScalarization (Align VectorAlignment, Type * ScalarType, Value * Idx, const DataLayout & DL)The memory operation on a vector of
had alignment of
Compute the maximal, but conservatively correct,
alignment that will be valid for the memory operation on a single scalar
element of the same type with index
Defined at line 1786 of file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
-
bool isUsedByLifetimeMarker (Value * V)Check whether this Value is used by a lifetime intrinsic.
Defined at line 1787 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
bool optimizeVectorInductionWidthForTCAndVFUF (VPlan & Plan, ElementCount BestVF, unsigned int BestUF)Optimize the width of vector induction variables in
based on a known
constant Trip Count,
and
Defined at line 1787 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
bool getSymbolNamesFromObject (SymbolicFile & Obj, int & SymbolList)Returns false if there is error found or true otherwise.
Defined at line 1791 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
void changeCallSitesToColdCC (Function * F)Defined at line 1792 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
SmallBitVector getAltInstrMask (ArrayRef VL, Type * ScalarTy, unsigned int Opcode0, unsigned int Opcode1)Defined at line 1794 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
LLVMDbgRecordRef LLVMDIBuilderInsertDeclareRecordAtEnd (LLVMDIBuilderRef Builder, LLVMValueRef Storage, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMBasicBlockRef Block)Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).
See https://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-changes
The debug format can be switched later after inserting the records using
LLVMSetIsNewDbgInfoFormat, if needed for legacy or transitionary reasons.
Insert a Declare DbgRecord at the end of the given basic block. If the basic
block has a terminator instruction, the record is inserted before that
terminator instruction.
Parameters
Builder The DIBuilder.Storage The storage of the variable to declare.VarInfo The variable's debug info descriptor.Expr A complex location expression for the variable.DebugLoc Debug info location.Block Basic block acting as a location for the new record.Defined at line 1794 of file llvm/lib/IR/DebugInfo.cpp
-
void updateSuccessor (BranchInst * BI, BasicBlock * OldBB, BasicBlock * NewBB, std::vector<DominatorTree::UpdateType> & DTUpdates, bool MustUpdateOnce)Update BI to jump to NewBB instead of OldBB. Records updates to the
dominator tree in DTUpdates. If
is true, assert that
is exactly once in BI's successor list.
Defined at line 1794 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
bool hasLifetimeMarkers (AllocaInst * AI)Check whether the given alloca already has
lifetime.start or lifetime.end intrinsics.
Defined at line 1796 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
Value * simplifyOrOfICmps (ICmpInst * Op0, ICmpInst * Op1, const SimplifyQuery & Q)Defined at line 1796 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Value * simplifyX86extrq (IntrinsicInst & II, Value * Op0, ConstantInt * CILength, ConstantInt * CIIndex, InstCombiner::BuilderTy & Builder)Attempt to simplify SSE4A EXTRQ/EXTRQI instructions using constant folding
or conversion to a shuffle vector.
Defined at line 1796 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
void computeUberWeights (MutableArrayRef<UberRegSet> UberSets, CodeGenRegBank & RegBank)Recompute each UberSet weight after changing unit weights.
Defined at line 1798 of file llvm/utils/TableGen/Common/CodeGenRegisters.cpp
-
TypeSetByHwMode getTypeForRegClassByHwMode (const CodeGenTarget & T, const Record * R, ArrayRef<SMLoc> Loc)RegClassByHwMode acts like ValueTypeByHwMode, taking the type of the
register class from the active mode.
Defined at line 1800 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
unsigned int computeNumSignBitsFromRangeMetadata (const GAnyLoad * Ld, unsigned int TyBits)Compute the known number of sign bits with attached range metadata in the
memory operand. If this is an extending load, accounts for the behavior of
the high bits.
Defined at line 1801 of file llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
-
bool isDispSafeForFrameIndexOrRegBase (int64_t Val)Defined at line 1802 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
bool hasOnlyColdCalls (Function & F, function_ref<BlockFrequencyInfo &(Function &)> GetBFI, int & ChangeableCCCache)This function iterates over all the call instructions in the input Function
and checks that all call sites are in cold blocks and are allowed to use the
coldcc calling convention.
Defined at line 1802 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
ArrayRef<RTLIB::Libcall> GetRMWLibcall (BinOp Op)Defined at line 1802 of file llvm/lib/CodeGen/AtomicExpandPass.cpp
-
bool foldUnusualPatterns (Function & F, DominatorTree & DT, TargetTransformInfo & TTI, TargetLibraryInfo & TLI, AliasAnalysis & AA, AssumptionCache & AC, bool & MadeCFGChange)This is the entry point for folds that could be implemented in regular
InstCombine, but they are separated because they are not expected to
occur frequently and/or have more than a constant-length pattern match.
Defined at line 1803 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
bool shiftAmountKnownInRange (Register ShiftAmount, const MachineRegisterInfo & MRI)Shifts return poison if shiftwidth is larger than the bitwidth.
Defined at line 1805 of file llvm/lib/CodeGen/GlobalISel/Utils.cpp
-
void sinkLifetimeStartMarkers (Function & F, coro::Shape & Shape, SuspendCrossingInfo & Checker, const DominatorTree & DT)For each local variable that all of its user are only used inside one of
suspended region, we sink their lifetime.start markers to the place where
after the suspend block. Doing so minimizes the lifetime of each variable,
hence minimizing the amount of data we end up putting on the frame.
Defined at line 1805 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
bool replaceSubOverflowUses (IntrinsicInst * II, Value * A, Value * B, SmallVectorImpl<Instruction *> & ToRemove)Defined at line 1806 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
void checkARMInstructions (MCStreamer & Streamer, ArrayRef Insns, const MCSymbol * Begin, const MCSymbol * End, StringRef Name, StringRef Type)Defined at line 1808 of file llvm/lib/MC/MCWin64EH.cpp
-
int replicateMask (ArrayRef Val, unsigned int VF)Replicates the given
times.
Defined at line 1809 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool isAMCompletelyFolded (const TargetTransformInfo & TTI, KindType Kind, MemAccessTy AccessTy, GlobalValue * BaseGV, Immediate BaseOffset, bool HasBaseReg, int64_t Scale, Instruction * Fixup)Defined at line 1809 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
void addConstantComments (const MachineInstr * MI, MCStreamer & OutStreamer)Defined at line 1809 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
LLVMDbgRecordRef LLVMDIBuilderInsertDbgValueRecordBefore (LLVMDIBuilderRef Builder, LLVMValueRef Val, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMValueRef Instr)Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).
See https://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-changes
The debug format can be switched later after inserting the records using
LLVMSetIsNewDbgInfoFormat, if needed for legacy or transitionary reasons.
Insert a new debug record before the given instruction.
Parameters
Builder The DIBuilder.Val The value of the variable.VarInfo The variable's debug info descriptor.Expr A complex location expression for the variable.DebugLoc Debug info location.Instr Instruction acting as a location for the new record.Defined at line 1810 of file llvm/lib/IR/DebugInfo.cpp
-
void speculateSelectInstLoads (SelectInst & SI, LoadInst & LI, IRBuilderTy & IRB)Defined at line 1810 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
template <typename CallbacksT>bool isFunctionPassName (StringRef Name, CallbacksT & Callbacks)Defined at line 1812 of file llvm/lib/Passes/PassBuilder.cpp
-
void DumpInitTermPointerSection (MachOObjectFile * O, const SectionRef & Section, const char * sect, uint32_t sect_size, uint64_t sect_addr, SymbolAddressMap * AddrMap, bool verbose)Defined at line 1812 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool allocaWouldBeStaticInEntry (const AllocaInst * AI)Return the result of AI->isStaticAlloca() if AI were moved to the entry
block. Allocas used in inalloca calls and allocas of dynamic array size
cannot be static.
Defined at line 1816 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
void moveLCSSAPhis (BasicBlock * InnerExit, BasicBlock * InnerHeader, BasicBlock * InnerLatch, BasicBlock * OuterHeader, BasicBlock * OuterLatch, BasicBlock * OuterExit, Loop * InnerLoop, LoopInfo * LI)Move Lcssa PHIs to the right place.
Defined at line 1817 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
void inversePermutation (ArrayRef Indices, SmallVectorImpl<int> & Mask)Defined at line 1819 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool crashingBBWithoutEffect (const BasicBlock & BB)Defined at line 1820 of file llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
-
DebugLoc inlineDebugLoc (DebugLoc OrigDL, DILocation * InlinedAt, LLVMContext & Ctx, DenseMap<const MDNode *, MDNode *> & IANodes)Returns a DebugLoc for a new DILocation which is a clone of
inlined at
is an inlined-at cache.
Defined at line 1822 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
void overlapInstrProfile (const std::string & BaseFilename, const std::string & TestFilename, const OverlapFuncFilters & FuncFilter, raw_fd_ostream & OS, bool IsCS)Computer the overlap b/w profile BaseFilename and profile TestFilename.
Defined at line 1822 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
Value * simplifyAndOrOfFCmpsWithConstants (FCmpInst * Cmp0, FCmpInst * Cmp1, bool IsAnd)Test if a pair of compares with a shared operand and 2 constants has an
empty set intersection, full set union, or if one compare is a superset of
the other.
Defined at line 1822 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
const char * getElfMipsOptionsOdkType (unsigned int Odk)Defined at line 1823 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool hasZeroSizedFragment (DbgVariableRecord & DbgValue)Defined at line 1827 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
uint32_t getMaxNumAnnotations (InstrProfValueKind ValueProfKind)Defined at line 1827 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
MachineBasicBlock * findFalseBlock (MachineBasicBlock * BB, MachineBasicBlock * TrueBB)findFalseBlock - BB has a fallthrough. Find its 'false' successor given
its 'true' successor.
Defined at line 1828 of file llvm/lib/CodeGen/BranchFolding.cpp
-
LLVMDbgRecordRef LLVMDIBuilderInsertDbgValueRecordAtEnd (LLVMDIBuilderRef Builder, LLVMValueRef Val, LLVMMetadataRef VarInfo, LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMBasicBlockRef Block)Only use in "new debug format" (LLVMIsNewDbgInfoFormat() is true).
See https://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-changes
The debug format can be switched later after inserting the records using
LLVMSetIsNewDbgInfoFormat, if needed for legacy or transitionary reasons.
Insert a new debug record at the end of the given basic block. If the
basic block has a terminator instruction, the record is inserted before
that terminator instruction.
Parameters
Builder The DIBuilder.Val The value of the variable.VarInfo The variable's debug info descriptor.Expr A complex location expression for the variable.DebugLoc Debug info location.Block Basic block acting as a location for the new record.Defined at line 1828 of file llvm/lib/IR/DebugInfo.cpp
-
void reorderScalars (SmallVectorImpl<Value *> & Scalars, ArrayRef Mask)Reorders the list of scalars in accordance with the given
Defined at line 1829 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
Instruction * tryToReuseConstantFromSelectInComparison (SelectInst & Sel, ICmpInst & Cmp, InstCombinerImpl & IC)If we have
%cmp = icmp [canonical predicate] i32 %x, C0
%r = select i1 %cmp, i32 %y, i32 C1
Where C0 != C1 and %x may be different from %y, see if the constant that we
will have if we flip the strictness of the predicate (i.e. without changing
the result) is identical to the C1 in select. If it matches we can change
original comparison to one with swapped predicate, reuse the constant,
and swap the hands of select.
Defined at line 1831 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool isARMTerminator (const WinEH::Instruction & inst)Defined at line 1833 of file llvm/lib/MC/MCWin64EH.cpp
-
bool isSafeCheapLoadStore (const Instruction * I, const TargetTransformInfo & TTI)Defined at line 1833 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void fixupLineNumbers (Function * Fn, ilist_iterator FI, Instruction * TheCall, bool CalleeHasDebugInfo)Update inlined instructions' line numbers to
to encode location where these instructions are inlined.
Defined at line 1833 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
bool hasMustTailCallers (Function * F)Defined at line 1835 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
template <typename CallbacksT>bool isMachineFunctionPassName (StringRef Name, CallbacksT & Callbacks)Defined at line 1835 of file llvm/lib/Passes/PassBuilder.cpp
-
template <class Container>void addRegAndItsAliases (Register Reg, const TargetRegisterInfo * TRI, Container & Set)Defined at line 1837 of file llvm/lib/CodeGen/BranchFolding.cpp
-
bool tryToSimplifyOverflowMath (IntrinsicInst * II, ConstraintInfo & Info, SmallVectorImpl<Instruction *> & ToRemove)Defined at line 1838 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
Value * simplifyInstructionWithPHI (Instruction & I, PHINode * PN, Value * InValue, BasicBlock * InBB, const DataLayout & DL, SimplifyQuery SQ)Defined at line 1839 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
bool sinkCmpExpression (CmpInst * Cmp, const TargetLowering & TLI, const DataLayout & DL)Sink the given CmpInst into user blocks to reduce the number of virtual
registers that must be created and coalesced. This is a clear win except on
targets with multiple condition code registers (PowerPC), where it might
lose; some adjustment may be wanted there.
Return true if any changes are made.
Defined at line 1843 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
bool hasInvokeCallers (Function * F)Defined at line 1844 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool includesPoison (UndefPoisonKind Kind)Defined at line 1845 of file llvm/lib/CodeGen/GlobalISel/Utils.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateAutoVariable (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, LLVMMetadataRef File, unsigned int LineNo, LLVMMetadataRef Ty, LLVMBool AlwaysPreserve, Flags, uint32_t AlignInBits)Create a new descriptor for a local auto variable.
Parameters
Builder The DIBuilder.Scope The local scope the variable is declared in.Name Variable name.NameLen Length of variable name.File File where this variable is defined.LineNo Line number.Ty Metadata describing the type of the variable.AlwaysPreserve If true, this descriptor will survive optimizations.Flags Flags.AlignInBits Variable alignment.Defined at line 1845 of file llvm/lib/IR/DebugInfo.cpp
-
Function * replaceAliasWithAliasee (Module * SrcModule, GlobalAlias * GA)Make alias a clone of its aliasee.
Defined at line 1845 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
void ARMEmitUnwindCode (MCStreamer & streamer, const WinEH::Instruction & inst)Unwind opcode encodings and restrictions are documented at
https://docs.microsoft.com/en-us/cpp/build/arm-exception-handling
Defined at line 1846 of file llvm/lib/MC/MCWin64EH.cpp
-
bool normalizeWeight (CodeGenRegister * Reg, int & UberSets, int & RegSets, BitVector & NormalRegs, int & NormalUnits, CodeGenRegBank & RegBank)normalizeWeight is a computeRegUnitWeights helper that adjusts the weight of
a register and its subregisters so that they have the same weight as their
UberSet. Self-recursion processes the subregister tree in postorder so
subregisters are normalized first.
Side effects:
- creates new adopted register units
- causes superregisters to inherit adopted units
- increases the weight of "singular" units
- induces recomputation of UberWeights.
Defined at line 1847 of file llvm/utils/TableGen/Common/CodeGenRegisters.cpp
-
bool includesUndef (UndefPoisonKind Kind)Defined at line 1849 of file llvm/lib/CodeGen/GlobalISel/Utils.cpp
-
template <typename T>void rewriteMemOpOfSelect (SelectInst & SI, T & I, SelectHandSpeculativity Spec, DomTreeUpdater & DTU)Defined at line 1849 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
bool runImpl (Function & F, AssumptionCache & AC, TargetTransformInfo & TTI, TargetLibraryInfo & TLI, DominatorTree & DT, AliasAnalysis & AA, bool & MadeCFGChange)This is the entry point for all transforms. Pass manager differences are
handled in the callers of this function.
Defined at line 1850 of file llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
-
uint64_t getRawAttributeMask (AttrKind Val)===----------------------------------------------------------------------===//
Functions for parsing blocks from the bitcode file
===----------------------------------------------------------------------===//
Defined at line 1850 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
void RemovePreallocated (Function * F)Defined at line 1851 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool canCreateUndefOrPoison (Register Reg, const MachineRegisterInfo & MRI, bool ConsiderFlagsAndMetadata, UndefPoisonKind Kind)Defined at line 1853 of file llvm/lib/CodeGen/GlobalISel/Utils.cpp
-
int findHoistingInsertPosAndDeps (MachineBasicBlock * MBB, const TargetInstrInfo * TII, const TargetRegisterInfo * TRI, int & Uses, int & Defs)findHoistingInsertPosAndDeps - Find the location to move common instructions
in successors to. The location is usually just before the terminator,
however if the terminator is a conditional branch and its previous
instruction is the flag setting instruction, the previous instruction is
the preferred location. This function also gathers uses and defs of the
instructions from the insertion point to the end of the block. The data is
used by HoistCommonCodeInSuccs to ensure safety.
Defined at line 1854 of file llvm/lib/CodeGen/BranchFolding.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateParameterVariable (LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char * Name, size_t NameLen, unsigned int ArgNo, LLVMMetadataRef File, unsigned int LineNo, LLVMMetadataRef Ty, LLVMBool AlwaysPreserve, Flags)Create a new descriptor for a function parameter variable.
Parameters
Builder The DIBuilder.Scope The local scope the variable is declared in.Name Variable name.NameLen Length of variable name.ArgNo Unique argument number for this variable; starts at 1.File File where this variable is defined.LineNo Line number.Ty Metadata describing the type of the variable.AlwaysPreserve If true, this descriptor will survive optimizations.Flags Flags.Defined at line 1855 of file llvm/lib/IR/DebugInfo.cpp
-
SmallPtrSet recomputeLoopBlockSet (Loop & L, LoopInfo & LI)Recompute the set of blocks in a loop after unswitching.
This walks from the original headers predecessors to rebuild the loop. We
take advantage of the fact that new blocks can't have been added, and so we
filter by the original loop's blocks. This also handles potentially
unreachable code that we don't want to explore but might be found examining
the predecessors of the header.
If the original loop is no longer a loop, this will return an empty set. If
it remains a loop, all the blocks within it will be added to the set
(including those blocks in inner loops).
Defined at line 1855 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
bool isConditionTrueViaVFAndUF (VPValue * Cond, VPlan & Plan, ElementCount BestVF, unsigned int BestUF, PredicatedScalarEvolution & PSE)Return true if
is known to be true for given
and
Defined at line 1856 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
bool canEvaluateShuffled (Value * V, ArrayRef Mask, unsigned int Depth)Return true if we can evaluate the specified expression tree if the vector
elements were shuffled in a different order.
Defined at line 1856 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
template <typename CallbacksT>bool isLoopNestPassName (StringRef Name, CallbacksT & Callbacks, bool & UseMemorySSA)Defined at line 1858 of file llvm/lib/Passes/PassBuilder.cpp
-
Value * simplifyAndOrOfFCmps (const SimplifyQuery & Q, FCmpInst * LHS, FCmpInst * RHS, bool IsAnd)Defined at line 1859 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void internalizeGVsAfterImport (Module & M)Internalize values that we marked with specific attribute
in processGlobalForThinLTO.
Defined at line 1861 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
void writeMDTuple (raw_ostream & Out, const MDTuple * Node, AsmWriterContext & WriterCtx)Defined at line 1862 of file llvm/lib/IR/AsmWriter.cpp
-
void appendTypeSuffix (Value * Op, StringRef & Name, SmallString<20> & NameBuffer)Append a suffix to the function name according to the type of 'Op'.
Defined at line 1865 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
bool eliminateConstraints (Function & F, DominatorTree & DT, LoopInfo & LI, ScalarEvolution & SE, OptimizationRemarkEmitter & ORE, TargetLibraryInfo & TLI)Defined at line 1866 of file llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
-
Value * upgradeX86PSLLDQIntrinsics (IRBuilder<> & Builder, Value * Op, unsigned int Shift)Handles upgrading SSE2/AVX2/AVX512BW PSLLDQ intrinsics by converting them
to byte shuffles.
Defined at line 1868 of file llvm/lib/IR/AutoUpgrade.cpp
-
ValueLatticeElement getValueFromMetadata (const Instruction * I)Defined at line 1869 of file llvm/lib/Transforms/Utils/SCCPSolver.cpp
-
bool InstrBreaksNonConvergent (Instruction & I, const SCCNodeSet & SCCNodes)Helper for non-Convergent inference predicate InstrBreaksAttribute.
Defined at line 1870 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
bool isAMCompletelyFolded (const TargetTransformInfo & TTI, Immediate MinOffset, Immediate MaxOffset, KindType Kind, MemAccessTy AccessTy, GlobalValue * BaseGV, Immediate BaseOffset, bool HasBaseReg, int64_t Scale)Defined at line 1873 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
template <typename CallbacksT>bool isLoopPassName (StringRef Name, CallbacksT & Callbacks, bool & UseMemorySSA)Defined at line 1876 of file llvm/lib/Passes/PassBuilder.cpp
-
void DumpRawSectionContents (MachOObjectFile * O, const char * sect, uint32_t size, uint64_t addr)Defined at line 1876 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool doesNotNeedToBeScheduled (Value * V)Checks if the specified value does not require scheduling. It does not
require scheduling if all operands and all users do not need to be scheduled
in the current basic block.
Defined at line 1878 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
Value * emitUnaryFloatFnCallHelper (Value * Op, LibFunc TheLibFunc, StringRef Name, IRBuilderBase & B, const AttributeList & Attrs, const TargetLibraryInfo * TLI)Defined at line 1879 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
bool InstrBreaksNonThrowing (Instruction & I, const SCCNodeSet & SCCNodes)Helper for NoUnwind inference predicate InstrBreaksAttribute.
Defined at line 1880 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
bool isAMCompletelyFolded (const TargetTransformInfo & TTI, const LSRUse & LU, const Formula & F)Check if the addressing mode defined by
is completely
folded in
at isel time.
This includes address-mode folding and special icmp tricks.
This function returns true if
can accommodate what
defines and up to 1 base + 1 scaled + offset.
In other words, if
has several base registers, this function may
still return true. Therefore, users still need to account for
additional base registers and/or unfolded offsets to derive an
accurate cost model.
Defined at line 1945 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
InstructionCost getScalingFactorCost (const TargetTransformInfo & TTI, const LSRUse & LU, const Formula & F, const Loop & L)Get the cost of the scaling factor used in F for LU.
Defined at line 1962 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
LLVMMetadataRef LLVMDIBuilderGetOrCreateArray (LLVMDIBuilderRef Builder, LLVMMetadataRef * Data, size_t NumElements)Create an array of DI Nodes.
Parameters
Builder The DIBuilder.Data The DI Node elements.NumElements Number of DI Node elements.Defined at line 1870 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMGetSubprogram (LLVMValueRef Func)Get the metadata of the subprogram attached to a function.
Defined at line 1877 of file llvm/lib/IR/DebugInfo.cpp
-
void LLVMSetSubprogram (LLVMValueRef Func, LLVMMetadataRef SP)Set the subprogram attached to a function.
Defined at line 1881 of file llvm/lib/IR/DebugInfo.cpp
-
unsigned int LLVMDISubprogramGetLine (LLVMMetadataRef Subprogram)Get the line associated with a given subprogram.
Parameters
Subprogram The subprogram object.Defined at line 1885 of file llvm/lib/IR/DebugInfo.cpp
-
void LLVMDISubprogramReplaceType (LLVMMetadataRef Subprogram, LLVMMetadataRef SubroutineType)Replace the subprogram subroutine type.
Parameters
Subprogram The subprogram object.SubroutineType The new subroutine type.Defined at line 1889 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMInstructionGetDebugLoc (LLVMValueRef Inst)Get the debug location for the given instruction.
Defined at line 1895 of file llvm/lib/IR/DebugInfo.cpp
-
void LLVMInstructionSetDebugLoc (LLVMValueRef Inst, LLVMMetadataRef Loc)Set the debug location for the given instruction.
To clear the location metadata of the given instruction, pass NULL to
Defined at line 1899 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMMetadataRef LLVMDIBuilderCreateLabel (LLVMDIBuilderRef Builder, LLVMMetadataRef Context, const char * Name, size_t NameLen, LLVMMetadataRef File, unsigned int LineNo, LLVMBool AlwaysPreserve)Create a new descriptor for a label
Parameters
Builder The DIBuilder.Scope The scope to create the label in.Name Variable name.NameLen Length of variable name.File The file to create the label in.LineNo Line Number.AlwaysPreserve Preserve the label regardless of optimization.Defined at line 1906 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMDbgRecordRef LLVMDIBuilderInsertLabelBefore (LLVMDIBuilderRef Builder, LLVMMetadataRef LabelInfo, LLVMMetadataRef Location, LLVMValueRef InsertBefore)Insert a new llvm.dbg.label intrinsic call
Parameters
Builder The DIBuilder.LabelInfo The Label's debug info descriptorLocation The debug info locationInsertBefore Location for the new intrinsic.Defined at line 1917 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMBool LLVMIsConstant (LLVMValueRef Val)Determine whether the specified value instance is constant.
Defined at line 1261 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsUndef (LLVMValueRef Val)Determine whether a value instance is undefined.
Defined at line 1271 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsPoison (LLVMValueRef Val)Determine whether a value instance is poisonous.
Defined at line 1275 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAAddrSpaceCastInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAAllocaInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAArgument (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAAtomicCmpXchgInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAAtomicRMWInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsABasicBlock (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsABinaryOperator (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsABitCastInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsABlockAddress (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsABranchInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsACallBrInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsACallInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsACastInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsACatchPadInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsACatchReturnInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsACatchSwitchInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsACleanupPadInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsACleanupReturnInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsACmpInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAConstant (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAConstantAggregateZero (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAConstantArray (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAConstantDataArray (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAConstantDataSequential (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAConstantDataVector (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAConstantExpr (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAConstantFP (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAConstantInt (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAConstantPointerNull (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAConstantPtrAuth (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAConstantStruct (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAConstantTokenNone (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAConstantVector (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsADbgDeclareInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsADbgInfoIntrinsic (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsADbgLabelInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsADbgVariableIntrinsic (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAExtractElementInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAExtractValueInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAFCmpInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAFPExtInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAFPToSIInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAFPToUIInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAFPTruncInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAFenceInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAFreezeInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAFuncletPadInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAFunction (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAGetElementPtrInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAGlobalAlias (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAGlobalIFunc (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAGlobalObject (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAGlobalValue (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAGlobalVariable (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAICmpInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAIndirectBrInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAInlineAsm (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAInsertElementInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAInsertValueInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAInstruction (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAIntToPtrInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAIntrinsicInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAInvokeInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsALandingPadInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsALoadInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAMemCpyInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAMemIntrinsic (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAMemMoveInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAMemSetInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAPHINode (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAPoisonValue (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAPtrToIntInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAResumeInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAReturnInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsASExtInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsASIToFPInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsASelectInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAShuffleVectorInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAStoreInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsASwitchInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsATruncInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAUIToFPInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAUnaryInstruction (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAUnaryOperator (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAUndefValue (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAUnreachableInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAUser (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAVAArgInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAZExtInst (LLVMValueRef Val)Defined at line 1152 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAMDNode (LLVMValueRef Val)Defined at line 1154 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAValueAsMetadata (LLVMValueRef Val)Defined at line 1162 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsAMDString (LLVMValueRef Val)Defined at line 1169 of file llvm/lib/IR/Core.cpp
-
LLVMUseRef LLVMGetFirstUse (LLVMValueRef Val)Obtain the first use of a value.
Uses are obtained in an iterator fashion. First, call this function
to obtain a reference to the first use. Then, call LLVMGetNextUse()
on that instance and all subsequently obtained instances until
LLVMGetNextUse() returns NULL.
Defined at line 1177 of file llvm/lib/IR/Core.cpp
-
LLVMUseRef LLVMGetNextUse (LLVMUseRef U)Obtain the next use of a value.
This effectively advances the iterator. It returns NULL if you are on
the final use and no more are available.
Defined at line 1185 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetUser (LLVMUseRef U)Obtain the user value for a user.
The returned value corresponds to a llvm::User type.
Defined at line 1192 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetUsedValue (LLVMUseRef U)Obtain the value this use corresponds to.
Defined at line 1196 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetOperand (LLVMValueRef Val, unsigned int Index)Obtain an operand at a specific index in a llvm::User value.
Defined at line 1212 of file llvm/lib/IR/Core.cpp
-
LLVMUseRef LLVMGetOperandUse (LLVMValueRef Val, unsigned int Index)Obtain the use of an operand at a specific index in a llvm::User value.
Defined at line 1226 of file llvm/lib/IR/Core.cpp
-
void LLVMSetOperand (LLVMValueRef User, unsigned int Index, LLVMValueRef Val)Set an operand at a specific index in a llvm::User value.
Defined at line 1231 of file llvm/lib/IR/Core.cpp
-
int LLVMGetNumOperands (LLVMValueRef Val)Obtain the number of operands in a llvm::User value.
Defined at line 1235 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstNull (LLVMTypeRef Ty)Obtain a constant value referring to the null instance of a type.
Defined at line 1245 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstAllOnes (LLVMTypeRef Ty)Obtain a constant value referring to the instance of a type
consisting of all ones.
This is only valid for integer types.
Defined at line 1249 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetUndef (LLVMTypeRef Ty)Obtain a constant value referring to an undefined value of a type.
Defined at line 1253 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetPoison (LLVMTypeRef Ty)Obtain a constant value referring to a poison value of a type.
Defined at line 1257 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsNull (LLVMValueRef Val)Determine whether a value instance is null.
Defined at line 1265 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstPointerNull (LLVMTypeRef Ty)Obtain a constant that is a constant pointer pointing to NULL for a
specified type.
Defined at line 1279 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstInt (LLVMTypeRef IntTy, unsigned long long N, LLVMBool SignExtend)Obtain a constant value for an integer type.
The returned value corresponds to a llvm::ConstantInt.
Parameters
IntTy Integer type to obtain value of.N The value the returned instance should refer to.SignExtend Whether to sign extend the produced value.Defined at line 1542 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstIntOfArbitraryPrecision (LLVMTypeRef IntTy, unsigned int NumWords, const uint64_t[] Words)Obtain a constant value for an integer of arbitrary precision.
Defined at line 1547 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstIntOfString (LLVMTypeRef IntTy, const char * Text, uint8_t Radix)Obtain a constant value for an integer parsed from a string.
A similar API, LLVMConstIntOfStringAndSize is also available. If the
string's length is available, it is preferred to call that function
instead.
Defined at line 1555 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstIntOfStringAndSize (LLVMTypeRef IntTy, const char * Text, unsigned int SLen, uint8_t Radix)Obtain a constant value for an integer parsed from a string with
specified length.
Defined at line 1561 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstReal (LLVMTypeRef RealTy, double N)Obtain a constant value referring to a double floating point value.
Defined at line 1567 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstRealOfString (LLVMTypeRef RealTy, const char * Text)Obtain a constant for a floating point value parsed from a string.
A similar API, LLVMConstRealOfStringAndSize is also available. It
should be used if the input string's length is known.
Defined at line 1571 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstRealOfStringAndSize (LLVMTypeRef RealTy, const char * Text, unsigned int SLen)Obtain a constant for a floating point value parsed from a string.
Defined at line 1575 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstFPFromBits (LLVMTypeRef Ty, const uint64_t[] N)Obtain a constant for a floating point value from array of 64 bit values.
The length of the array N must be ceildiv(bits, 64), where bits is the
scalar size in bits of the floating-point type.
Defined at line 1580 of file llvm/lib/IR/Core.cpp
-
unsigned long long LLVMConstIntGetZExtValue (LLVMValueRef ConstantVal)Obtain the zero extended value for an integer constant value.
Defined at line 1588 of file llvm/lib/IR/Core.cpp
-
long long LLVMConstIntGetSExtValue (LLVMValueRef ConstantVal)Obtain the sign extended value for an integer constant value.
Defined at line 1592 of file llvm/lib/IR/Core.cpp
-
double LLVMConstRealGetDouble (LLVMValueRef ConstantVal, LLVMBool * losesInfo)Obtain the double value for an floating point constant value.
losesInfo indicates if some precision was lost in the conversion.
Defined at line 1596 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstStringInContext (LLVMContextRef C, const char * Str, unsigned int Length, LLVMBool DontNullTerminate)Create a ConstantDataSequential and initialize it with a string.
Defined at line 1615 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstStringInContext2 (LLVMContextRef C, const char * Str, size_t Length, LLVMBool DontNullTerminate)Create a ConstantDataSequential and initialize it with a string.
Defined at line 1624 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstString (const char * Str, unsigned int Length, LLVMBool DontNullTerminate)Create a ConstantDataSequential with string content in the global context.
This is the same as LLVMConstStringInContext except it operates on the
global context.
Defined at line 1633 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsConstantString (LLVMValueRef c)Returns true if the specified constant is an array of i8.
Defined at line 1647 of file llvm/lib/IR/Core.cpp
-
const char * LLVMGetAsString (LLVMValueRef c, size_t * Length)Get the given constant data sequential as a string.
Defined at line 1651 of file llvm/lib/IR/Core.cpp
-
const char * LLVMGetRawDataValues (LLVMValueRef c, size_t * SizeInBytes)Get the raw, underlying bytes of the given constant data sequential.
This is the same as LLVMGetAsString except it works for all constant data
sequentials, not just i8 arrays.
Defined at line 1657 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstStructInContext (LLVMContextRef C, LLVMValueRef * ConstantVals, unsigned int Count, LLVMBool Packed)Create an anonymous ConstantStruct with the specified values.
Defined at line 1682 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstStruct (LLVMValueRef * ConstantVals, unsigned int Count, LLVMBool Packed)Create a ConstantStruct in the global Context.
This is the same as LLVMConstStructInContext except it operates on the
global Context.
Defined at line 1690 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstArray (LLVMTypeRef ElementTy, LLVMValueRef * ConstantVals, unsigned int Length)Create a ConstantArray from values.
Defined at line 1663 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstArray2 (LLVMTypeRef ElementTy, LLVMValueRef * ConstantVals, uint64_t Length)Create a ConstantArray from values.
Defined at line 1669 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstDataArray (LLVMTypeRef ElementTy, const char * Data, size_t SizeInBytes)Create a ConstantDataArray from raw values.
ElementTy must be one of i8, i16, i32, i64, half, bfloat, float, or double.
Data points to a contiguous buffer of raw values in the host endianness. The
element count is inferred from the element type and the data size in bytes.
Defined at line 1675 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstNamedStruct (LLVMTypeRef StructTy, LLVMValueRef * ConstantVals, unsigned int Count)Create a non-anonymous ConstantStruct from values.
Defined at line 1696 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetAggregateElement (LLVMValueRef C, unsigned int Idx)Get element of a constant aggregate (struct, array or vector) at the
specified index. Returns null if the index is out of range, or it's not
possible to determine the element (e.g., because the constant is a
constant expression.)
Defined at line 1639 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetElementAsConstant (LLVMValueRef C, unsigned int idx)Get an element at specified index as a constant.
Defined at line 1643 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstVector (LLVMValueRef * ScalarConstantVals, unsigned int Size)Create a ConstantVector from values.
Defined at line 1705 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstantPtrAuth (LLVMValueRef Ptr, LLVMValueRef Key, LLVMValueRef Disc, LLVMValueRef AddrDisc)Create a ConstantPtrAuth constant with the given values.
Defined at line 1710 of file llvm/lib/IR/Core.cpp
-
LLVMGetConstOpcode (LLVMValueRef ConstantVal)Functions in this group correspond to APIs on llvm::ConstantExpr.
@
{
Defined at line 1769 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMAlignOf (LLVMTypeRef Ty)Defined at line 1773 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMSizeOf (LLVMTypeRef Ty)Defined at line 1777 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstNeg (LLVMValueRef ConstantVal)Defined at line 1781 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstNSWNeg (LLVMValueRef ConstantVal)Defined at line 1785 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstNUWNeg (LLVMValueRef ConstantVal)Defined at line 1789 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstNot (LLVMValueRef ConstantVal)Defined at line 1794 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstAdd (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)Defined at line 1798 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstNSWAdd (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)Defined at line 1803 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstNUWAdd (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)Defined at line 1809 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstSub (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)Defined at line 1815 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstNSWSub (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)Defined at line 1820 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstNUWSub (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)Defined at line 1826 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstXor (LLVMValueRef LHSConstant, LLVMValueRef RHSConstant)Defined at line 1832 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstGEP2 (LLVMTypeRef Ty, LLVMValueRef ConstantVal, LLVMValueRef * ConstantIndices, unsigned int NumIndices)Defined at line 1837 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstInBoundsGEP2 (LLVMTypeRef Ty, LLVMValueRef ConstantVal, LLVMValueRef * ConstantIndices, unsigned int NumIndices)Defined at line 1845 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstGEPWithNoWrapFlags (LLVMTypeRef Ty, LLVMValueRef ConstantVal, LLVMValueRef * ConstantIndices, unsigned int NumIndices, LLVMGEPNoWrapFlags NoWrapFlags)Creates a constant GetElementPtr expression. Similar to LLVMConstGEP2, but
allows specifying the no-wrap flags.
Defined at line 1854 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstTrunc (LLVMValueRef ConstantVal, LLVMTypeRef ToType)Defined at line 1866 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstPtrToInt (LLVMValueRef ConstantVal, LLVMTypeRef ToType)Defined at line 1871 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstIntToPtr (LLVMValueRef ConstantVal, LLVMTypeRef ToType)Defined at line 1876 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMConstBitCast (LLVMValueRef ConstantVal, LLVMTypeRef ToType)Defined at line 1881 of file llvm/lib/IR/Core.cpp
-
void addPhonyExternalsGenerator (Session & S)Defined at line 1884 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
optional salvageDebugInfoImpl (SmallDenseMap<Argument *, AllocaInst *, 4> & ArgToAllocaMap, bool UseEntryValue, Function * F, Value * Storage, DIExpression * Expr, bool SkipOutermostLoad)Defined at line 1884 of file llvm/lib/Transforms/Coroutines/CoroFrame.cpp
-
Value * simplifyX86insertq (IntrinsicInst & II, Value * Op0, Value * Op1, APInt APLength, APInt APIndex, InstCombiner::BuilderTy & Builder)Attempt to simplify SSE4A INSERTQ/INSERTQI instructions using constant
folding or conversion to a shuffle vector.
Defined at line 1885 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
bool doesNotNeedToSchedule (ArrayRef VL)Checks if the specified array of instructions does not require scheduling.
It is so if all either instructions have operands that do not require
scheduling or their users do not require scheduling since they are phis or
in other basic blocks.
Defined at line 1886 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
LLVMValueRef LLVMConstAddrSpaceCast (LLVMValueRef ConstantVal, LLVMTypeRef ToType)Defined at line 1886 of file llvm/lib/IR/Core.cpp
-
void addPHINodeEntriesForMappedBlock (BasicBlock * PHIBB, BasicBlock * OldPred, BasicBlock * NewPred, ValueToValueMapTy & ValueMap)addPHINodeEntriesForMappedBlock - We're adding 'NewPred' as a new
predecessor to the PHIBB block. If it has PHI nodes, add entries for
NewPred using the entries from OldPred (suitably mapped).
Defined at line 1887 of file llvm/lib/Transforms/Scalar/JumpThreading.cpp
-
Error createJITDylibs (Session & S, std::map<unsigned int, JITDylib *> & IdxToJD)Defined at line 1888 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
LLVMValueRef LLVMConstTruncOrBitCast (LLVMValueRef ConstantVal, LLVMTypeRef ToType)Defined at line 1892 of file llvm/lib/IR/Core.cpp
-
StringRef getValueStr (const Option & O, StringRef DefaultMsg)getValueStr - Get the value description string, using "DefaultMsg" if nothing
has been specified yet.
Defined at line 1892 of file llvm/lib/Support/CommandLine.cpp
-
bool hasFullVectorsOrPowerOf2 (const TargetTransformInfo & TTI, Type * Ty, unsigned int Sz)Returns true if widened type of
elements with size
represents
full vector type, i.e. adding extra element results in extra parts upon type
legalization.
Defined at line 1894 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void collectComdatMembers (Module & M, int & ComdatMembers)Collect the set of members for each Comdat in module M and store
in ComdatMembers.
Defined at line 1894 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
bool tryToReplaceALMWithWideALM (VPlan & Plan, ElementCount VF, unsigned int UF)Try to replace multiple active lane masks used for control flow with
a single, wide active lane mask instruction followed by multiple
extract subvector intrinsics. This applies to the active lane mask
instructions both in the loop and in the preheader.
Incoming values of all ActiveLaneMaskPHIs are updated to use the
new extracts from the first active lane mask, which has it's last
operand (multiplier) set to UF.
Defined at line 1894 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
bool fitsInFPType (APFloat F, const fltSemantics & Sem)Return a Constant* for the specified floating-point constant if it fits
in the specified FP type without changing its value.
Defined at line 1895 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
bool InstrBreaksNoFree (Instruction & I, const SCCNodeSet & SCCNodes)Helper for NoFree inference predicate InstrBreaksAttribute.
Defined at line 1896 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
bool isVariableIndexable (const DWARFDie & Die, DWARFContext & DCtx)Defined at line 1897 of file llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
-
LLVMValueRef LLVMConstPointerCast (LLVMValueRef ConstantVal, LLVMTypeRef ToType)Defined at line 1898 of file llvm/lib/IR/Core.cpp
-
bool needFuncLabels (const MachineFunction & MF, const AsmPrinter & Asm)Returns true if function begin and end labels should be emitted.
Defined at line 1899 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
bool isAMCompletelyFolded (const TargetTransformInfo & TTI, Immediate MinOffset, Immediate MaxOffset, KindType Kind, MemAccessTy AccessTy, const Formula & F, const Loop & L)Defined at line 1899 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
Type * shrinkFPConstant (LLVMContext & Ctx, const APFloat & F, bool PreferBFloat)Defined at line 1901 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
Value * upgradeX86PSRLDQIntrinsics (IRBuilder<> & Builder, Value * Op, unsigned int Shift)Handles upgrading SSE2/AVX2/AVX512BW PSRLDQ intrinsics by converting them
to byte shuffles.
Defined at line 1902 of file llvm/lib/IR/AutoUpgrade.cpp
-
Instruction * foldSelectZeroOrOnes (ICmpInst * Cmp, Value * TVal, Value * FVal, InstCombiner::BuilderTy & Builder)Defined at line 1903 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
Value * simplifyAndOrOfCmps (const SimplifyQuery & Q, Value * Op0, Value * Op1, bool IsAnd)Defined at line 1903 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
LLVMValueRef LLVMConstExtractElement (LLVMValueRef VectorConstant, LLVMValueRef IndexConstant)Defined at line 1904 of file llvm/lib/IR/Core.cpp
-
bool parseIRConstant (StringRef::iterator Loc, StringRef StringValue, PerFunctionMIParsingState & PFS, const Constant *& C, ErrorCallbackType ErrCB)Defined at line 1904 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
void rewriteMemOpOfSelect (SelectInst & SelInst, Instruction & I, SelectHandSpeculativity Spec, DomTreeUpdater & DTU)Defined at line 1905 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
bool ExpandBVWithShuffles (SDNode * Node, SelectionDAG & DAG, const TargetLowering & TLI, SDValue & Res)Defined at line 1905 of file llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
-
Error createError (const Twine & Reason, Error E)Defined at line 1908 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
void printObjectLabel (bool PrintArchiveName, StringRef ArchiveName, StringRef ArchitectureName, StringRef ObjectFileName)Defined at line 1908 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
template <typename T>InstructionCost costAndCollectOperands (const SCEVOperand & WorkItem, const TargetTransformInfo & TTI, TargetCostKind CostKind, SmallVectorImpl<SCEVOperand> & Worklist)Defined at line 1908 of file llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
-
LLVMValueRef LLVMConstInsertElement (LLVMValueRef VectorConstant, LLVMValueRef ElementValueConstant, LLVMValueRef IndexConstant)Defined at line 1910 of file llvm/lib/IR/Core.cpp
-
unsigned int getNumberOfParts (const TargetTransformInfo & TTI, VectorType * VecTy, const unsigned int Limit)Returns number of parts, the type
will be split at the codegen
phase. If the type is going to be scalarized or does not uses whole
registers, returns 1.
Defined at line 1910 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool isSingleSourceMaskImpl (ArrayRef Mask, int NumOpElts)Defined at line 1910 of file llvm/lib/IR/Instructions.cpp
-
bool skipPGOUse (const Function & F)Return true if we should not find instrumentation data for this function
Defined at line 1911 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
StringRef getMIMnemonic (const MachineInstr & MI, MCStreamer & Streamer)Return the mnemonic of a MachineInstr if available, or the MachineInstr
opcode name otherwise.
Defined at line 1915 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
void replaceConstants (OutlinableRegion & Region)Within an extracted function, replace the constants that need to be lifted
into arguments with the actual argument.
Parameters
Region [in] - The region of extracted code to be changed.Defined at line 1915 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
bool isLegalUse (const TargetTransformInfo & TTI, Immediate MinOffset, Immediate MaxOffset, KindType Kind, MemAccessTy AccessTy, GlobalValue * BaseGV, Immediate BaseOffset, bool HasBaseReg, int64_t Scale)Test whether we know how to expand the current formula.
Defined at line 1916 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
bool rewriteSelectInstMemOps (SelectInst & SI, const RewriteableMemOps & Ops, IRBuilderTy & IRB, DomTreeUpdater * DTU)Defined at line 1916 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
bool isOrderedAtomic (Instruction * I)Return true if this is an atomic which has an ordering stronger than
unordered. Note that this is different than the predicate we use in
Attributor. Here we chose to be conservative and consider monotonic
operations potentially synchronizing. We generally don't do much with
monotonic operations, so this is simply risk reduction.
Defined at line 1917 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
LLVMValueRef LLVMConstShuffleVector (LLVMValueRef VectorAConstant, LLVMValueRef VectorBConstant, LLVMValueRef MaskConstant)Defined at line 1918 of file llvm/lib/IR/Core.cpp
-
void initializeEarlyCSELegacyPassPassOnce (PassRegistry & Registry)Defined at line 1920 of file llvm/lib/Transforms/Scalar/EarlyCSE.cpp
-
Expected hasSymbols (SymbolicFile & Obj)Defined at line 1921 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
Type * shrinkFPConstant (ConstantFP * CFP, bool PreferBFloat)Defined at line 1921 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
Expected getSymbolInfo (const object::ObjectFile & Obj, const RelocationRef & Reloc, const LoadedObjectInfo * L, std::map<SymbolRef, SymInfo> & Cache)Returns the address of symbol relocation used against and a section index.
Used for futher relocations computation. Symbol's section load address is
Defined at line 1922 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
void DumpSectionContents (StringRef Filename, MachOObjectFile * O, bool verbose)Defined at line 1923 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isSafeDependenceDistance (const DataLayout & DL, ScalarEvolution & SE, const SCEV & MaxBTC, const SCEV & Dist, uint64_t MaxStride)Given a dependence-distance
between two memory accesses, that have
strides in the same direction whose absolute value of the maximum stride is
given in
in a loop whose maximum backedge taken count is
check if it is possible to prove statically that the dependence
distance is larger than the range that the accesses will travel through the
execution of the loop. If so, return true; false otherwise. This is useful
for example in loops such as the following (PR31098):
for (i = 0; i
<
D; ++i) {
= out[i];
out[i+D] =
}
Defined at line 1926 of file llvm/lib/Analysis/LoopAccessAnalysis.cpp
-
void translateRegister (MCInst & mcInst, Reg reg)translateRegister - Translates an internal register to the appropriate LLVM
register, and appends it as an operand to an MCInst.
Parameters
mcInst - The MCInst to append to.reg - The Reg to append.Defined at line 1927 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
Value * emitBinaryFloatFnCallHelper (Value * Op1, Value * Op2, LibFunc TheLibFunc, StringRef Name, IRBuilderBase & B, const AttributeList & Attrs, const TargetLibraryInfo * TLI)Defined at line 1927 of file llvm/lib/Transforms/Utils/BuildLibCalls.cpp
-
Value * foldSelectInstWithICmpConst (SelectInst & SI, ICmpInst * ICI, InstCombiner::BuilderTy & Builder)Defined at line 1927 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
LLVMValueRef LLVMConstInlineAsm (LLVMTypeRef Ty, const char * AsmString, const char * Constraints, LLVMBool HasSideEffects, LLVMBool IsAlignStack)Deprecated: Use LLVMGetInlineAsm instead.
Defined at line 1928 of file llvm/lib/IR/Core.cpp
-
Instruction * factorizeLerp (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Eliminate an op from a linear interpolation (lerp) pattern.
Defined at line 1928 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
void addRawAttributeValue (AttrBuilder & B, uint64_t Val)Defined at line 1928 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
Instruction * foldAndToXor (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Defined at line 1928 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
Error addAbsoluteSymbols (Session & S, const std::map<unsigned int, JITDylib *> & IdxToJD)Defined at line 1928 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
bool isLegalUse (const TargetTransformInfo & TTI, Immediate MinOffset, Immediate MaxOffset, KindType Kind, MemAccessTy AccessTy, const Formula & F)Defined at line 1930 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
void printSymbolNamesFromObject (SymbolicFile & Obj, int & SymbolList, bool PrintSymbolObject, bool PrintObjectLabel, StringRef ArchiveName, StringRef ArchitectureName, StringRef ObjectName, bool PrintArchiveName)Defined at line 1932 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
Value * emitTaskDependencies (OpenMPIRBuilder & OMPBuilder, const SmallVectorImpl<OpenMPIRBuilder::DependData> & Dependencies)Processes the dependencies in Dependencies and does the following
- Allocates space on the stack of an array of DependInfo objects
- Populates each DependInfo object with relevant information of
the corresponding dependence.
- All code is inserted in the entry block of the current function.
Defined at line 1932 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
bool OptimizeFunctions (Module & M, function_ref<TargetLibraryInfo &(Function &)> GetTLI, function_ref<TargetTransformInfo &(Function &)> GetTTI, function_ref<BlockFrequencyInfo &(Function &)> GetBFI, function_ref<DominatorTree &(Function &)> LookupDomTree, SmallPtrSetImpl<const Comdat *> & NotDiscardableComdats, function_ref<void (Function &)> ChangedCFGCallback, function_ref<void (Function &)> DeleteFnCallback)Defined at line 1932 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool verifyScalarSize (uint64_t Size)See LLT implementation for bit size limits.
Defined at line 1933 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
int findRegUnitSet (const int & UniqueSets, const RegUnitSet & Set)Find a set in UniqueSets with the same elements as Set.
Return an iterator into UniqueSets.
Defined at line 1934 of file llvm/utils/TableGen/Common/CodeGenRegisters.cpp
-
bool isIdentityMaskImpl (ArrayRef Mask, int NumOpElts)Defined at line 1934 of file llvm/lib/IR/Instructions.cpp
-
Value * getX86MaskVec (IRBuilder<> & Builder, Value * Mask, unsigned int NumElts)Defined at line 1934 of file llvm/lib/IR/AutoUpgrade.cpp
-
bool skipPGOGen (const Function & F)Return true if we should not instrument this function
Defined at line 1935 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
bool InstrBreaksNoSync (Instruction & I, const SCCNodeSet & SCCNodes)Defined at line 1935 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
bool foldICmpWithDominatingICmp (CmpInst * Cmp, const TargetLowering & TLI)For pattern like:
DomCond = icmp sgt/slt CmpOp0, CmpOp1 (might not be in DomBB)
...
DomBB:
...
br DomCond, TrueBB, CmpBB
CmpBB: (with DomBB being the single predecessor)
...
Cmp = icmp eq CmpOp0, CmpOp1
...
It would use two comparison on targets that lowering of icmp sgt/slt is
different from lowering of icmp eq (PowerPC). This function try to convert
'Cmp = icmp eq CmpOp0, CmpOp1' to ' Cmp = icmp slt/sgt CmpOp0, CmpOp1'.
After that, DomCond and Cmp can use the same comparison so reduce one
comparison.
Return true if any changes are made.
Defined at line 1935 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
LLVMDbgRecordRef LLVMDIBuilderInsertLabelAtEnd (LLVMDIBuilderRef Builder, LLVMMetadataRef LabelInfo, LLVMMetadataRef Location, LLVMBasicBlockRef InsertAtEnd)Insert a new llvm.dbg.label intrinsic call
Parameters
Builder The DIBuilder.LabelInfo The Label's debug info descriptorLocation The debug info locationInsertAtEnd Location for the new intrinsic.Defined at line 1936 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMValueRef LLVMBlockAddress (LLVMValueRef F, LLVMBasicBlockRef BB)Defined at line 1936 of file llvm/lib/IR/Core.cpp
-
void simplifyLCSSAPhis (Loop * OuterLoop, Loop * InnerLoop)This deals with a corner case when a LCSSA phi node appears in a non-exit
block: the outer loop latch block does not need to be exit block of the
inner loop. Consider a loop that was in LCSSA form, but then some
transformation like loop-unswitch comes along and creates an empty block,
where BB5 in this example is the outer loop latch block:
BB4:
br label %BB5
BB5:
%old.cond.lcssa = phi i16 [ %cond, %BB4 ]
br outer.header
Interchange then brings it in LCSSA form again resulting in this chain of
single-input phi nodes:
BB4:
%new.cond.lcssa = phi i16 [ %cond, %BB3 ]
br label %BB5
BB5:
%old.cond.lcssa = phi i16 [ %new.cond.lcssa, %BB4 ]
The problem is that interchange can reoder blocks BB4 and BB5 placing the
use before the def if we don't check this. The solution is to simplify
lcssa phi nodes (remove) if they appear in non-exit blocks.
Defined at line 1936 of file llvm/lib/Transforms/Scalar/LoopInterchange.cpp
-
bool verifyVectorElementCount (uint64_t NumElts)Defined at line 1937 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
bool isLegalAddImmediate (const TargetTransformInfo & TTI, Immediate Offset)Defined at line 1937 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
Type * shrinkFPConstantVector (Value * V, bool PreferBFloat)Determine if this is a vector of ConstantFPs and if so, return the minimal
type we can safely truncate all elements to.
Defined at line 1937 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
Instruction * foldFDivConstantDividend (BinaryOperator & I)Remove negation and try to reassociate constant math.
Defined at line 1937 of file llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
-
Value * replaceUnaryCall (CallInst * CI, IRBuilderBase & B, Intrinsic::ID IID)Replace a libcall
with a call to intrinsic
Defined at line 1938 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
void makeStatepointExplicit (DominatorTree & DT, CallBase * Call, PartiallyConstructedSafepointRecord & Result, int & Replacements, const int & PointerToBase, GCStrategy * GC)Replace an existing gc.statepoint with a new one and a set of gc.relocates
which make the relocations happening at this safepoint explicit.
WARNING: Does not do any fixup to adjust users of the original live
values. That's the callers responsibility.
Defined at line 1939 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
LLVMValueRef LLVMGetBlockAddressFunction (LLVMValueRef BlockAddr)Gets the function associated with a given BlockAddress constant value.
Defined at line 1940 of file llvm/lib/IR/Core.cpp
-
bool verifyAddrSpace (uint64_t AddrSpace)Defined at line 1941 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
int checkSpecialNodes (const SUnit * left, const SUnit * right)Check for special nodes that bypass scheduling heuristics.
Currently this pushes TokenFactor nodes down, but may be used for other
pseudo-ops as well.
Return -1 to schedule right above left, 1 for left above right.
Return 0 if no bias exists.
Defined at line 1941 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
void initializeEarlyCSEMemSSALegacyPassPassOnce (PassRegistry & Registry)Defined at line 1941 of file llvm/lib/Transforms/Scalar/EarlyCSE.cpp
-
bool isRegUnitSubSet (const int & RUSubSet, const int & RUSuperSet)Return true if the RUSubSet is a subset of RUSuperSet.
Defined at line 1942 of file llvm/utils/TableGen/Common/CodeGenRegisters.cpp
-
DenseMap collectEscapedLocals (const DataLayout & DL, const CallBase & CB)Find Alloca and linked DbgAssignIntrinsic for locals escaped by
Defined at line 1943 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
LLVMBasicBlockRef LLVMGetBlockAddressBasicBlock (LLVMValueRef BlockAddr)Gets the basic block associated with a given BlockAddress constant value.
Defined at line 1944 of file llvm/lib/IR/Core.cpp
-
Instruction * factorizeFAddFSub (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Factor a common operand out of fadd/fsub of fmul/fdiv.
Defined at line 1944 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
optional findDuplicateOutputBlock (DenseMap<Value *, BasicBlock *> & OutputBBs, std::vector<DenseMap<Value *, BasicBlock *>> & OutputStoreBBs)It is possible that there is a basic block that already performs the same
stores. This returns a duplicate block, if it exists
Parameters
OutputBBs [in] the blocks we are looking for a duplicate of.OutputStoreBBs [in] The existing output blocks.Defined at line 1944 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
Value * buildNew (Instruction * I, ArrayRef NewOps, IRBuilderBase & Builder)Rebuild a new instruction just like 'I' but with the new operands given.
In the event of type mismatch, the type of the operands is correct.
Defined at line 1944 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
Value * simplifyAndOrWithICmpEq (unsigned int Opcode, Value * Op0, Value * Op1, const SimplifyQuery & Q, unsigned int MaxRecurse)Defined at line 1946 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool isDirectCall (Use & U)Defined at line 1948 of file llvm/lib/Transforms/IPO/LowerTypeTests.cpp
-
void decodeLLVMAttributesForBitcode (AttrBuilder & B, uint64_t EncodedAttrs, uint64_t AttrIdx)This fills an AttrBuilder object with the LLVM attributes that have
been decoded from the given integer.
Defined at line 1948 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
LLVMModuleRef LLVMGetGlobalParent (LLVMValueRef Global)This group contains functions that operate on global values. Functions in
this group relate to functions in the llvm::GlobalValue class tree.
@
{
Defined at line 1950 of file llvm/lib/IR/Core.cpp
-
bool isKnownNonConstant (Value * V)Returns true if we can statically tell that this value will never be a
"useful" constant. In practice, this means we've got something like an
alloca or a malloc call for which a comparison against a constant can
only be guarding dead code. Note that we are potentially giving up some
precision in dead code (a constant result) in favour of avoiding a
expensive search for a easily answered common query.
Defined at line 1950 of file llvm/lib/Analysis/LazyValueInfo.cpp
-
Value * getAdjustedPtr (IRBuilderTy & IRB, const DataLayout & DL, Value * Ptr, APInt Offset, Type * PointerTy, const Twine & NamePrefix)Compute an adjusted pointer from Ptr by Offset bytes where the
resulting pointer has PointerTy.
Defined at line 1950 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
Value * valueHasFloatPrecision (Value * Val)Return a variant of Val with float type.
Currently this works in two cases: If Val is an FPExtension of a float
value to something bigger, simply return the operand.
If Val is a ConstantFP but can be converted to a float ConstantFP without
loss of precision do so.
Defined at line 1950 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
bool translateSrcIndex (MCInst & mcInst, InternalInstruction & insn)translateSrcIndex - Appends a source index operand to an MCInst.
Parameters
mcInst - The MCInst to append to.insn - The internal instruction.Defined at line 1950 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
unsigned int CalcNodeSethiUllmanNumber (const SUnit * SU, int & SUNumbers)CalcNodeSethiUllmanNumber - Compute Sethi Ullman number.
Smaller number is the higher priority.
Defined at line 1951 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
LLVMMetadataKind LLVMGetMetadataKind (LLVMMetadataRef Metadata)Obtain the enumerated type of a Metadata instance.
Defined at line 1953 of file llvm/lib/IR/DebugInfo.cpp
-
LLVMBool LLVMIsDeclaration (LLVMValueRef Global)Defined at line 1954 of file llvm/lib/IR/Core.cpp
-
Value * emitX86Select (IRBuilder<> & Builder, Value * Mask, Value * Op0, Value * Op1)Defined at line 1954 of file llvm/lib/IR/AutoUpgrade.cpp
-
Instruction * foldOrToXor (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Defined at line 1954 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool InstrumentAllFunctions (Module & M, function_ref<TargetLibraryInfo &(Function &)> LookupTLI, function_ref<BranchProbabilityInfo *(Function &)> LookupBPI, function_ref<BlockFrequencyInfo *(Function &)> LookupBFI, function_ref<LoopInfo *(Function &)> LookupLI, PGOInstrumentationType InstrumentationType)Defined at line 1954 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
void setupOptionsForPipelineAlias (PipelineTuningOptions & PTO, OptimizationLevel L)Defined at line 1956 of file llvm/lib/Passes/PassBuilder.cpp
-
void writeMetadataAsOperand (raw_ostream & Out, const Metadata * MD, AsmWriterContext & WriterCtx)Defined at line 1956 of file llvm/lib/IR/AsmWriter.cpp
-
void dumpSymbolsNameFromMachOFilesetEntry (MachOObjectFile * Obj, int & SymbolList, bool PrintSymbolObject, bool PrintObjectLabel)Defined at line 1957 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
LLVMGetLinkage (LLVMValueRef Global)Defined at line 1958 of file llvm/lib/IR/Core.cpp
-
bool isRemainderZero (const SCEVConstant * Dividend, const SCEVConstant * Divisor)Return true if the divisor evenly divides the dividend.
Defined at line 1959 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
bool isGuaranteedNotToBeUndefOrPoison (Register Reg, const MachineRegisterInfo & MRI, unsigned int Depth, UndefPoisonKind Kind)Defined at line 1959 of file llvm/lib/CodeGen/GlobalISel/Utils.cpp
-
void updateOneDbgValueForAlloca (const DebugLoc & Loc, DILocalVariable * DIVar, DIExpression * DIExpr, Value * NewAddress, DbgVariableRecord * DVR, DIBuilder & Builder, int Offset)Defined at line 1960 of file llvm/lib/Transforms/Utils/Local.cpp
-
Align getAdjustedAlignment (Instruction * I, uint64_t Offset)Compute the adjusted alignment for a load or store from an offset.
Defined at line 1961 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
void removeCoroEndsFromRampFunction (const coro::Shape & Shape)Remove calls to llvm.coro.end in the original function.
Defined at line 1962 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
PointerToMemberRepresentation translatePtrToMemberRep (unsigned int SizeInBytes, bool IsPMF, unsigned int Flags)Defined at line 1964 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
unsigned int GetNumNodeResults (const Record * Operator, CodeGenDAGPatterns & CDP)===----------------------------------------------------------------------===//
TreePatternNode implementation
Defined at line 1964 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
Value * emitX86ScalarSelect (IRBuilder<> & Builder, Value * Mask, Value * Op0, Value * Op1)Defined at line 1966 of file llvm/lib/IR/AutoUpgrade.cpp
-
Error addAliases (Session & S, const std::map<unsigned int, JITDylib *> & IdxToJD)Defined at line 1966 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
bool rebuildLoopAfterUnswitch (Loop & L, ArrayRef ExitBlocks, LoopInfo & LI, SmallVectorImpl<Loop *> & HoistedLoops, ScalarEvolution * SE)Rebuild a loop after unswitching removes some subset of blocks and edges.
The removal may have removed some child loops entirely but cannot have
disturbed any remaining child loops. However, they may need to be hoisted
to the parent loop (or to be top-level loops). The original loop may be
completely removed.
The sibling loops resulting from this update are returned. If the original
loop remains a valid loop, it will be the first entry in this list with all
of the newly sibling loops following it.
Returns true if the loop remains a loop after unswitching, and false if it
is no longer a loop after unswitching (and should not continue to be
referenced).
Defined at line 1966 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
Value * optimizeDoubleFP (CallInst * CI, IRBuilderBase & B, bool isBinary, const TargetLibraryInfo * TLI, bool isPrecise)Shrink double -> float functions.
Defined at line 1968 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
void insertRelocationStores (iterator_range GCRelocs, int & AllocaMap, int & VisitedLiveValues)Helper function for the relocationViaAlloca.
It receives iterator to the statepoint gc relocates and emits a store to the
assigned location (via allocaMap) for the each one of them. It adds the
visited values into the visitedLiveValues set, which we will later use them
for validation checking.
Defined at line 1969 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void inferConvergent (const SCCNodeSet & SCCNodes, SmallPtrSet<Function *, 8> & Changed)Attempt to remove convergent function attribute when possible.
Returns true if any changes to function attributes were made.
Defined at line 1970 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
bool canConvertValue (const DataLayout & DL, Type * OldTy, Type * NewTy, unsigned int VScale)Test whether we can convert a value from the old to the new type.
This predicate should be used to guard calls to convertValue in order to
ensure that we only try to convert viable values. The strategy is that we
will peel off single element struct and array wrappings to get to an
underlying value, and convert that value.
Defined at line 1971 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
void getFuncSampleStats (const sampleprof::FunctionSamples & Func, FuncSampleStats & FuncStats, uint64_t HotThreshold)Return the sum of line/block samples, the max line/block sample, and the
number of line/block samples above the given threshold in a function
including its inlinees.
Defined at line 1972 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
Type * getMinimumFPType (Value * V, bool PreferBFloat)Find the minimum FP type we can safely truncate to.
Defined at line 1972 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
Instruction * foldFDivPowDivisor (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Negate the exponent of pow/exp to fold division-by-pow() into multiply.
Defined at line 1972 of file llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
-
void removeCoroIsInRampFromRampFunction (const coro::Shape & Shape)Defined at line 1973 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
bool translateDstIndex (MCInst & mcInst, InternalInstruction & insn)translateDstIndex - Appends a destination index operand to an MCInst.
Parameters
mcInst - The MCInst to append to.insn - The internal instruction.Defined at line 1975 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
basic_string getBaseRelocTypeName (uint8_t Type)Defined at line 1976 of file llvm/tools/llvm-readobj/COFFDumper.cpp
-
Value * simplifyX86pshufb (const IntrinsicInst & II, InstCombiner::BuilderTy & Builder)Attempt to convert pshufb* to shufflevector if the mask is constant.
Defined at line 1976 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
bool isRelocScattered (const object::ObjectFile & Obj, const RelocationRef & Reloc)Defined at line 1977 of file llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
-
void reportLoadElim (LoadInst * Load, Value * AvailableValue, OptimizationRemarkEmitter * ORE)Defined at line 1979 of file llvm/lib/Transforms/Scalar/GVN.cpp
-
bool hasSafeElideCaller (Function & F)Defined at line 1981 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
bool areStridedAccessesIndependent (uint64_t Distance, uint64_t Stride, uint64_t TypeByteSize)Check the dependence for two accesses with the same stride
is the positive distance in bytes, and
is type
size in bytes.
Defined at line 1981 of file llvm/lib/Analysis/LoopAccessAnalysis.cpp
-
int getARMOffsetInProlog (const std::vector<WinEH::Instruction> & Prolog, const std::vector<WinEH::Instruction> & Epilog, bool CanTweakProlog)Check if an epilog exists as a subset of the end of a prolog (backwards).
An epilog may end with one out of three different end opcodes; if this
is the first epilog that shares opcodes with the prolog, we can tolerate
that this opcode differs (and the caller will update the prolog to use
the same end opcode as the epilog). If another epilog already shares
opcodes with the prolog, the ending opcode must be a strict match.
Defined at line 1982 of file llvm/lib/MC/MCWin64EH.cpp
-
SDValue EmitTailCallStoreRetAddr (SelectionDAG & DAG, MachineFunction & MF, SDValue Chain, SDValue RetAddrFrIdx, EVT PtrVT, unsigned int SlotSize, int FPDiff, const SDLoc & dl)Emit a store of the return address if tail call
optimization is performed and it is required (FPDiff!=0).
Defined at line 1983 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
Value * upgradeX86ALIGNIntrinsics (IRBuilder<> & Builder, Value * Op0, Value * Op1, Value * Shift, Value * Passthru, Value * Mask, bool IsVALIGN)Handle autoupgrade for masked PALIGNR and VALIGND/Q intrinsics.
PALIGNR handles large immediates by shifting while VALIGN masks the immediate
so we need to handle both cases. VALIGN also doesn't have 128-bit lanes.
Defined at line 1983 of file llvm/lib/IR/AutoUpgrade.cpp
-
bool simplifyBranchConditionForVFAndUF (VPlan & Plan, ElementCount BestVF, unsigned int BestUF, PredicatedScalarEvolution & PSE)Try to simplify the branch condition of
This may restrict the
resulting plan to
and
Defined at line 1986 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void PrintCFIEscape (llvm::formatted_raw_ostream & OS, StringRef Values)Defined at line 1987 of file llvm/lib/MC/MCAsmStreamer.cpp
-
void LLVMSetLinkage (LLVMValueRef Global, Linkage)Defined at line 1987 of file llvm/lib/IR/Core.cpp
-
void dumpSymbolNamesFromObject (SymbolicFile & Obj, int & SymbolList, bool PrintSymbolObject, bool PrintObjectLabel, StringRef ArchiveName, StringRef ArchitectureName, StringRef ObjectName, bool PrintArchiveName)Defined at line 1988 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
bool canNarrowShiftAmt (Constant * C, unsigned int BitWidth)Return true if a constant shift amount is always less than the specified
bit-width. If not, the shift could create poison in the narrower type.
Defined at line 1990 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
Instruction * foldSelectWithExtremeEqCond (Value * CmpLHS, Value * CmpRHS, Value * TrueVal, Value * FalseVal)`A == MIN_INT ? B != MIN_INT : A
<
B` --> `A
<
B`
`A == MAX_INT ? B != MAX_INT : A > B` --> `A > B`
Defined at line 1990 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool isFunctionHot (const FuncSampleStats & FuncStats, uint64_t HotThreshold)Predicate that determines if a function is hot with a given threshold. We
keep it separate from its callsites for possible extension in the future.
Defined at line 1991 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
unsigned int getConverterOperandID (const std::string & Name, SmallSetVector<CachedHashString, 16> & Table, bool & IsNew)Defined at line 1991 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
void trackInlinedStores (ilist_iterator Start, ilist_iterator End, const CallBase & CB)Defined at line 1992 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
void insertRematerializationStores (const int & RematerializedValues, int & AllocaMap, int & VisitedLiveValues)Helper function for the "relocationViaAlloca". Similar to the
"insertRelocationStores" but works for rematerialized values.
Defined at line 1995 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
Value * simplifyLogicOfAddSub (Value * Op0, Value * Op1, BinaryOps Opcode)Given a bitwise logic op, check if the operands are add/sub with a common
source value and inverted constant (identity: C - X -> ~(X + ~C)).
Defined at line 1997 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void translateImmediate (MCInst & mcInst, uint64_t immediate, const OperandSpecifier & operand, InternalInstruction & insn, const MCDisassembler * Dis)translateImmediate - Appends an immediate operand to an MCInst.
Parameters
mcInst - The MCInst to append to.immediate - The immediate value to append.operand - The operand, as stored in the descriptor table.insn - The internal instruction.Defined at line 1997 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
void dropTypeTests (Module & M, Function & TypeTestFunc, bool ShouldDropAll)Defined at line 1998 of file llvm/lib/Transforms/IPO/LowerTypeTests.cpp
-
bool analyzeAndPruneOutputBlocks (DenseMap<Value *, BasicBlock *> & BlocksToPrune, OutlinableRegion & Region)Remove empty output blocks from the outlined region.
Parameters
BlocksToPrune - Mapping of return values output blocks for theRegion - The OutlinableRegion we are analyzing.Defined at line 1998 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
void doSplitCoroutine (Function & F, SmallVectorImpl<Function *> & Clones, coro::BaseABI & ABI, TargetTransformInfo & TTI, bool OptimizeFrame)Defined at line 1999 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
void printNode (raw_ostream & OS, LazyCallGraph::Node & N)Defined at line 2000 of file llvm/lib/Analysis/LazyCallGraph.cpp
-
bool isKnownExactCastIntToFP (CastInst & I, InstCombinerImpl & IC)Return true if the cast from integer to FP can be proven to be exact for all
possible inputs (the conversion does not lose any precision).
Defined at line 2000 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
void inferAttrsFromFunctionBodies (const SCCNodeSet & SCCNodes, SmallPtrSet<Function *, 8> & Changed)Infer attributes from all functions in the SCC by scanning every
instruction for compliance to the attribute assumptions.
Returns true if any changes to function attributes were made.
Defined at line 2001 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
template <typename T>void salvageDbgAssignAddress (T * Assign)Defined at line 2002 of file llvm/lib/Transforms/Utils/Local.cpp
-
void fixupAssignments (ilist_iterator Start, ilist_iterator End)Update inlined instructions' DIAssignID metadata. We need to do this
otherwise a function inlined more than once into the same function
will cause DIAssignID to be shared by many instructions.
Defined at line 2004 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
unsigned int emitConvertFuncs (CodeGenTarget & Target, StringRef ClassName, int & Infos, bool HasMnemonicFirst, bool HasOptionalOperands, raw_ostream & OS)Defined at line 2004 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
bool swapICmpOperandsToExposeCSEOpportunities (CmpInst * Cmp)Many architectures use the same instruction for both subtract and cmp. Try
to swap cmp operands to match subtract operations to allow for CSE.
Defined at line 2005 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
PointerBounds expandBounds (const RuntimeCheckingPtrGroup * CG, Loop * TheLoop, Instruction * Loc, SCEVExpander & Exp, bool HoistRuntimeChecks)Expand code for the lower and upper bound of the pointer group
in
Returns
the values for the bounds.
Defined at line 2006 of file llvm/lib/Transforms/Utils/LoopUtils.cpp
-
bool hasTiedDef (MachineRegisterInfo * MRI, Register reg)Return true if
has any tied def operand.
Defined at line 2007 of file llvm/lib/CodeGen/RegAllocGreedy.cpp
-
bool isAlwaysFoldable (const TargetTransformInfo & TTI, KindType Kind, MemAccessTy AccessTy, GlobalValue * BaseGV, Immediate BaseOffset, bool HasBaseReg)Defined at line 2007 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
Constant * getFPClassConstant (Type * Ty, FPClassTest Mask)For floating-point classes that resolve to a single bit pattern, return that
value.
Defined at line 2008 of file llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
-
void printSCC (raw_ostream & OS, LazyCallGraph::SCC & C)Defined at line 2009 of file llvm/lib/Analysis/LazyCallGraph.cpp
-
ErrorOr setupMemoryBuffer (const Twine & Filename, vfs::FileSystem & FS)Prepare a memory buffer for the contents of
Defined at line 2010 of file llvm/lib/ProfileData/SampleProfReader.cpp
-
void dumpScopes (SmallVectorImpl<CHRScope *> & Scopes, const char * Label)Defined at line 2012 of file llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
-
bool canCreatePoison (Register Reg, const MachineRegisterInfo & MRI, bool ConsiderFlagsAndMetadata)Defined at line 2014 of file llvm/lib/CodeGen/GlobalISel/Utils.cpp
-
Value * matchShiftULTCondition (BranchInst * BI, BasicBlock * LoopEntry, APInt & Threshold)Check if the given conditional branch is based on an unsigned less-than
comparison between a variable and a constant, and if the comparison is false
the control yields to the loop entry. If the branch matches the behaviour,
the variable involved in the comparison is returned.
Defined at line 2014 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
void moveFastMathFlags (Function & F, int & Instructions)Moves fast math flags from the function to individual instructions, and
removes the attribute from the function.
TODO: Make this controllable with a flag.
Defined at line 2015 of file llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
-
MCSectionCOFF * getCOFFStaticStructorSection (MCContext & Ctx, const Triple & T, bool IsCtor, unsigned int Priority, const MCSymbol * KeySym, MCSectionCOFF * Default)Defined at line 2015 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
void printRefSCC (raw_ostream & OS, LazyCallGraph::RefSCC & C)Defined at line 2016 of file llvm/lib/Analysis/LazyCallGraph.cpp
-
bool assignedRegPartiallyOverlaps (const TargetRegisterInfo & TRI, const VirtRegMap & VRM, MCRegister PhysReg, const LiveInterval & Intf)Return true if the existing assignment of
overlaps, but is not the
same, as
Defined at line 2017 of file llvm/lib/CodeGen/RegAllocGreedy.cpp
-
void relocationViaAlloca (Function & F, DominatorTree & DT, ArrayRef Live, ArrayRef<PartiallyConstructedSafepointRecord> Records)Do all the relocation update via allocas and mem2reg
Defined at line 2017 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
Instruction * foldFDivSqrtDivisor (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Convert div to mul if we have an sqrt divisor iff sqrt's operand is a fdiv
instruction.
Defined at line 2018 of file llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
-
int checkARMPackedEpilog (MCStreamer & streamer, WinEH::FrameInfo * info, int PrologCodeBytes)Defined at line 2018 of file llvm/lib/MC/MCWin64EH.cpp
-
CallingConvention dwarfCCToCodeView (unsigned int DwarfCC)Given a DWARF calling convention, get the CodeView equivalent. If we don't
have a translation, use the NearC convention.
Defined at line 2019 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
void getNegatibleInsts (Value * V, SmallVectorImpl<Instruction *> & Candidates)Recursively analyze an expression to build a list of instructions that have
negative floating-point constant operands. The caller can then transform
the list to create positive constants for better reassociation and CSE.
Defined at line 2019 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
Value * simplifyAndCommutative (Value * Op0, Value * Op1, const SimplifyQuery & Q, unsigned int MaxRecurse)Commutative patterns for and that will be tried with both operand orders.
Defined at line 2020 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Value * evaluateInDifferentElementOrder (Value * V, ArrayRef Mask, IRBuilderBase & Builder)Defined at line 2020 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
Value * simplifyX86vpermilvar (const IntrinsicInst & II, InstCombiner::BuilderTy & Builder)Attempt to convert vpermilvar* to shufflevector if the mask is constant.
Defined at line 2021 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
void updateCallerBFI (BasicBlock * CallSiteBlock, const ValueToValueMapTy & VMap, BlockFrequencyInfo * CallerBFI, BlockFrequencyInfo * CalleeBFI, const BasicBlock & CalleeEntryBlock)Update the block frequencies of the caller after a callee has been inlined.
Each block cloned into the caller has its block frequency scaled by the
ratio of CallSiteFreq/CalleeEntryFreq. This ensures that the cloned copy of
callee's entry block gets the same frequency as the callsite block and the
relative frequencies of all cloned blocks remain the same after cloning.
Defined at line 2022 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
bool checkForAllInstructionsImpl (Attributor * A, int & OpcodeInstMap, function_ref<bool (Instruction &)> Pred, const AbstractAttribute * QueryingAA, const AAIsDead * LivenessAA, ArrayRef Opcodes, bool & UsedAssumedInformation, bool CheckBBLivenessOnly, bool CheckPotentiallyDead)Defined at line 2022 of file llvm/lib/Transforms/IPO/Attributor.cpp
-
Value * foldICmpOrXorSubChain (ICmpInst & Cmp, BinaryOperator * Or, InstCombiner::BuilderTy & Builder)Fold icmp eq/ne (or (xor/sub (X1, X2), xor/sub (X3, X4))), 0.
Defined at line 2022 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
Constant * getPredicateResult (Predicate Pred, Constant * C, const ValueLatticeElement & Val, const DataLayout & DL)Defined at line 2023 of file llvm/lib/Analysis/LazyValueInfo.cpp
-
void remapSourceAtoms (ValueToValueMapTy & VM, ilist_iterator_w_bits Begin, ilist_iterator_w_bits End)Defined at line 2024 of file llvm/lib/Transforms/Scalar/JumpThreading.cpp
-
bool checkMachOAndArchFlags (SymbolicFile * O, StringRef Filename)checkMachOAndArchFlags() checks to see if the SymbolicFile is a Mach-O file
and if it is and there is a list of architecture flags is specified then
check to make sure this Mach-O file is one of those architectures or all
architectures was specificed. If not then an error is generated and this
routine returns false. Else it returns true.
Defined at line 2024 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
Value * optimizeUnaryDoubleFP (CallInst * CI, IRBuilderBase & B, const TargetLibraryInfo * TLI, bool isPrecise)Shrink double -> float for unary functions.
Defined at line 2027 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
Error printMatch (bool ExpectedMatch, const SourceMgr & SM, StringRef Prefix, SMLoc Loc, const Pattern & Pat, int MatchedCount, StringRef Buffer, MatchResult MatchResult, const FileCheckRequest & Req, std::vector<FileCheckDiag> * Diags)Returns either (1)
if there was no error or (2)
if an error was reported, such as an unexpected match.
Defined at line 2027 of file llvm/lib/FileCheck/FileCheck.cpp
-
Instruction * foldSelectICmpEq (SelectInst & SI, ICmpInst * ICI, InstCombinerImpl & IC)Defined at line 2028 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
Value * upgradeX86VPERMT2Intrinsics (IRBuilder<> & Builder, CallBase & CI, bool ZeroMask, bool IndexForm)Defined at line 2028 of file llvm/lib/IR/AutoUpgrade.cpp
-
void initializeBasicAAWrapperPassPassOnce (PassRegistry & Registry)Defined at line 2030 of file llvm/lib/Analysis/BasicAliasAnalysis.cpp
-
void fixFuncEntryCount (PGOUseFunc & Func, LoopInfo & LI, BranchProbabilityInfo & NBPI)Using the ratio b/w sums of profile count values and BFI count values to
adjust the func entry count.
Defined at line 2030 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
void extractCUsTus (DWARFContext & DCtx)Extracts all the data for CU/TUs so we can access it in parallel without
locks.
Defined at line 2032 of file llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
-
Value * optimizeBinaryDoubleFP (CallInst * CI, IRBuilderBase & B, const TargetLibraryInfo * TLI, bool isPrecise)Shrink double -> float for binary functions.
Defined at line 2034 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
bool foldFCmpToFPClassTest (CmpInst * Cmp, const TargetLowering & TLI, const DataLayout & DL)Defined at line 2034 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
void DumpInfoPlistSectionContents (StringRef Filename, MachOObjectFile * O)Defined at line 2037 of file llvm/tools/llvm-objdump/MachODump.cpp
-
Error addSectCreates (Session & S, const std::map<unsigned int, JITDylib *> & IdxToJD)Defined at line 2037 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
Instruction * foldComplexAndOrPatterns (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Try folding relatively complex patterns for both And and Or operations
with all And and Or swapped.
Defined at line 2038 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool isAlwaysFoldable (const TargetTransformInfo & TTI, ScalarEvolution & SE, Immediate MinOffset, Immediate MaxOffset, KindType Kind, MemAccessTy AccessTy, const SCEV * S, bool HasBaseReg)Defined at line 2039 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
PHINode * getRecurrenceVar (Value * VarX, Instruction * DefX, BasicBlock * LoopEntry)Check if the recurrence variable `VarX` is in the right form to create
the idiom. Returns the value coerced to a PHINode if so.
Defined at line 2040 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
unsigned int parseOptionalLinkageAux (Kind Kind, bool & HasLinkage)Defined at line 2040 of file llvm/lib/AsmParser/LLParser.cpp
-
void printNodeDOT (raw_ostream & OS, LazyCallGraph::Node & N)Defined at line 2045 of file llvm/lib/Analysis/LazyCallGraph.cpp
-
void ProfileFoldOpInit (FoldingSetNodeID & ID, const Init * Start, const Init * List, const Init * A, const Init * B, const Init * Expr, const RecTy * Type)Defined at line 2046 of file llvm/lib/TableGen/Record.cpp
-
void alignOutputBlockWithAggFunc (OutlinableGroup & OG, OutlinableRegion & Region, DenseMap<Value *, BasicBlock *> & OutputBBs, DenseMap<Value *, BasicBlock *> & EndBBs, const DenseMap<Value *, Value *> & OutputMappings, std::vector<DenseMap<Value *, BasicBlock *>> & OutputStoreBBs)For the outlined section, move needed the StoreInsts for the output
registers into their own block. Then, determine if there is a duplicate
output block already created.
Parameters
OG [in] - The OutlinableGroup of regions to be outlined.Region [in] - The OutlinableRegion that is being analyzed.OutputBBs [in,out] - the blocks that stores for this region will be placed in.EndBBs [in] - the final blocks of the extracted function.OutputMappings [in] - OutputMappings the mapping of values that have been replaced by a new output value.OutputStoreBBs [in,out] - The existing output blocks.Defined at line 2046 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
bool fullyContains (DbgVariableFragmentInfo A, DbgVariableFragmentInfo B)Return true if A fully contains B.
Defined at line 2048 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
LazyCallGraph::SCC & updateCallGraphAfterCoroutineSplit (LazyCallGraph::Node & N, const coro::Shape & Shape, const SmallVectorImpl<Function *> & Clones, LazyCallGraph::SCC & C, LazyCallGraph & CG, CGSCCAnalysisManager & AM, CGSCCUpdateResult & UR, FunctionAnalysisManager & FAM)Defined at line 2048 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
void updateCallProfile (Function * Callee, const ValueToValueMapTy & VMap, const ProfileCount & CalleeEntryCount, const CallBase & TheCall, ProfileSummaryInfo * PSI, BlockFrequencyInfo * CallerBFI)Update the branch metadata for cloned call instructions.
Defined at line 2050 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
void printArchiveMap (iterator_range<Archive::symbol_iterator> & map, StringRef Filename)Defined at line 2051 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
const char * LLVMGetSection (LLVMValueRef Global)Defined at line 2052 of file llvm/lib/IR/Core.cpp
-
bool OptimizeGlobalVars (Module & M, function_ref<TargetTransformInfo &(Function &)> GetTTI, function_ref<TargetLibraryInfo &(Function &)> GetTLI, function_ref<DominatorTree &(Function &)> LookupDomTree, SmallPtrSetImpl<const Comdat *> & NotDiscardableComdats)Defined at line 2052 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
ConstantRange getUnsignedCountTrailingZerosRange (const APInt & Lower, const APInt & Upper)Defined at line 2053 of file llvm/lib/IR/ConstantRange.cpp
-
StringRef parseScalarValue (StringRef UnquotedValue, SmallVectorImpl<char> & Storage, StringRef LookupChars, function UnescapeCallback)parseScalarValue - A common parsing routine for all flow scalar styles.
It handles line break characters by itself, adds regular content characters
to the result, and forwards escaped sequences to the provided routine for
the style-specific processing.
Parameters
UnquotedValue - An input value without quotation marks.Storage - A storage for the result if the input value is multiline or contains escaped characters.LookupChars - A set of special characters to search in the input string. Should include line break characters and the escape character specific for the processing scalar style, if any.UnescapeCallback - This is called when the escape character is found in the input.Defined at line 2054 of file llvm/lib/Support/YAMLParser.cpp
-
Instruction * convertFSqrtDivIntoFMul (CallInst * CI, Instruction * X, const SmallPtrSetImpl<Instruction *> & R1, const SmallPtrSetImpl<Instruction *> & R2, InstCombiner::BuilderTy & B, InstCombinerImpl * IC)Change
X = 1/sqrt(a)
R1 = X * X
R2 = a * X
TO
FDiv = 1/a
FSqrt = sqrt(a)
FMul = FDiv * FSqrt
Replace Uses Of R1 With FDiv
Replace Uses Of R2 With FSqrt
Replace Uses Of X With FMul
Defined at line 2057 of file llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
-
void LLVMSetSection (LLVMValueRef Global, const char * Section)Defined at line 2058 of file llvm/lib/IR/Core.cpp
-
bool parseDouble (Option & O, StringRef Arg, double & Value)parser
<double
>/parser
<float
> implementation
Defined at line 2061 of file llvm/lib/Support/CommandLine.cpp
-
Value * convertValue (const DataLayout & DL, IRBuilderTy & IRB, Value * V, Type * NewTy)Generic routine to convert an SSA value to a value of a different
type.
This will try various different casting techniques, such as bitcasts,
inttoptr, and ptrtoint casts. Use the
predicate to test
two types for viability with this routine.
Defined at line 2061 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
LLVMGetVisibility (LLVMValueRef Global)Defined at line 2062 of file llvm/lib/IR/Core.cpp
-
optional getUntaggedStoreAssignmentInfo (const Instruction & I, const DataLayout & Layout)Defined at line 2062 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
optional getAssignmentInfoImpl (const DataLayout & DL, const Value * StoreDest, TypeSize SizeInBits)Collect constant properties (base, size, offset) of
Return std::nullopt if any properties are not constants or the
offset from the base pointer is negative.
Defined at line 2063 of file llvm/lib/IR/DebugInfo.cpp
-
unsigned int getThreeSrcCommuteCase (uint64_t TSFlags, unsigned int SrcOpIdx1, unsigned int SrcOpIdx2)This determines which of three possible cases of a three source commute
the source indexes correspond to taking into account any mask operands.
All prevents commuting a passthru operand. Returns -1 if the commute isn't
possible.
Case 0 - Possible to commute the first and second operands.
Case 1 - Possible to commute the first and third operands.
Case 2 - Possible to commute the second and third operands.
Defined at line 2064 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool doImportingForModuleForTest (Module & M, function_ref isPrevailing)Defined at line 2065 of file llvm/lib/Transforms/IPO/FunctionImport.cpp
-
bool checkMachOAndArchFlags (ObjectFile * O, StringRef Filename)checkMachOAndArchFlags() checks to see if the ObjectFile is a Mach-O file
and if it is and there is a list of architecture flags is specified then
check to make sure this Mach-O file is one of those architectures or all
architectures were specified. If not then an error is generated and this
routine returns false. Else it returns true.
Defined at line 2066 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void LLVMSetVisibility (LLVMValueRef Global, Viz)Defined at line 2067 of file llvm/lib/IR/Core.cpp
-
bool isRemOfLoopIncrementWithLoopInvariant (Instruction * Rem, const LoopInfo * LI, Value *& RemAmtOut, Value *& AddInstOut, Value *& AddOffsetOut, PHINode *& LoopIncrPNOut)Defined at line 2067 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
AttrKind getAttrFromCode (uint64_t Code)Returns Attribute::None on unrecognized codes.
Defined at line 2067 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
void insertDAGNode (SelectionDAG & DAG, SDValue Pos, SDValue N)Insert a node into the DAG at least before the Pos node's position. This
will reposition the node as needed, and will assign it a node ID that is
<
=
the Pos node's ID. Note that this does *not* preserve the uniqueness of node
IDs! The selection DAG must no longer depend on their uniqueness when this
is used.
Defined at line 2068 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
Value * simplifyX86vpermv (const IntrinsicInst & II, InstCombiner::BuilderTy & Builder)Attempt to convert vpermd/vpermps to shufflevector if the mask is constant.
Defined at line 2068 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
void dumpArchiveMap (Archive * A, StringRef Filename)Defined at line 2071 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
LLVMGetDLLStorageClass (LLVMValueRef Global)Defined at line 2072 of file llvm/lib/IR/Core.cpp
-
bool simplifyKnownEVL (VPlan & Plan, ElementCount VF, PredicatedScalarEvolution & PSE)From the definition of llvm.experimental.get.vector.length,
VPInstruction::ExplicitVectorLength(%AVL) = %AVL when %AVL
<
= VF.
Defined at line 2072 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
unsigned int getConstrainedOpcode (Intrinsic::ID ID)TODO: Include ConstainedOps.def when all strict instructions are defined.
Defined at line 2074 of file llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
-
SmallVector expandBounds (const SmallVectorImpl<RuntimePointerCheck> & PointerChecks, Loop * L, Instruction * Loc, SCEVExpander & Exp, bool HoistRuntimeChecks)Turns a collection of checks into a collection of expanded upper and
lower bounds for both pointers in the check.
Defined at line 2075 of file llvm/lib/Transforms/Utils/LoopUtils.cpp
-
AllocaInst * getUnknownStore (const Instruction & I, const DataLayout & Layout)Defined at line 2075 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
bool parseRegMask (unsigned int Mask, bool & HasLR, bool & HasR11, unsigned int & Folded, int & IntRegs)Defined at line 2075 of file llvm/lib/MC/MCWin64EH.cpp
-
bool useActiveLaneMask (TailFoldingStyle Style)Defined at line 2076 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
bool detectShiftUntilLessThanIdiom (Loop * CurLoop, const DataLayout & DL, Intrinsic::ID & IntrinID, Value *& InitX, Instruction *& CntInst, PHINode *& CntPhi, Instruction *& DefX, APInt & Threshold)Return true if the idiom is detected in the loop.
Additionally:
1)
is set to the instruction Counting Leading Zeros (CTLZ)
or nullptr if there is no such.
2)
is set to the corresponding phi node
or nullptr if there is no such.
3)
is set to the value whose CTLZ could be used.
4)
is set to the instruction calculating Loop exit condition.
5)
is set to the constant involved in the unsigned less-than
comparison.
The core idiom we are trying to detect is:
Code
if (x0 < 2) goto loop-exit // the precondition of the loop cnt0 = init-val do { x = phi (x0, x.next); //PhiX cnt = phi (cnt0, cnt.next) cnt.next = cnt + 1; ... x.next = x >> 1; // DefX } while (x >= 4) loop-exit:Defined at line 2076 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
void LLVMSetDLLStorageClass (LLVMValueRef Global, Class)Defined at line 2077 of file llvm/lib/IR/Core.cpp
-
bool mayHaveRecursiveCallee (Function & F, bool AnyFunctionsAddressIsTaken)Determines if the function 'F' can be marked 'norecurse'.
It returns true if any call within 'F' could lead to a recursive
call back to 'F', and false otherwise.
The 'AnyFunctionsAddressIsTaken' parameter is a module-wide flag
that is true if any function's address is taken, or if any function
has external linkage. This is used to determine the safety of
external/library calls.
Defined at line 2077 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
void verifyFuncBFI (PGOUseFunc & Func, LoopInfo & LI, BranchProbabilityInfo & NBPI, uint64_t HotCountThreshold, uint64_t ColdCountThreshold)Compare the profile count values with BFI count values, and print out
the non-matching ones.
Defined at line 2077 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
bool getHexUint (const MIToken & Token, APInt & Result)Defined at line 2078 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
bool useActiveLaneMaskForControlFlow (TailFoldingStyle Style)Defined at line 2082 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
LLVMGetUnnamedAddress (LLVMValueRef Global)Defined at line 2082 of file llvm/lib/IR/Core.cpp
-
bool foldMaskAndShiftToExtract (SelectionDAG & DAG, SDValue N, uint64_t Mask, SDValue Shift, SDValue X, X86ISelAddressMode & AM)Transform "(X >> (8-C1)) & (0xff << C1)" to "((X >> 8) & 0xff) << C1" if
safe. This allows us to convert the shift and and into an h-register
extract and a scaled index. Returns false if the simplification is
performed.
Defined at line 2086 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
void dumpArchive (Archive * A, int & SymbolList, StringRef Filename, LLVMContext * ContextPtr)Defined at line 2087 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
void replacePrepare (CallInst * Prepare, LazyCallGraph & CG, LazyCallGraph::SCC & C)Replace a call to llvm.coro.prepare.retcon.
Defined at line 2087 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
Error addTestHarnesses (Session & S)Defined at line 2088 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
Value * upgradeX86BinaryIntrinsics (IRBuilder<> & Builder, CallBase & CI, Intrinsic::ID IID)Defined at line 2088 of file llvm/lib/IR/AutoUpgrade.cpp
-
void writeGenericDINode (raw_ostream & Out, const GenericDINode * N, AsmWriterContext & WriterCtx)Defined at line 2088 of file llvm/lib/IR/AsmWriter.cpp
-
bool EvaluateStaticConstructor (Function * F, const DataLayout & DL, TargetLibraryInfo * TLI)Evaluate static constructors in the function, if we can. Return true if we
can, false otherwise.
Defined at line 2088 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
Value * getIntToFPVal (Value * I2F, IRBuilderBase & B, unsigned int DstWidth)Return a properly extended integer (DstWidth bits wide) if the operation is
an itofp.
Defined at line 2092 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
void LLVMSetUnnamedAddress (LLVMValueRef Global, UnnamedAddr)Defined at line 2094 of file llvm/lib/IR/Core.cpp
-
bool getUnsigned (const MIToken & Token, unsigned int & Result, ErrorCallbackType ErrCB)Defined at line 2095 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
Error printNoMatch (bool ExpectedMatch, const SourceMgr & SM, StringRef Prefix, SMLoc Loc, const Pattern & Pat, int MatchedCount, StringRef Buffer, Error MatchError, bool VerboseVerbose, std::vector<FileCheckDiag> * Diags)Returns either (1)
if there was no error, or (2)
if an error was reported, such as an expected match not
found.
Defined at line 2097 of file llvm/lib/FileCheck/FileCheck.cpp
-
size_t getOptionPrefixesSize ()Defined at line 2100 of file llvm/lib/Support/CommandLine.cpp
-
void addNoRecurseAttrs (const SCCNodeSet & SCCNodes, SmallPtrSet<Function *, 8> & Changed)Defined at line 2100 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
void ProcessMachO (StringRef Name, MachOObjectFile * MachOOF, StringRef ArchiveMemberName, StringRef ArchitectureName)ProcessMachO() is passed a single opened Mach-O file, which may be an
archive member and or in a slice of a universal file. It prints the
the file name and header info and then processes it according to the
command line options.
Defined at line 2100 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void createAndInsertBasicBlocks (DenseMap<Value *, BasicBlock *> & OldMap, DenseMap<Value *, BasicBlock *> & NewMap, Function * ParentFunc, Twine BaseName)Takes in a mapping,
of ConstantValues to BasicBlocks, sorts keys,
before creating a basic block for each
and inserting into the new
block. Each BasicBlock is named with the scheme "<basename>_<key_idx>".
Parameters
OldMap [in] - The mapping to base the new mapping off of.NewMap [out] - The output mapping using the keys ofParentFunc [in] - The function to put the new basic block in.BaseName [in] - The start of the BasicBlock names to be appended to by an index value.Defined at line 2101 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
bool isExplicitVecOuterLoop (Loop * OuterLp, OptimizationRemarkEmitter * ORE)Return true if
is an outer loop annotated with hints for explicit
vectorization. The loop needs to be annotated with #pragma omp simd
simdlen(#) or #pragma clang vectorize(enable) vectorize_width(#). If the
vector length information is not provided, vectorization is not considered
explicit. Interleave hints are not allowed either. These limitations will be
relaxed in the future.
Please, note that we are currently forced to abuse the pragma 'clang
vectorize' semantics. This pragma provides *auto-vectorization hints*
(i.e., LV must check that vectorization is legal) whereas pragma 'omp simd'
provides *explicit vectorization hints* (LV can bypass legal checks and
assume that vectorization is legal). However, both hints are implemented
using the same metadata (llvm.loop.vectorize, processed by
LoopVectorizeHints). This will be fixed in the future when the native IR
representation for pragma 'omp simd' is introduced.
Defined at line 2101 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
bool translateRMRegister (MCInst & mcInst, InternalInstruction & insn)translateRMRegister - Translates a register stored in the R/M field of the
ModR/M byte to its LLVM equivalent and appends it to an MCInst.
Parameters
mcInst - The MCInst to append to.insn - The internal instruction to extract the R/M field from.Returns
- 0 on success; -1 otherwise
Defined at line 2102 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
Value * simplifyX86vpermv3 (const IntrinsicInst & II, InstCombiner::BuilderTy & Builder)Attempt to convert vpermi2/vpermt2 to shufflevector if the mask is constant.
Defined at line 2102 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
Error addObjects (Session & S, const std::map<unsigned int, JITDylib *> & IdxToJD, const DenseSet<unsigned int> & LazyLinkIdxs)Defined at line 2102 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
Value * upgradeX86Rotate (IRBuilder<> & Builder, CallBase & CI, bool IsRotateRight)Defined at line 2103 of file llvm/lib/IR/AutoUpgrade.cpp
-
bool shouldPrintOption (StringRef Name, StringRef Description, const Option & O)Defined at line 2104 of file llvm/lib/Support/CommandLine.cpp
-
void writeDILocation (raw_ostream & Out, const DILocation * DL, AsmWriterContext & WriterCtx)Defined at line 2106 of file llvm/lib/IR/AsmWriter.cpp
-
LLVMBool LLVMHasUnnamedAddr (LLVMValueRef Global)Deprecated: Use LLVMGetUnnamedAddress instead.
Defined at line 2107 of file llvm/lib/IR/Core.cpp
-
void emitDbgAssign (AssignmentInfo Info, Value * Val, Value * Dest, Instruction & StoreLikeInst, const VarRecord & VarRec, DIBuilder & DIB)Returns nullptr if the assignment shouldn't be attributed to this variable.
Defined at line 2109 of file llvm/lib/IR/DebugInfo.cpp
-
void LLVMSetUnnamedAddr (LLVMValueRef Global, LLVMBool HasUnnamedAddr)Deprecated: Use LLVMSetUnnamedAddress instead.
Defined at line 2111 of file llvm/lib/IR/Core.cpp
-
basic_string APIntToHexString (const APInt & AI)Defined at line 2112 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
bool MaySpeculate (const MachineInstr & MI, int & LaterRedefs)Defined at line 2112 of file llvm/lib/CodeGen/IfConversion.cpp
-
void initializePostRAMachineSinkingLegacyPassOnce (PassRegistry & Registry)Defined at line 2114 of file llvm/lib/CodeGen/MachineSink.cpp
-
DenseMap buildOverlapMapAndRecordDeclares (Function & Fn, FunctionVarLocsBuilder * FnVarLocs, const DenseSet<DebugAggregate> & VarsWithStackSlot, AssignmentTrackingLowering::UntaggedStoreAssignmentMap & UntaggedStoreVars, AssignmentTrackingLowering::UnknownStoreAssignmentMap & UnknownStoreVars, unsigned int & TrackedVariablesVectorSize)Build a map of {Variable x: Variables y} where all variable fragments
contained within the variable fragment x are in set y. This means that
y does not contain all overlaps because partial overlaps are excluded.
While we're iterating over the function, add single location defs for
dbg.declares to
Variables that are interesting to this pass in are added to
FnVarLocs->Variables first. TrackedVariablesVectorSize is set to the ID of
the last interesting variable plus 1, meaning variables with ID 1
(inclusive) to TrackedVariablesVectorSize (exclusive) are interesting. The
subsequent variables are either stack homed or fully promoted.
Finally, populate UntaggedStoreVars with a mapping of untagged stores to
the stored-to variable fragments, and UnknownStoreVars with a mapping
of untagged unknown stores to the stored-to variable aggregates.
These tasks are bundled together to reduce the number of times we need
to iterate over the function as they can be achieved together in one pass.
Defined at line 2114 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
bool tryARMPackedUnwind (MCStreamer & streamer, WinEH::FrameInfo * info, uint32_t FuncLength)Defined at line 2115 of file llvm/lib/MC/MCWin64EH.cpp
-
int compareNames (Constant *const * A, Constant *const * B)Defined at line 2116 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
LLVMTypeRef LLVMGlobalGetValueType (LLVMValueRef Global)Returns the "value type" of a global value. This differs from the formal
type of a global value which is always a pointer type.
Defined at line 2117 of file llvm/lib/IR/Core.cpp
-
void ProfileIsAOpInit (FoldingSetNodeID & ID, const RecTy * CheckType, const Init * Expr)Defined at line 2117 of file llvm/lib/TableGen/Record.cpp
-
bool aliasWithRegsInLiveIn (MachineBasicBlock & MBB, Register Reg, const TargetRegisterInfo * TRI)Defined at line 2117 of file llvm/lib/CodeGen/MachineSink.cpp
-
void findUnwindDestinations (FunctionLoweringInfo & FuncInfo, const BasicBlock * EHPadBB, BranchProbability Prob, SmallVectorImpl<std::pair<MachineBasicBlock *, BranchProbability>> & UnwindDests)When an invoke or a cleanupret unwinds to the next EH pad, there are
many places it could ultimately go. In the IR, we have a single unwind
destination, but in the machine CFG, we enumerate all the possible blocks.
This function skips over imaginary basic blocks that hold catchswitch
instructions, and finds all the "real" machine
basic block destinations. As those destinations may not be successors of
EHPadBB, here we also calculate the edge probability to those destinations.
The passed-in Prob is the edge probability to EHPadBB.
Defined at line 2117 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
Value * getSalvageOpsForGEP (GetElementPtrInst * GEP, const DataLayout & DL, uint64_t CurrentLocOps, SmallVectorImpl<uint64_t> & Opcodes, SmallVectorImpl<Value *> & AdditionalValues)Defined at line 2118 of file llvm/lib/Transforms/Utils/Local.cpp
-
void dumpMachOUniversalBinaryMatchArchFlags (MachOUniversalBinary * UB, int & SymbolList, StringRef Filename, LLVMContext * ContextPtr)Defined at line 2118 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
bool sinkRecurrenceUsersAfterPrevious (VPFirstOrderRecurrencePHIRecipe * FOR, VPRecipeBase * Previous, VPDominatorTree & VPDT)Sink users of
after the recipe defining the previous value
of the recurrence.
Defined at line 2119 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
template <typename K>void addAttributeImpl (SmallVectorImpl<Attribute> & Attrs, K Kind, Attribute Attr)Defined at line 2121 of file llvm/lib/IR/Attributes.cpp
-
ConstantRange getUnsignedPopCountRange (const APInt & Lower, const APInt & Upper)Defined at line 2121 of file llvm/lib/IR/ConstantRange.cpp
-
void writeDIAssignID (raw_ostream & Out, const DIAssignID * DL, AsmWriterContext & WriterCtx)Defined at line 2122 of file llvm/lib/IR/AsmWriter.cpp
-
void addNoReturnAttrs (const SCCNodeSet & SCCNodes, SmallPtrSet<Function *, 8> & Changed)Set the noreturn function attribute if possible.
Defined at line 2122 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
void setUsedInitializer (GlobalVariable & V, const SmallPtrSetImpl<GlobalValue *> & Init)Defined at line 2122 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool replaceAllPrepares (Function * PrepareFn, LazyCallGraph & CG, LazyCallGraph::SCC & C)Defined at line 2123 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
basic_string scalarConstantToHexString (const Constant * C)Defined at line 2123 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
unsigned int LLVMGetAlignment (LLVMValueRef V)Obtain the preferred alignment of the value.
Defined at line 2123 of file llvm/lib/IR/Core.cpp
-
MachineBasicBlock * getSingleLiveInSuccBB (MachineBasicBlock & CurBB, const SmallPtrSetImpl<MachineBasicBlock *> & SinkableBBs, Register Reg, const TargetRegisterInfo * TRI)Defined at line 2124 of file llvm/lib/CodeGen/MachineSink.cpp
-
MachineBasicBlock * createDedicatedExit (MachineBasicBlock * Loop, MachineBasicBlock * Exit, LiveIntervals & LIS)Create a dedicated exit for Loop. Exit is the original exit for Loop.
If it is already dedicated exit, return it. Otherwise, insert a new
block between them and return the new block.
Defined at line 2125 of file llvm/lib/CodeGen/ModuloSchedule.cpp
-
void createSwitchStatement (Module & M, OutlinableGroup & OG, DenseMap<Value *, BasicBlock *> & EndBBs, std::vector<DenseMap<Value *, BasicBlock *>> & OutputStoreBBs)Create the switch statement for outlined function to differentiate between
all the output blocks.
For the outlined section, determine if an outlined block already exists that
matches the needed stores for the extracted section.
Parameters
M [in] - The module we are outlining from.OG [in] - The group of regions to be outlined.EndBBs [in] - The final blocks of the extracted function.OutputStoreBBs [in,out] - The existing output blocks.Defined at line 2126 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
bool isShuffleExtractingFromLHS (ShuffleVectorInst & SVI, ArrayRef Mask)Returns true if the shuffle is extracting a contiguous range of values from
LHS, for example:
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Input: |AA|BB|CC|DD|EE|FF|GG|HH|II|JJ|KK|LL|MM|NN|OO|PP|
Shuffles to: |EE|FF|GG|HH|
+--+--+--+--+
Defined at line 2128 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
void writeDISubrange (raw_ostream & Out, const DISubrange * N, AsmWriterContext & WriterCtx)Defined at line 2128 of file llvm/lib/IR/AsmWriter.cpp
-
void collectSupportedLoops (Loop & L, LoopInfo * LI, OptimizationRemarkEmitter * ORE, SmallVectorImpl<Loop *> & V)Defined at line 2129 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
Value * upgradeX86vpcom (IRBuilder<> & Builder, CallBase & CI, unsigned int Imm, bool IsSigned)Defined at line 2129 of file llvm/lib/IR/AutoUpgrade.cpp
-
template <typename Ty>SDValue getFixedOrScalableQuantity (SelectionDAG & DAG, const SDLoc & DL, EVT VT, Ty Quantity)Defined at line 2133 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
bool foldMaskedShiftToScaledMask (SelectionDAG & DAG, SDValue N, X86ISelAddressMode & AM)Transforms "(X << C1) & C2" to "(X & (C2>>C1)) << C1" if safe and if this
allows us to fold the shift into this addressing mode. Returns false if the
transform succeeded.
Defined at line 2133 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
void addPrepareFunction (const Module & M, SmallVectorImpl<Function *> & Fns, StringRef Name)Defined at line 2136 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
bool allPathsGoThroughCold (Function & F)Defined at line 2136 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
bool simplifyX86VPERMMask (Instruction * II, bool IsBinary, InstCombiner & IC)Simplify VPERMV/VPERMV3 mask - only demand the active index bits.
Defined at line 2138 of file llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
-
void inlineRetainOrClaimRVCalls (CallBase & CB, ARCInstKind RVCallKind, const SmallVectorImpl<ReturnInst *> & Returns)An operand bundle "clang.arc.attachedcall" on a call indicates the call
result is implicitly consumed by a call to retainRV or claimRV immediately
after the call. This function inlines the retainRV/claimRV calls.
There are three cases to consider:
1. If there is a call to autoreleaseRV that takes a pointer to the returned
object in the callee return block, the autoreleaseRV call and the
retainRV/claimRV call in the caller cancel out. If the call in the caller
is a claimRV call, a call to objc_release is emitted.
2. If there is a call in the callee return block that doesn't have operand
bundle "clang.arc.attachedcall", the operand bundle on the original call
is transferred to the call in the callee.
3. Otherwise, a call to objc_retain is inserted if the call in the caller is
a retainRV call.
Defined at line 2140 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
void commuteVPTERNLOG (MachineInstr & MI, unsigned int SrcOpIdx1, unsigned int SrcOpIdx2)Defined at line 2141 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool translateRMMemory (MCInst & mcInst, InternalInstruction & insn, const MCDisassembler * Dis, bool ForceSIB)translateRMMemory - Translates a memory operand stored in the Mod and R/M
fields of an internal instruction (and possibly its SIB byte) to a memory
operand in LLVM's format, and appends it to an MCInst.
Parameters
mcInst - The MCInst to append to.insn - The instruction to extract Mod, R/M, and SIB fields from.ForceSIB - The instruction must use SIB.Returns
- 0 on success; nonzero otherwise
Defined at line 2141 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
void patchAndReplaceAllUsesWith (Instruction * I, Value * Repl)Defined at line 2144 of file llvm/lib/Transforms/Scalar/GVN.cpp
-
int CreateNewABI (Function & F, coro::Shape & S, std::function<bool (Instruction &)> IsMatCallback, const int GenCustomABIs)Defined at line 2144 of file llvm/lib/Transforms/Coroutines/CoroSplit.cpp
-
uint64_t getDwarfOpForBinOp (BinaryOps Opcode)Defined at line 2144 of file llvm/lib/Transforms/Utils/Local.cpp
-
void LLVMSetAlignment (LLVMValueRef V, unsigned int Bytes)Set the preferred alignment of the value.
Defined at line 2145 of file llvm/lib/IR/Core.cpp
-
Expected getObjectFileInterfaceHidden (ExecutionSession & ES, MemoryBufferRef ObjBuffer)Defined at line 2147 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
MachineBasicBlock * getSingleLiveInSuccBB (MachineBasicBlock & CurBB, const SmallPtrSetImpl<MachineBasicBlock *> & SinkableBBs, ArrayRef<Register> DefedRegsInCopy, const TargetRegisterInfo * TRI)Defined at line 2151 of file llvm/lib/CodeGen/MachineSink.cpp
-
void writeDIGenericSubrange (raw_ostream & Out, const DIGenericSubrange * N, AsmWriterContext & WriterCtx)Defined at line 2152 of file llvm/lib/IR/AsmWriter.cpp
-
bool isVectorPromotionViableForSlice (Partition & P, const Slice & S, VectorType * Ty, uint64_t ElementSize, const DataLayout & DL, unsigned int VScale)Test whether the given slice use can be promoted to a vector.
This function is called to test each entry in a partition which is slated
for a single slice.
Defined at line 2152 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
bool annotateAllFunctions (Module & M, StringRef ProfileFileName, StringRef ProfileRemappingFileName, vfs::FileSystem & FS, function_ref<TargetLibraryInfo &(Function &)> LookupTLI, function_ref<BranchProbabilityInfo *(Function &)> LookupBPI, function_ref<BlockFrequencyInfo *(Function &)> LookupBFI, function_ref<LoopInfo *(Function &)> LookupLI, ProfileSummaryInfo * PSI, bool IsCS)Defined at line 2152 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
Instruction * foldICmpUSubSatWithAndForMostSignificantBitCmp (SelectInst & SI, ICmpInst * ICI, InstCombiner::BuilderTy & Builder)Folds:
%a_sub = call
.usub.sat(x, IntConst1)
%b_sub = call
.usub.sat(y, IntConst2)
%or = or %a_sub, %b_sub
%cmp = icmp eq %or, 0
%sel = select %cmp, 0, MostSignificantBit
into:
%a_sub' = usub.sat(x, IntConst1 - MostSignificantBit)
%b_sub' = usub.sat(y, IntConst2 - MostSignificantBit)
%or = or %a_sub', %b_sub'
%and = and %or, MostSignificantBit
Likewise, for vector arguments as well.
Defined at line 2154 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool foldURemOfLoopIncrement (Instruction * Rem, const DataLayout * DL, const LoopInfo * LI, SmallPtrSet<BasicBlock *, 32> & FreshBBs, bool IsHuge)Try to transform:
for(i = Start; i
<
End; ++i)
Rem = (i nuw+ IncrLoopInvariant) u% RemAmtLoopInvariant;
->
Rem = (Start nuw+ IncrLoopInvariant) % RemAmtLoopInvariant;
for(i = Start; i
<
End; ++i, ++rem)
Rem = rem == RemAmtLoopInvariant ? 0 : Rem;
Defined at line 2156 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
SmallVector getSearchPathsFromEnvVar (Session & S)Defined at line 2157 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
BinopElts getAlternateBinop (BinaryOperator * BO, const DataLayout & DL)Binops may be transformed into binops with different opcodes and operands.
Reverse the usual canonicalization to enable folds with the non-canonical
form of the binop. If a transform is possible, return the elements of the
new binop. If not, return invalid elements.
Defined at line 2159 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
SDValue getInputChainForNode (SDNode * N)Given a node, return its input chain if it has one, otherwise return a null
sd operand.
Defined at line 2160 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
unsigned int getConvOpcode (Intrinsic::ID ID)Defined at line 2161 of file llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
-
Value * emitTransformedIndex (IRBuilderBase & B, Value * Index, Value * StartValue, Value * Step, InductionKind InductionKind, const BinaryOperator * InductionBinOp)Compute the transformed value of Index at offset StartValue using step
StepValue.
For integer induction, returns StartValue + Index * StepValue.
For pointer induction, returns StartValue[Index * StepValue].
FIXME: The newly created binary instructions should contain nsw/nuw
flags, which can be found from the original scalar operations.
Defined at line 2165 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
LLVMValueMetadataEntry * LLVMGlobalCopyAllMetadata (LLVMValueRef Value, size_t * NumEntries)Retrieves an array of metadata entries representing the metadata attached to
this value. The caller is responsible for freeing this array by calling
Defined at line 2167 of file llvm/lib/IR/Core.cpp
-
void clearKillFlags (MachineInstr * MI, MachineBasicBlock & CurBB, const SmallVectorImpl<unsigned int> & UsedOpsInCopy, const LiveRegUnits & UsedRegUnits, const TargetRegisterInfo * TRI)Defined at line 2167 of file llvm/lib/CodeGen/MachineSink.cpp
-
Value * upgradeX86ConcatShift (IRBuilder<> & Builder, CallBase & CI, bool IsShiftRight, bool ZeroMask)Defined at line 2168 of file llvm/lib/IR/AutoUpgrade.cpp
-
Expected LoadLibraryWeak (Session & S, StringRef Path)Defined at line 2169 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
void collectRegDefs (const MachineInstr & MI, int & Regs, const TargetRegisterInfo * TRI)Collect all register defines (including aliases) for the given instruction.
Defined at line 2170 of file llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
-
bool isCommutableVPERMV3Instruction (unsigned int Opcode)Returns true if this is a VPERMI2 or VPERMT2 instruction that can be
commuted.
Defined at line 2173 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
void handleSSAValueOperands (uint64_t CurrentLocOps, SmallVectorImpl<uint64_t> & Opcodes, SmallVectorImpl<Value *> & AdditionalValues, Instruction * I)Defined at line 2174 of file llvm/lib/Transforms/Utils/Local.cpp
-
MemberAccess translateAccessFlags (unsigned int RecordTag, unsigned int Flags)Defined at line 2174 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
bool detectPopcountIdiom (Loop * CurLoop, BasicBlock * PreCondBB, Instruction *& CntInst, PHINode *& CntPhi, Value *& Var)Return true iff the idiom is detected in the loop.
Additionally:
1)
is set to the instruction counting the population bit.
2)
is set to the corresponding phi node.
3)
is set to the value whose population bits are being counted.
The core idiom we are trying to detect is:
Code
if (x0 != 0) goto loop-exit // the precondition of the loop cnt0 = init-val; do { x1 = phi (x0, x2); cnt1 = phi(cnt0, cnt2); cnt2 = cnt1 + 1; ... x2 = x1 & (x1 - 1); ... } while(x != 0); loop-exit:Defined at line 2174 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
template <typename CallableT>void visitDomSubTree (DominatorTree & DT, BasicBlock * BB, CallableT Callable)Helper to visit a dominator subtree, invoking a callable on each node.
Returning false at any point will stop walking past that node of the tree.
Defined at line 2175 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
bool hoistPreviousBeforeFORUsers (VPFirstOrderRecurrencePHIRecipe * FOR, VPRecipeBase * Previous, VPDominatorTree & VPDT)Try to hoist
and its operands before all users of
Defined at line 2175 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void LLVMGlobalSetMetadata (LLVMValueRef Global, unsigned int Kind, LLVMMetadataRef MD)Sets a metadata attachment, erasing the existing metadata attachment if
it already exists for the given kind.
Defined at line 2198 of file llvm/lib/IR/Core.cpp
-
void LLVMGlobalAddMetadata (LLVMValueRef Global, unsigned int Kind, LLVMMetadataRef MD)Adds a metadata attachment.
Defined at line 2203 of file llvm/lib/IR/Core.cpp
-
void LLVMGlobalEraseMetadata (LLVMValueRef Global, unsigned int Kind)Erases a metadata attachment of the given kind if it exists.
Defined at line 2208 of file llvm/lib/IR/Core.cpp
-
void LLVMGlobalClearMetadata (LLVMValueRef Global)Removes all metadata attachments from this value.
Defined at line 2212 of file llvm/lib/IR/Core.cpp
-
void LLVMGlobalAddDebugInfo (LLVMValueRef Global, LLVMMetadataRef GVE)Add debuginfo metadata to this global.
Defined at line 2216 of file llvm/lib/IR/Core.cpp
-
void LLVMDisposeValueMetadataEntries (LLVMValueMetadataEntry * Entries)Destroys value metadata entries.
Defined at line 2194 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMValueMetadataEntriesGetKind (LLVMValueMetadataEntry * Entries, unsigned int Index)Returns the kind of a value metadata entry at a specific index.
Defined at line 2179 of file llvm/lib/IR/Core.cpp
-
Instruction * reassociateForUses (BinaryOperator & BO, InstCombinerImpl::BuilderTy & Builder)Try to reassociate a pair of binops so that values with one use only are
part of the same instruction. This may enable folds that are limited with
multi-use restrictions and makes it more likely to match other patterns that
are looking for a common operand.
Defined at line 2179 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
Error reportMatchResult (bool ExpectedMatch, const SourceMgr & SM, StringRef Prefix, SMLoc Loc, const Pattern & Pat, int MatchedCount, StringRef Buffer, MatchResult MatchResult, const FileCheckRequest & Req, std::vector<FileCheckDiag> * Diags)Returns either (1)
if there was no error, or (2)
if an error was reported.
Defined at line 2180 of file llvm/lib/FileCheck/FileCheck.cpp
-
void commuteShuffle (SDValue & N1, SDValue & N2, MutableArrayRef<int> M)Swaps the values of N1 and N2. Swaps all indices in the shuffle mask M that
point at N1 to point at N2 and indices that point at N2 to point at N1.
Defined at line 2181 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
void ProfileExistsOpInit (FoldingSetNodeID & ID, const RecTy * CheckType, const Init * Expr)Defined at line 2181 of file llvm/lib/TableGen/Record.cpp
-
Error addLibraries (Session & S, const std::map<unsigned int, JITDylib *> & IdxToJD, const DenseSet<unsigned int> & LazyLinkIdxs)Defined at line 2181 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
uint64_t GetMemOpSize (Value * V)Defined at line 2182 of file llvm/lib/Transforms/Instrumentation/NumericalStabilitySanitizer.cpp
-
bool replacingOperandWithVariableIsCheap (const Instruction * I, int OpIdx)TODO: Refine this. This should avoid cases like turning constant memcpy sizes
into variables.
Defined at line 2183 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void addColdAttrs (const SCCNodeSet & SCCNodes, SmallPtrSet<Function *, 8> & Changed)Set the cold function attribute if possible.
Defined at line 2183 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
LLVMMetadataRef LLVMValueMetadataEntriesGetMetadata (LLVMValueMetadataEntry * Entries, unsigned int Index)Returns the underlying metadata node of a value metadata entry at a
specific index.
Defined at line 2186 of file llvm/lib/IR/Core.cpp
-
Value * getSalvageOpsForBinOp (BinaryOperator * BI, uint64_t CurrentLocOps, SmallVectorImpl<uint64_t> & Opcodes, SmallVectorImpl<Value *> & AdditionalValues)Defined at line 2186 of file llvm/lib/Transforms/Utils/Local.cpp
-
MethodOptions translateMethodOptionFlags (const DISubprogram * SP)Defined at line 2187 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
void updateLiveIn (MachineInstr * MI, MachineBasicBlock * SuccBB, const SmallVectorImpl<unsigned int> & UsedOpsInCopy, const SmallVectorImpl<Register> & DefedRegsInCopy)Defined at line 2187 of file llvm/lib/CodeGen/MachineSink.cpp
-
const Comdat * getWasmComdat (const GlobalValue * GV)===----------------------------------------------------------------------===//
Wasm
===----------------------------------------------------------------------===//
Defined at line 2194 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
Instruction * foldSelectShuffleOfSelectShuffle (ShuffleVectorInst & Shuf)A select shuffle of a select shuffle with a shared operand can be reduced
to a single select shuffle. This is an obvious improvement in IR, and the
backend is expected to lower select shuffles efficiently.
Defined at line 2194 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
unsigned int CountNumNewlinesBetween (StringRef Range, const char *& FirstNewLine)Counts the number of newlines in the specified range.
Defined at line 2195 of file llvm/lib/FileCheck/FileCheck.cpp
-
bool dumpMachOUniversalBinaryMatchHost (MachOUniversalBinary * UB, int & SymbolList, StringRef Filename, LLVMContext * ContextPtr)Returns true If the binary contains a slice that matches the host
architecture, or false otherwise.
Defined at line 2195 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
MethodKind translateMethodKindFlags (const DISubprogram * SP, bool Introduced)Defined at line 2196 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
bool canSinkInstructions (ArrayRef Insts, DenseMap<const Use *, SmallVector<Value *, 4>> & PHIOperands)All instructions in Insts belong to different blocks that all unconditionally
branch to a common successor. Analyze each instruction and return true if it
would be possible to sink them into their successor, creating one common
instruction instead. For every value that would be required to be provided by
PHI node (because an operand varies in each input block), add to PHIOperands.
Defined at line 2196 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool hasRegisterDependency (MachineInstr * MI, SmallVectorImpl<unsigned int> & UsedOpsInCopy, SmallVectorImpl<Register> & DefedRegsInCopy, LiveRegUnits & ModifiedRegUnits, LiveRegUnits & UsedRegUnits)Defined at line 2198 of file llvm/lib/CodeGen/MachineSink.cpp
-
void postUnswitch (Loop & L, LPMUpdater & U, StringRef LoopName, bool CurrentLoopValid, bool PartiallyInvariant, bool InjectedCondition, ArrayRef NewLoops)Defined at line 2198 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
void writeDIEnumerator (raw_ostream & Out, const DIEnumerator * N, AsmWriterContext & )Defined at line 2200 of file llvm/lib/IR/AsmWriter.cpp
-
bool functionWillReturn (const Function & F)Defined at line 2200 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
Value * upgradeMaskedStore (IRBuilder<> & Builder, Value * Ptr, Value * Data, Value * Mask, bool Aligned)Defined at line 2201 of file llvm/lib/IR/AutoUpgrade.cpp
-
bool isLiteralImm (const InstructionPattern & P, unsigned int OpIdx)Defined at line 2202 of file llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
-
bool parseGlobalValue (const MIToken & Token, PerFunctionMIParsingState & PFS, GlobalValue *& GV, ErrorCallbackType ErrCB)Defined at line 2203 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
unsigned int getWasmSectionFlags (SectionKind K, bool Retain)Defined at line 2207 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
bool isImportedFunction (const MachineOperand & MO)Does the given operand refer to a DLLIMPORT function?
Defined at line 2208 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
void writeDIBasicType (raw_ostream & Out, const DIBasicType * N, AsmWriterContext & WriterCtx)Defined at line 2212 of file llvm/lib/IR/AsmWriter.cpp
-
Instruction * canonicalizeLogicFirst (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Match
(X + C2) | C
(X + C2) ^ C
(X + C2)
&
C
and convert to do the bitwise logic first:
(X | C) + C2
(X ^ C) + C2
(X
&
C) + C2
iff bits affected by logic op are lower than last bit affected by math op
Defined at line 2212 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool isCallToCFGuardFunction (const MachineInstr * MI)Is the given instruction a call to a CFGuard function?
Defined at line 2213 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
TypeRecordKind getRecordKind (const DICompositeType * Ty)Defined at line 2216 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
void insertUseHolderAfter (CallBase * Call, ArrayRef Values, SmallVectorImpl<CallInst *> & Holders)Insert holders so that each Value is obviously live through the entire
lifetime of the call.
Defined at line 2218 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool hasUseOtherThanLLVMUsed (GlobalAlias & GA, const LLVMUsed & U)Defined at line 2219 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
Value * upgradeMaskedLoad (IRBuilder<> & Builder, Value * Ptr, Value * Passthru, Value * Mask, bool Aligned)Defined at line 2219 of file llvm/lib/IR/AutoUpgrade.cpp
-
void fillOverallFunction (Module & M, OutlinableGroup & CurrentGroup, std::vector<DenseMap<Value *, BasicBlock *>> & OutputStoreBBs, std::vector<Function *> & FuncsToRemove, const DenseMap<Value *, Value *> & OutputMappings)Fill the new function that will serve as the replacement function for all of
the extracted regions of a certain structure from the first region in the
list of regions. Replace this first region's extracted function with the
new overall function.
Parameters
M [in] - The module we are outlining from.CurrentGroup [in] - The group of regions to be outlined.OutputStoreBBs [in,out] - The output blocks for each different set of stores needed for the different functions.FuncsToRemove [in,out] - Extracted functions to erase from module once outlining is complete.OutputMappings [in] - Extracted functions to erase from module once outlining is complete.Defined at line 2219 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
uint64_t getDwarfOpForIcmpPred (Predicate Pred)Defined at line 2220 of file llvm/lib/Transforms/Utils/Local.cpp
-
LLVMValueRef LLVMAddGlobal (LLVMModuleRef M, LLVMTypeRef Ty, const char * Name)This group contains functions that operate on global variable values.
@
{
Defined at line 2223 of file llvm/lib/IR/Core.cpp
-
bool hasJumpTableInfoInBlock (const llvm::MachineInstr * MI)Does the containing block for the given instruction contain any jump table
info (indicating that the block is a dispatch for a jump table)?
Defined at line 2223 of file llvm/lib/Target/X86/X86MCInstLower.cpp
-
void printUnknownCPUType (uint32_t cputype, uint32_t cpusubtype)printUnknownCPUType() helps print_fat_headers for unknown CPU's.
Defined at line 2224 of file llvm/tools/llvm-objdump/MachODump.cpp
-
std::pair<const MachineInstr *, bool> findPrologueEndLoc (const MachineFunction * MF)Returns the position where we should place prologue_end, potentially nullptr,
which means "no good place to put prologue_end". Returns true in the second
return value if there are no setup instructions in this function at all,
meaning we should not emit a start-of-function linetable entry, because it
would be zero-lengthed.
Defined at line 2224 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
bool foldMaskAndShiftToScale (SelectionDAG & DAG, SDValue N, uint64_t Mask, SDValue Shift, SDValue X, X86ISelAddressMode & AM)Implement some heroics to detect shifts of masked values where the mask can
be replaced by extending the shift and undoing that in the addressing mode
scale. Patterns such as (shl (srl x, c1), c2) are canonicalized into (and
(srl x, SHIFT), MASK) by DAGCombines that don't know the shl can be done in
the addressing mode. This results in code such as:
int f(short *y, int *lookup_table) {
...
return *y + lookup_table[*y >> 11];
}
Turning into:
movzwl (%rdi), %eax
movl %eax, %ecx
shrl $11, %ecx
addl (%rsi,%rcx,4), %eax
Instead of:
movzwl (%rdi), %eax
movl %eax, %ecx
shrl $9, %ecx
andl $124, %rcx
addl (%rsi,%rcx), %eax
Note that this function assumes the mask is provided as a mask *after* the
value is shifted. The input chain may or may not match that, but computing
such a mask is trivial.
Defined at line 2225 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
Constant * getFoldedCast (CastOps opc, Constant * C, Type * Ty, bool OnlyIfReduced)This is a utility function to handle folding of casts and lookup of the
cast in the ExprConstants map. It is used by the various get* methods below.
Defined at line 2226 of file llvm/lib/IR/Constants.cpp
-
VectorType * checkVectorTypesForPromotion (Partition & P, const DataLayout & DL, SmallVectorImpl<VectorType *> & CandidateTys, bool HaveCommonEltTy, Type * CommonEltTy, bool HaveVecPtrTy, bool HaveCommonVecPtrTy, VectorType * CommonVecPtrTy, unsigned int VScale)Test whether any vector type in
is viable for promotion.
This implements the necessary checking for
over
all slices of the alloca for the given VectorType.
Defined at line 2226 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
LLVMValueRef LLVMAddGlobalInAddressSpace (LLVMModuleRef M, LLVMTypeRef Ty, const char * Name, unsigned int AddressSpace)Defined at line 2228 of file llvm/lib/IR/Core.cpp
-
void writeDIFixedPointType (raw_ostream & Out, const DIFixedPointType * N, AsmWriterContext & WriterCtx)Defined at line 2229 of file llvm/lib/IR/AsmWriter.cpp
-
ClassOptions getCommonClassOptions (const DICompositeType * Ty)Return ClassOptions that should be present on both the forward declaration
and the defintion of a tag type.
Defined at line 2229 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
void addWillReturn (const SCCNodeSet & SCCNodes, SmallPtrSet<Function *, 8> & Changed)Set the willreturn function attribute if possible.
Defined at line 2230 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
bool pred_L (int & NodeOrder, SmallSetVector<SUnit *, 8> & Preds, SwingSchedulerDDG * DDG, const NodeSet * S)Compute the Pred_L(O) set, as defined in the paper. The set is defined
as the predecessors of the elements of NodeOrder that are not also in
NodeOrder.
Defined at line 2230 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
void printCPUType (uint32_t cputype, uint32_t cpusubtype)printCPUType() helps print_fat_headers by printing the cputype and
pusubtype (symbolically for the one's it knows about).
Defined at line 2231 of file llvm/tools/llvm-objdump/MachODump.cpp
-
unsigned int getCommutedVPERMV3Opcode (unsigned int Opcode)Returns commuted opcode for VPERMI2 and VPERMT2 instructions by switching
from the I opcode to the T opcode and vice versa.
Defined at line 2232 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
pair remapIndices (Function & Caller, BasicBlock * StartBB, PGOContextualProfile & CtxProf, uint32_t CalleeCounters, uint32_t CalleeCallsites)In contextual profiling, when an inline succeeds, we want to remap the
indices of the callee into the index space of the caller. We can't just leave
them as-is because the same callee may appear in other places in this caller
(other callsites), and its (callee's) counters and sub-contextual profile
tree would be potentially different.
Not all BBs of the callee may survive the opportunistic DCE InlineFunction
does (same goes for callsites in the callee).
We will return a pair of vectors, one for basic block IDs and one for
callsites. For such a vector V, V[Idx] will be -1 if the callee
instrumentation with index Idx did not survive inlining, and a new value
otherwise.
This function will update the caller's instrumentation intrinsics
accordingly, mapping indices as described above. We also replace the "name"
operand because we use it to distinguish between "own" instrumentation and
"from callee" instrumentation when performing the traversal of the CFG of the
caller. We traverse depth-first from the callsite's BB and up to the point we
hit BBs owned by the caller.
The return values will be then used to update the contextual
profile. Note: we only update the "name" and "index" operands in the
instrumentation intrinsics, we leave the hash and total nr of indices as-is,
it's not worth updating those.
Defined at line 2234 of file llvm/lib/Transforms/Utils/InlineFunction.cpp
-
bool mayHaveOtherReferences (GlobalValue & GV, const LLVMUsed & U)Defined at line 2235 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
bool isReplicationMaskWithParams (ArrayRef Mask, int ReplicationFactor, int VF)Defined at line 2235 of file llvm/lib/IR/Instructions.cpp
-
Instruction * foldSubOfMinMax (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Defined at line 2235 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
void unswitchNontrivialInvariants (Loop & L, Instruction & TI, ArrayRef Invariants, IVConditionInfo & PartialIVInfo, DominatorTree & DT, LoopInfo & LI, AssumptionCache & AC, ScalarEvolution * SE, MemorySSAUpdater * MSSAU, LPMUpdater & LoopUpdater, bool InsertFreeze, bool InjectedCondition)Defined at line 2235 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
LLVMValueRef LLVMGetNamedGlobal (LLVMModuleRef M, const char * Name)Defined at line 2237 of file llvm/lib/IR/Core.cpp
-
Register peekThroughBitcast (Register Reg, const MachineRegisterInfo & MRI)Defined at line 2238 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
bool CollectAddOperandsWithScales (int & M, SmallVectorImpl<const SCEV *> & NewOps, APInt & AccumulatedConstant, ArrayRef Ops, const APInt & Scale, ScalarEvolution & SE)Process the given Ops list, which is a list of operands to be added under
the given scale, update the given map. This is a helper function for
getAddRecExpr. As an example of what it does, given a sequence of operands
that would form an add expression like this:
m + n + 13 + (A * (o + p + (B * (q + m + 29)))) + r + (-1 * r)
where A and B are constants, update the map with these values:
(m, 1+A*B), (n, 1), (o, A), (p, A), (q, A*B), (r, 0)
and add 13 + A*B*29 to AccumulatedConstant.
This will allow getAddRecExpr to produce this:
13+A*B*29 + n + (m * (1+A*B)) + ((o + p) * A) + (q * A*B)
This form often exposes folding opportunities that are hidden in
the original operand list.
Return true iff it appears that any interesting folding opportunities
may be exposed. This helps getAddRecExpr short-circuit extra work in
the common case where no interesting opportunities are present, and
is also used as a check to avoid infinite recursion.
Defined at line 2239 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
Value * upgradeAbs (IRBuilder<> & Builder, CallBase & CI)Defined at line 2240 of file llvm/lib/IR/AutoUpgrade.cpp
-
LLVMValueRef LLVMGetNamedGlobalWithLength (LLVMModuleRef M, const char * Name, size_t Length)Defined at line 2241 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetFirstGlobal (LLVMModuleRef M)Defined at line 2246 of file llvm/lib/IR/Core.cpp
-
LLVMMetadataRef LLVMMDStringInContext2 (LLVMContextRef C, const char * Str, size_t SLen)Create an MDString value from a given string value.
The MDString value does not take ownership of the given string, it remains
the responsibility of the caller to free it.
Defined at line 1285 of file llvm/lib/IR/Core.cpp
-
LLVMMetadataRef LLVMMDNodeInContext2 (LLVMContextRef C, LLVMMetadataRef * MDs, size_t Count)Create an MDNode value with the given array of operands.
Defined at line 1290 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMMetadataAsValue (LLVMContextRef C, LLVMMetadataRef MD)Obtain a Metadata as a Value.
Defined at line 1337 of file llvm/lib/IR/Core.cpp
-
LLVMMetadataRef LLVMValueAsMetadata (LLVMValueRef Val)Obtain a Value as a Metadata.
Defined at line 1341 of file llvm/lib/IR/Core.cpp
-
const char * LLVMGetMDString (LLVMValueRef V, unsigned int * Length)Obtain the underlying string from a MDString value.
Parameters
V Instance to obtain string from.Length Memory address which will hold length of returned string.Returns
String data in MDString.
Defined at line 1350 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetMDNodeNumOperands (LLVMValueRef V)Obtain the number of operands from an MDNode value.
Parameters
V MDNode to get number of operands from.Returns
Number of operands of the MDNode.
Defined at line 1360 of file llvm/lib/IR/Core.cpp
-
void LLVMGetMDNodeOperands (LLVMValueRef V, LLVMValueRef * Dest)Obtain the given MDNode's operands.
The passed LLVMValueRef pointer should point to enough memory to hold all of
the operands of the given MDNode (see LLVMGetMDNodeNumOperands) as
LLVMValueRefs. This memory will be populated with the LLVMValueRefs of the
MDNode's operands.
Parameters
V MDNode to get the operands from.Dest Destination array for operands.Defined at line 1415 of file llvm/lib/IR/Core.cpp
-
void LLVMReplaceMDNodeOperandWith (LLVMValueRef V, unsigned int Index, LLVMMetadataRef Replacement)Replace an operand at a specific index in a llvm::MDNode value.
Defined at line 1428 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMMDStringInContext (LLVMContextRef C, const char * Str, unsigned int SLen)Deprecated: Use LLVMMDStringInContext2 instead.
Defined at line 1295 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMMDString (const char * Str, unsigned int SLen)Deprecated: Use LLVMMDStringInContext2 instead.
Defined at line 1302 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMMDNodeInContext (LLVMContextRef C, LLVMValueRef * Vals, unsigned int Count)Deprecated: Use LLVMMDNodeInContext2 instead.
Defined at line 1306 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMMDNode (LLVMValueRef * Vals, unsigned int Count)Deprecated: Use LLVMMDNodeInContext2 instead.
Defined at line 1333 of file llvm/lib/IR/Core.cpp
-
Instruction * foldSelectShuffleWith1Binop (ShuffleVectorInst & Shuf, const SimplifyQuery & SQ)Defined at line 2241 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
optional getMaxVScale (const Function & F, const TargetTransformInfo & TTI)Defined at line 2242 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
SCCNodesResult createSCCNodeSet (ArrayRef<Function *> Functions)Defined at line 2242 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
bool hasUsesToReplace (GlobalAlias & GA, const LLVMUsed & U, bool & RenameTarget)Defined at line 2242 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
void findLiveReferences (Function & F, DominatorTree & DT, ArrayRef<CallBase *> toUpdate, MutableArrayRef<struct PartiallyConstructedSafepointRecord> records, GCStrategy * GC)Defined at line 2243 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
Value * getSalvageOpsForIcmpOp (ICmpInst * Icmp, uint64_t CurrentLocOps, SmallVectorImpl<uint64_t> & Opcodes, SmallVectorImpl<Value *> & AdditionalValues)Defined at line 2245 of file llvm/lib/Transforms/Utils/Local.cpp
-
void dumpMachOUniversalBinaryArchAll (MachOUniversalBinary * UB, int & SymbolList, StringRef Filename, LLVMContext * ContextPtr)Defined at line 2247 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
Value * upgradePMULDQ (IRBuilder<> & Builder, CallBase & CI, bool IsSigned)Defined at line 2250 of file llvm/lib/IR/AutoUpgrade.cpp
-
void writeDIStringType (raw_ostream & Out, const DIStringType * N, AsmWriterContext & WriterCtx)Defined at line 2252 of file llvm/lib/IR/AsmWriter.cpp
-
LLVMValueRef LLVMGetLastGlobal (LLVMModuleRef M)Defined at line 2254 of file llvm/lib/IR/Core.cpp
-
void ProfileInstancesOpInit (FoldingSetNodeID & ID, const RecTy * Type, const Init * Regex)Defined at line 2256 of file llvm/lib/TableGen/Record.cpp
-
Value * simplifyOrLogic (Value * X, Value * Y)TODO: Many of these folds could use LogicalAnd/LogicalOr.
Defined at line 2256 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool isIndvarOverflowCheckKnownFalse (const LoopVectorizationCostModel * Cost, ElementCount VF, optional UF)For the given VF and UF and maximum trip count computed for the loop, return
whether the induction variable might overflow in the vectorized loop. If not,
then we know a runtime overflow check always evaluates to false and can be
removed.
Defined at line 2257 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
template <typename AARGetterT>SmallPtrSet<Function *, 8> deriveAttrsInPostOrder (ArrayRef<Function *> Functions, AARGetterT && AARGetter, bool ArgAttrsOnly)Defined at line 2257 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
void initializeX86SpeculativeLoadHardeningPassPassOnce (PassRegistry & Registry)Defined at line 2260 of file llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
-
Value * findRematerializableChainToBasePointer (SmallVectorImpl<Instruction *> & ChainToBase, Value * CurrentValue)Helper function for the "rematerializeLiveValues". It walks use chain
starting from the "CurrentValue" until it reaches the root of the chain, i.e.
the base or a value it cannot process. Only "simple" values are processed
(currently it is GEP's and casts). The returned root is examined by the
callers of findRematerializableChainToBasePointer. Fills "ChainToBase" array
with all visited values.
Defined at line 2261 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
LLVMValueRef LLVMGetNextGlobal (LLVMValueRef GlobalVar)Defined at line 2262 of file llvm/lib/IR/Core.cpp
-
Instruction * simplifyIRemMulShl (BinaryOperator & I, InstCombinerImpl & IC)Variety of transform for:
(urem/srem (mul X, Y), (mul X, Z))
(urem/srem (shl X, Y), (shl X, Z))
(urem/srem (shl Y, X), (shl Z, X))
NB: The shift cases are really just extensions of the mul case. We treat
shift as Val * (1
<
<
Amt).
Defined at line 2262 of file llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
-
CallInst * HasSafePathToPredecessorCall (const Value * Arg, Instruction * Retain, ProvenanceAnalysis & PA)Check if there is a dependent call earlier that does not have anything in
between the Retain and the call that can affect the reference count of their
shared pointer argument. Note that Retain need not be in BB.
Defined at line 2264 of file llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
-
bool succ_L (int & NodeOrder, SmallSetVector<SUnit *, 8> & Succs, SwingSchedulerDDG * DDG, const NodeSet * S)Compute the Succ_L(O) set, as defined in the paper. The set is defined
as the successors of the elements of NodeOrder that are not also in
NodeOrder.
Defined at line 2266 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
MCSectionWasm * selectWasmSectionForGlobal (MCContext & Ctx, const GlobalObject * GO, SectionKind Kind, Mangler & Mang, const TargetMachine & TM, bool EmitUniqueSection, unsigned int * NextUniqueID, bool Retain)Defined at line 2266 of file llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
-
LLVMValueRef LLVMGetPreviousGlobal (LLVMValueRef GlobalVar)Defined at line 2270 of file llvm/lib/IR/Core.cpp
-
void writeDIDerivedType (raw_ostream & Out, const DIDerivedType * N, AsmWriterContext & WriterCtx)Defined at line 2270 of file llvm/lib/IR/AsmWriter.cpp
-
bool sinkAndCmp0Expression (Instruction * AndI, const TargetLowering & TLI, SetOfInstrs & InsertedInsts)Duplicate and sink the given 'and' instruction into user blocks where it is
used in a compare to allow isel to generate better code for targets where
this operation can be combined.
Return true if any changes are made.
Defined at line 2270 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
bool OptimizeGlobalAliases (Module & M, SmallPtrSetImpl<const Comdat *> & NotDiscardableComdats)Defined at line 2272 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
Instruction * foldICmpShlLHSC (ICmpInst & Cmp, Instruction * Shl, const APInt & C)Fold icmp (shl nuw C2, Y), C.
Defined at line 2273 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
void LLVMDeleteGlobal (LLVMValueRef GlobalVar)Defined at line 2278 of file llvm/lib/IR/Core.cpp
-
bool shouldMergeGEPs (GEPOperator & GEP, GEPOperator & Src)Defined at line 2280 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
Value * applyX86MaskOn1BitsVec (IRBuilder<> & Builder, Value * Vec, Value * Mask)Applying mask on vector of i1's and make sure result is at least 8 bits wide.
Defined at line 2280 of file llvm/lib/IR/AutoUpgrade.cpp
-
Value * replaceSymmetricNode (IRBuilderBase & B, unsigned int Opcode, std::optional<FastMathFlags> Flags, Value * InputA, Value * InputB)Defined at line 2281 of file llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
-
LLVMValueRef LLVMGetInitializer (LLVMValueRef GlobalVar)Defined at line 2282 of file llvm/lib/IR/Core.cpp
-
CallInst * FindPredecessorRetainWithSafePath (const Value * Arg, BasicBlock * BB, Instruction * Autorelease, ProvenanceAnalysis & PA)Find a dependent retain that precedes the given autorelease for which there
is nothing in between the two instructions that can affect the ref count of
Arg.
Defined at line 2284 of file llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
-
Value * getSqrtCall (Value * V, AttributeList Attrs, bool NoErrno, Module * M, IRBuilderBase & B, const TargetLibraryInfo * TLI)Defined at line 2286 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
InstructionCost chainToBasePointerCost (SmallVectorImpl<Instruction *> & Chain, TargetTransformInfo & TTI)Helper function for the "rematerializeLiveValues". Compute cost of the use
chain we are going to rematerialize.
Defined at line 2286 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool useMaskedInterleavedAccesses (const TargetTransformInfo & TTI)Return whether we allow using masked interleave-groups (for dealing with
strided loads/stores that reside in predicated blocks, or for dealing
with gaps).
Defined at line 2288 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
void LLVMSetInitializer (LLVMValueRef GlobalVar, LLVMValueRef ConstantVal)Defined at line 2289 of file llvm/lib/IR/Core.cpp
-
int OptNameCompare (const std::pair<const char *, Option *> * LHS, const std::pair<const char *, Option *> * RHS)===----------------------------------------------------------------------===//
-help and -help-hidden option implementation
Defined at line 2289 of file llvm/lib/Support/CommandLine.cpp
-
bool upgradeOldMemoryAttribute (MemoryEffects & ME, uint64_t EncodedKind)Defined at line 2291 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
Instruction * foldFPtoI (Instruction & FI, InstCombiner & IC)Defined at line 2293 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
LLVMBool LLVMIsThreadLocal (LLVMValueRef GlobalVar)Defined at line 2294 of file llvm/lib/IR/Core.cpp
-
int SubNameCompare (const std::pair<const char *, SubCommand *> * LHS, const std::pair<const char *, SubCommand *> * RHS)Defined at line 2294 of file llvm/lib/Support/CommandLine.cpp
-
basic_string getMemProfFuncName (Twine Base, unsigned int CloneNo)Defined at line 2295 of file llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
-
void LLVMSetThreadLocal (LLVMValueRef GlobalVar, LLVMBool IsThreadLocal)Defined at line 2298 of file llvm/lib/IR/Core.cpp
-
Instruction * foldBitwiseLogicWithIntrinsics (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Fold and/or/xor with two equal intrinsic IDs:
bitwise(fshl (A, B, ShAmt), fshl(C, D, ShAmt))
-> fshl(bitwise(A, C), bitwise(B, D), ShAmt)
bitwise(fshr (A, B, ShAmt), fshr(C, D, ShAmt))
-> fshr(bitwise(A, C), bitwise(B, D), ShAmt)
bitwise(bswap(A), bswap(B)) -> bswap(bitwise(A, B))
bitwise(bswap(A), C) -> bswap(bitwise(A, bswap(C)))
bitwise(bitreverse(A), bitreverse(B)) -> bitreverse(bitwise(A, B))
bitwise(bitreverse(A), C) -> bitreverse(bitwise(A, bitreverse(C)))
Defined at line 2299 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
void dumpMachOUniversalBinary (MachOUniversalBinary * UB, int & SymbolList, StringRef Filename, LLVMContext * ContextPtr)Defined at line 2300 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
void sortOpts (StringMap<Option *> & OptMap, SmallVectorImpl<std::pair<const char *, Option *>> & Opts, bool ShowHidden)Copy Options into a vector so we can sort them as we like.
Defined at line 2300 of file llvm/lib/Support/CommandLine.cpp
-
void sinkLastInstruction (ArrayRef Blocks)Assuming canSinkInstructions(Blocks) has returned true, sink the last
instruction of every block in Blocks to their common successor, commoning
into one instruction.
Defined at line 2300 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool computePath (SUnit * Cur, int & Path, int & DestNodes, int & Exclude, SmallPtrSet<SUnit *, 8> & Visited, SwingSchedulerDDG * DDG)Return true if there is a path from the specified node to any of the nodes
in DestNodes. Keep track and return the nodes in any path.
Defined at line 2301 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
LLVMBool LLVMIsGlobalConstant (LLVMValueRef GlobalVar)Defined at line 2302 of file llvm/lib/IR/Core.cpp
-
Value * upgradeMaskedCompare (IRBuilder<> & Builder, CallBase & CI, unsigned int CC, bool Signed)Defined at line 2302 of file llvm/lib/IR/AutoUpgrade.cpp
-
bool isMemProfClone (const Function & F)Defined at line 2303 of file llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
-
CallInst * FindPredecessorAutoreleaseWithSafePath (const Value * Arg, BasicBlock * BB, ReturnInst * Ret, ProvenanceAnalysis & PA)Look for an ``autorelease'' instruction dependent on Arg such that there are
no instructions dependent on Arg that need a positive ref count in between
the autorelease and the ret.
Defined at line 2303 of file llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
-
void writeDISubrangeType (raw_ostream & Out, const DISubrangeType * N, AsmWriterContext & WriterCtx)Defined at line 2303 of file llvm/lib/IR/AsmWriter.cpp
-
void LLVMSetGlobalConstant (LLVMValueRef GlobalVar, LLVMBool IsConstant)Defined at line 2306 of file llvm/lib/IR/Core.cpp
-
bool translateRM (MCInst & mcInst, const OperandSpecifier & operand, InternalInstruction & insn, const MCDisassembler * Dis)translateRM - Translates an operand stored in the R/M (and possibly SIB)
byte of an instruction to LLVM form, and appends it to an MCInst.
Parameters
mcInst - The MCInst to append to.operand - The operand, as stored in the descriptor table.insn - The instruction to extract Mod, R/M, and SIB fields from.Returns
- 0 on success; nonzero otherwise
Defined at line 2306 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
Instruction * foldAddSubSelect (SelectInst & SI, InstCombiner::BuilderTy & Builder)Turn select C, (X + Y), (X - Y) --> (X + (select C, Y, (-Y))).
This is even legal for FP.
Defined at line 2306 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool detectShiftUntilZeroIdiom (Loop * CurLoop, const DataLayout & DL, Intrinsic::ID & IntrinID, Value *& InitX, Instruction *& CntInst, PHINode *& CntPhi, Instruction *& DefX)Return true if the idiom is detected in the loop.
Additionally:
1)
is set to the instruction Counting Leading Zeros (CTLZ)
or nullptr if there is no such.
2)
is set to the corresponding phi node
or nullptr if there is no such.
3)
is set to the value whose CTLZ could be used.
4)
is set to the instruction calculating Loop exit condition.
The core idiom we are trying to detect is:
Code
if (x0 == 0) goto loop-exit // the precondition of the loop cnt0 = init-val; do { x = phi (x0, x.next); //PhiX cnt = phi(cnt0, cnt.next); cnt.next = cnt + 1; ... x.next = x >> 1; // DefX ... } while(x.next != 0); loop-exit:Defined at line 2307 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
bool noConflictingReadWrites (Instruction * I, MemorySSA * MSSA, AAResults * AA, Loop * CurLoop, SinkAndHoistLICMFlags & Flags)For a given store instruction or writeonly call instruction, this function
checks that there are no read or writes that conflict with the memory
access in the instruction
Defined at line 2308 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
unsigned int getMemProfCloneNum (const Function & F)Return the clone number of the given function by extracting it from the
memprof suffix. Assumes the caller has already confirmed it is a memprof
clone.
Defined at line 2310 of file llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
-
Instruction * canonicalizeInsertSplat (ShuffleVectorInst & Shuf, InstCombiner::BuilderTy & Builder)If we have an insert of a scalar to a non-zero element of an undefined
vector and then shuffle that value, that's the same as inserting to the zero
element and shuffling. Splatting from the zero element is recognized as the
canonical form of splat.
Defined at line 2310 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
bool nextIRInstructionDataMatchesNextInst (IRInstructionData & ID)Checks that the next instruction in the InstructionDataList matches the
next instruction in the module. If they do not, there could be the
possibility that extra code has been inserted, and we must ignore it.
Parameters
ID - The IRInstructionData to check the next instruction of.Defined at line 2312 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
int RUN_ALL_TESTS ()Use this function in main() to run all tests. It returns 0 if all
tests are successful, or 1 otherwise.
RUN_ALL_TESTS() should be invoked after the command line has been
parsed by InitGoogleTest().
This function was formerly a macro; thus, it is in the global
namespace and has an all-caps name.
Defined at line 2317 of file third-party/unittest/googletest/include/gtest/gtest.h
-
LLVMGetThreadLocalMode (LLVMValueRef GlobalVar)Defined at line 2310 of file llvm/lib/IR/Core.cpp
-
bool foldMaskedShiftToBEXTR (SelectionDAG & DAG, SDValue N, uint64_t Mask, SDValue Shift, SDValue X, X86ISelAddressMode & AM, const X86Subtarget & Subtarget)Transform "(X >> SHIFT) & (MASK << C1)" to
"((X >> (SHIFT + C1)) & (MASK)) << C1". Everything before the SHL will be
matched to a BEXTR later. Returns false if the simplification is performed.
Defined at line 2317 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
Constant * getSignedIntOrFpConstant (Type * Ty, int64_t C)A helper function that returns an integer or floating-point constant with
value C.
Defined at line 2321 of file llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
-
bool AreEquivalentPhiNodes (PHINode & OrigRootPhi, PHINode & AlternateRootPhi)Defined at line 2321 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void dumpTapiUniversal (TapiUniversal * TU, int & SymbolList, StringRef Filename)Defined at line 2322 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
APInt::WordType lowBitMask (unsigned int bits)Returns the integer part with the least significant BITS set.
BITS cannot be zero.
Defined at line 2323 of file llvm/lib/Support/APInt.cpp
-
void writeDICompositeType (raw_ostream & Out, const DICompositeType * N, AsmWriterContext & WriterCtx)Defined at line 2323 of file llvm/lib/IR/AsmWriter.cpp
-
void orderSegments (std::vector<Segment *> & Segments)Orders segments such that if x = y->ParentSegment then y comes before x.
Defined at line 2324 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
void setAssignmentTrackingModuleFlag (Module & M)Defined at line 2325 of file llvm/lib/IR/DebugInfo.cpp
-
void sortSubCommands (const SmallPtrSetImpl<SubCommand *> & SubMap, SmallVectorImpl<std::pair<const char *, SubCommand *>> & Subs)Defined at line 2327 of file llvm/lib/Support/CommandLine.cpp
-
void LLVMSetThreadLocalMode (LLVMValueRef GlobalVar, Mode)Defined at line 2327 of file llvm/lib/IR/Core.cpp
-
bool rewriteDebugUsers (Instruction & From, Value & To, Instruction & DomPoint, DominatorTree & DT, function_ref<DbgValReplacement (DbgVariableRecord &)> RewriteDVRExpr)Point debug users of
to
using exprs given by
possibly moving/undefing users to prevent use-before-def. Returns true if
changes are made.
Defined at line 2328 of file llvm/lib/Transforms/Utils/Local.cpp
-
APInt::WordType lowHalf (APInt::WordType part)Returns the value of the lower half of PART.
Defined at line 2329 of file llvm/lib/Support/APInt.cpp
-
bool getAssignmentTrackingModuleFlag (const Module & M)Defined at line 2331 of file llvm/lib/IR/DebugInfo.cpp
-
uint64_t layoutSegments (std::vector<Segment *> & Segments, uint64_t Offset)This function finds a consistent layout for a list of segments starting from
an Offset. It assumes that Segments have been sorted by orderSegments and
returns an Offset one past the end of the last segment.
Defined at line 2331 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
void computeLiveOuts (MachineFunction & MF, RegPressureTracker & RPTracker, NodeSet & NS)Compute the live-out registers for the instructions in a node-set.
The live-out registers are those that are defined in the node-set,
but not used. Except for use operands of Phis.
Defined at line 2331 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
VectorType * createAndCheckVectorTypesForPromotion (SetVector<Type *> & OtherTys, ArrayRef CandidateTysCopy, function_ref CheckCandidateType, Partition & P, const DataLayout & DL, SmallVectorImpl<VectorType *> & CandidateTys, bool & HaveCommonEltTy, Type *& CommonEltTy, bool & HaveVecPtrTy, bool & HaveCommonVecPtrTy, VectorType *& CommonVecPtrTy, unsigned int VScale)Defined at line 2332 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
bool isFuncletReturnInstr (MachineInstr & MI)Defined at line 2333 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
APInt::WordType highHalf (APInt::WordType part)Returns the value of the upper half of PART.
Defined at line 2334 of file llvm/lib/Support/APInt.cpp
-
Value * upgradeX86MaskedShift (IRBuilder<> & Builder, CallBase & CI, Intrinsic::ID IID)Replace a masked intrinsic with an older unmasked intrinsic.
Defined at line 2334 of file llvm/lib/IR/AutoUpgrade.cpp
-
Constant * constantFoldBinOpWithSplat (unsigned int Opcode, Constant * Vector, Constant * Splat, bool SplatLHS, const DataLayout & DL)Get the result of `Vector Op Splat` (or Splat Op Vector if
Defined at line 2334 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
TypeSetByHwMode getImplicitType (const Record * R, unsigned int ResNo, bool NotRegisters, bool Unnamed, TreePattern & TP)getImplicitType - Check to see if the specified record has an implicit
type which should be applied to it. This will infer the type of register
references from the register file information, for example.
When Unnamed is set, return the type of a DAG operand with no name, such as
the F8RC register class argument in:
(COPY_TO_REGCLASS GPR:$src, F8RC)
When Unnamed is false, return the type of a named DAG operand such as the
GPR:$src operand above.
Defined at line 2334 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
bool isFuncLocalAndNotCaptured (Value * Arg, const CallBase * CB, EarliestEscapeAnalysis & EA)Return true if "Arg" is function local and isn't captured before "CB".
Defined at line 2340 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
Value * upgradeMaskedMove (IRBuilder<> & Builder, CallBase & CI)Defined at line 2341 of file llvm/lib/IR/AutoUpgrade.cpp
-
void translateFPRegister (MCInst & mcInst, uint8_t stackPos)translateFPRegister - Translates a stack position on the FPU stack to its
LLVM form, and appends it to an MCInst.
Parameters
mcInst - The MCInst to append to.stackPos - The stack position to translate.Defined at line 2343 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
void dumpSymbolicFile (SymbolicFile * O, int & SymbolList, StringRef Filename)Defined at line 2344 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
bool isExtractBitsCandidateUse (Instruction * User)Check if the candidates could be combined with a shift instruction, which
includes:
1. Truncate instruction
2. And instruction and the imm is a mask of the low bits:
imm
&
(imm+1) == 0
Defined at line 2346 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
unsigned int closestSucc (const SUnit * SU)closestSucc - Returns the scheduled cycle of the successor which is
closest to the current cycle.
Defined at line 2346 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
void printMachOUniversalHeaders (const object::MachOUniversalBinary * UB, bool verbose)Defined at line 2346 of file llvm/tools/llvm-objdump/MachODump.cpp
-
Value * simplifyOrInst (Value * , Value * , const SimplifyQuery & , unsigned int )Given operands for an Or, see if we can fold the result.
If not, this returns null.
Defined at line 2347 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
LLVMBool LLVMIsExternallyInitialized (LLVMValueRef GlobalVar)Defined at line 2349 of file llvm/lib/IR/Core.cpp
-
void findRematerializationCandidates (int PointerToBase, int & RematerizationCandidates, TargetTransformInfo & TTI)Find derived pointers that can be recomputed cheap enough and fill
RematerizationCandidates with such candidates.
Defined at line 2349 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
unsigned int getNumGlobalVariableUses (const Constant * C, bool & HasNonGlobalUsers)Compute the number of Global Variables that uses a Constant.
Defined at line 2351 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
Function * FindAtExitLibFunc (Module & M, function_ref<TargetLibraryInfo &(Function &)> GetTLI, LibFunc Func)Defined at line 2351 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
void LLVMSetExternallyInitialized (LLVMValueRef GlobalVar, LLVMBool IsExtInit)Defined at line 2353 of file llvm/lib/IR/Core.cpp
-
bool translateMaskRegister (MCInst & mcInst, uint8_t maskRegNum)translateMaskRegister - Translates a 3-bit mask register number to
LLVM form, and appends it to an MCInst.
Parameters
mcInst - The MCInst to append to.maskRegNum - Number of mask register from 0 to 7.Returns
- false on success; true otherwise.
Defined at line 2354 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
Value * upgradeMaskToInt (IRBuilder<> & Builder, CallBase & CI)Defined at line 2355 of file llvm/lib/IR/AutoUpgrade.cpp
-
template <typename T, typename TFlag>void printFlags (T Value, ArrayRef<EnumEntry<TFlag>> Flags, raw_ostream & OS)Defined at line 2355 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
Value * simplifyAndOrWithOpReplaced (Value * V, Value * Op, Value * RepOp, bool SimplifyOnly, InstCombinerImpl & IC, unsigned int Depth)Try to simplify V by replacing occurrences of Op with RepOp, but only look
through bitwise operations. In particular, for X | Y we try to replace Y with
0 inside X and for X
&
Y we try to replace Y with -1 inside X.
Return the simplified result of X if successful, and nullptr otherwise.
If SimplifyOnly is true, no new instructions will be created.
Defined at line 2355 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
Value * createPowWithIntegerExponent (Value * Base, Value * Expo, Module * M, IRBuilderBase & B)Defined at line 2357 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
int dumpSymbolNamesFromFile (StringRef Filename)Defined at line 2357 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
bool findNonImmUse (SDNode * Root, SDNode * Def, SDNode * ImmedUse, bool IgnoreChains)findNonImmUse - Return true if "Def" is a predecessor of "Root" via a path
beyond "ImmedUse". We may ignore chains as they are checked separately.
Defined at line 2357 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
bool SinkShiftAndTruncate (BinaryOperator * ShiftI, Instruction * User, ConstantInt * CI, int & InsertedShifts, const TargetLowering & TLI, const DataLayout & DL)Sink both shift and truncate instruction to the use of truncate's BB.
Defined at line 2361 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
AtomicOrdering addAcquireOrdering (AtomicOrdering AO)Defined at line 2362 of file llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
-
unsigned int calcMaxScratches (const SUnit * SU)calcMaxScratches - Returns an cost estimate of the worse case requirement
for scratch registers, i.e. number of data dependencies.
Defined at line 2364 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
template <class Range>uint64_t layoutSections (Range Sections, uint64_t Offset)This function finds a consistent layout for a list of sections. It assumes
that the ->ParentSegment of each section has already been laid out. The
supplied starting Offset is used for the starting offset of any section that
does not have a ParentSegment. It returns either the offset given if all
sections had a ParentSegment or an offset one past the last section if there
was a section that didn't have a ParentSegment.
Defined at line 2364 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
bool upgradeAVX512MaskToSelect (StringRef Name, IRBuilder<> & Builder, CallBase & CI, Value *& Rep)Replace intrinsic with unmasked version and a select.
Defined at line 2364 of file llvm/lib/IR/AutoUpgrade.cpp
-
void writeDISubroutineType (raw_ostream & Out, const DISubroutineType * N, AsmWriterContext & WriterCtx)Defined at line 2365 of file llvm/lib/IR/AsmWriter.cpp
-
template <typename AARGetterT>bool runImpl (CallGraphSCC & SCC, AARGetterT AARGetter)Defined at line 2369 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
void recordSourceLine (AsmPrinter & Asm, unsigned int Line, unsigned int Col, const MDNode * S, unsigned int Flags, unsigned int CUID, uint16_t DwarfVersion, int DCUs, StringRef Comment)Register a source line with debug info. Returns the unique label that was
emitted and which provides correspondence to the source line list.
Defined at line 2370 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
bool translateOperand (MCInst & mcInst, const OperandSpecifier & operand, InternalInstruction & insn, const MCDisassembler * Dis)translateOperand - Translates an operand stored in an internal instruction
to LLVM's format and appends it to an MCInst.
Parameters
mcInst - The MCInst to append to.operand - The operand, as stored in the descriptor table.insn - The internal instruction.Returns
- false on success; true otherwise.
Defined at line 2372 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
bool isGOTEquivalentCandidate (const GlobalVariable * GV, unsigned int & NumGOTEquivUsers, bool & HasNonGlobalUsers)Only consider global GOT equivalents if at least one user is a
cstexpr inside an initializer of another global variables. Also, don't
handle cstexpr inside instructions. During global variable emission,
candidates are skipped and are emitted later in case at least one cstexpr
isn't replaced by a PC relative GOT entry access.
Defined at line 2374 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
bool hasOnlyLiveInOpers (const SUnit * SU)hasOnlyLiveInOpers - Return true if SU has only value predecessors that are
CopyFromReg from a virtual register.
Defined at line 2375 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
void writeDIFile (raw_ostream & Out, const DIFile * N, AsmWriterContext & )Defined at line 2376 of file llvm/lib/IR/AsmWriter.cpp
-
bool pointerInvalidatedByLoop (MemorySSA * MSSA, MemoryUse * MU, Loop * CurLoop, Instruction & I, SinkAndHoistLICMFlags & Flags, bool InvariantGroup)Defined at line 2376 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
LLVMValueRef LLVMAddAlias2 (LLVMModuleRef M, LLVMTypeRef ValueTy, unsigned int AddrSpace, LLVMValueRef Aliasee, const char * Name)Add a GlobalAlias with the given value type, address space and aliasee.
Defined at line 2359 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetNamedGlobalAlias (LLVMModuleRef M, const char * Name, size_t NameLen)Obtain a GlobalAlias value from a Module by its name.
The returned value corresponds to a llvm::GlobalAlias value.
Defined at line 2367 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetFirstGlobalAlias (LLVMModuleRef M)Obtain an iterator to the first GlobalAlias in a Module.
Defined at line 2372 of file llvm/lib/IR/Core.cpp
-
VectorType * isVectorPromotionViable (Partition & P, const DataLayout & DL, unsigned int VScale)Test whether the given alloca partitioning and range of slices can be
promoted to a vector.
This is a quick test to check whether we can rewrite a particular alloca
partition (and its newly formed alloca) into a vector alloca with only
whole-vector loads and stores such that it could be promoted to a vector
SSA value. We only can ensure this for a limited set of operations, and we
don't want to do the rewrites unless we are confident that the result will
be promotable, so we have an early test here.
Defined at line 2376 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
MachineInstr * getLoopPhiUser (Register Reg, MachineBasicBlock * Loop)Return a phi if Reg is referenced by the phi.
canApply() guarantees that at most only one such phi exists.
Defined at line 2378 of file llvm/lib/CodeGen/ModuloSchedule.cpp
-
bool addNoRecurseAttrsTopDown (Function & F)Defined at line 2378 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
Value * StripPointerGEPsAndCasts (Value * V)Defined at line 2379 of file llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
-
LLVMValueRef LLVMGetLastGlobalAlias (LLVMModuleRef M)Obtain an iterator to the last GlobalAlias in a Module.
Defined at line 2380 of file llvm/lib/IR/Core.cpp
-
Instruction * foldOverflowingAddSubSelect (SelectInst & SI, InstCombiner::BuilderTy & Builder)Turn X + Y overflows ? -1 : X + Y -> uadd_sat X, Y
And X - Y overflows ? 0 : X - Y -> usub_sat X, Y
Along with a number of patterns similar to:
X + Y overflows ? (X
<
0 ? INTMIN : INTMAX) : X + Y --> sadd_sat X, Y
X - Y overflows ? (X > 0 ? INTMAX : INTMIN) : X - Y --> ssub_sat X, Y
Defined at line 2381 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool IsEmptyAtExitFunction (const Function & Fn)Returns whether the given function is an empty C++ destructor or atexit
handler and can therefore be eliminated. Note that we assume that other
optimization passes have already simplified the code so we simply check for
'ret'.
Defined at line 2383 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
LLVMValueRef LLVMGetNextGlobalAlias (LLVMValueRef GA)Advance a GlobalAlias iterator to the next GlobalAlias.
Returns NULL if the iterator was already at the end and there are no more
global aliases.
Defined at line 2388 of file llvm/lib/IR/Core.cpp
-
void exportSymbolNamesFromFiles (const int & InputFilenames)Defined at line 2392 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
void writeDICompileUnit (raw_ostream & Out, const DICompileUnit * N, AsmWriterContext & WriterCtx)Defined at line 2392 of file llvm/lib/IR/AsmWriter.cpp
-
ConstantSDNode * getAsNonOpaqueConstant (SDValue N)If
is a ConstantSDNode with isOpaque() == false return it casted to a
ConstantSDNode pointer else nullptr.
Defined at line 2394 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool sinkCommonCodeFromPredecessors (BasicBlock * BB, DomTreeUpdater * DTU)Check whether BB's predecessors end with unconditional branches. If it is
true, sink any common code from the predecessors to BB.
Defined at line 2394 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
LLVMValueRef LLVMGetPreviousGlobalAlias (LLVMValueRef GA)Decrement a GlobalAlias iterator to the previous GlobalAlias.
Returns NULL if the iterator was already at the beginning and there are
no previous global aliases.
Defined at line 2396 of file llvm/lib/IR/Core.cpp
-
bool isBitCastSemanticsPreserving (const DataLayout & DL, Type * FromTy, Type * ToTy)Check if a bitcast between a value of type
to type
would
losslessly preserve the bits and semantics of the value. This predicate is
symmetric, i.e swapping
and
should give the same result.
Note that Type::canLosslesslyBitCastTo is not suitable here because it
allows semantically unequivalent bitcasts, such as
<
2 x i64> ->
<
4 x i32>,
and also does not allow lossless pointer
<
-> integer conversions.
Defined at line 2396 of file llvm/lib/Transforms/Utils/Local.cpp
-
VPIRBasicBlock * replaceVPBBWithIRVPBB (VPBasicBlock * VPBB, BasicBlock * IRBB, VPlan * Plan)Replace
with a VPIRBasicBlock wrapping
All recipes from
are moved to the end of the newly created VPIRBasicBlock. All
predecessors and successors of VPBB, if any, are rewired to the new
VPIRBasicBlock. If
may be unreachable,
must be passed.
Defined at line 2396 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
bool hasOnlyLiveOutUses (const SUnit * SU)hasOnlyLiveOutUses - Return true if SU has only value successors that are
CopyToReg to a virtual register. This SU def is probably a liveout and
it has no other use. It should be scheduled closer to the terminator.
Defined at line 2397 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
basic_string getSimpleNodeName (const BasicBlock * Node)Defined at line 2398 of file llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
-
bool isTailCallOpcode (unsigned int Opc)Defined at line 2399 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
bool OptimizeEmptyGlobalAtExitDtors (Function * CXAAtExitFn, bool isCXX)Defined at line 2399 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
uint64_t layoutSectionsForOnlyKeepDebug (Object & Obj, uint64_t Off)Rewrite sh_offset after some sections are changed to SHT_NOBITS and thus
occupy no space in the file.
Defined at line 2400 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
bool isTruncateOf (SelectionDAG & DAG, SDValue N, SDValue & Op, KnownBits & Known)isTruncateOf - If N is a truncate of some other value, return true, record
the value being truncated in Op and which of Op's bits are zero/one in Known.
This function computes KnownBits to avoid a duplicated call to
computeKnownBits in the caller.
Defined at line 2403 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
int llvm_nm_main (int argc, char ** , const llvm::ToolContext & )Defined at line 2408 of file llvm/tools/llvm-nm/llvm-nm.cpp
-
void computeKnownBits (const Value * V, const APInt & DemandedElts, KnownBits & Known, const SimplifyQuery & Q, unsigned int Depth)Determine which bits of V are known to be either zero or one and return
them in the Known bit set.
NOTE: we cannot consider 'undef' to be "IsZero" here. The problem is that
we cannot optimize based on the assumption that it is zero without changing
it to be an explicit zero. If we don't change it to zero, other code could
optimized based on the contradictory assumption that it is non-zero.
Because instcombine aggressively folds operations with undef args anyway,
this won't lose us code quality.
This function is defined on values with integer type, values with pointer
type, and vectors of integers. In the case
where V is a vector, known zero, and known one values are the
same width as the vector element, and the bit is set only if it is true
for all of the demanded elements in the vector specified by DemandedElts.
Defined at line 2403 of file llvm/lib/Analysis/ValueTracking.cpp
-
LLVMValueRef LLVMAliasGetAliasee (LLVMValueRef Alias)Retrieve the target value of an alias.
Defined at line 2404 of file llvm/lib/IR/Core.cpp
-
InsertPoint getInsertPointAfterInstr (Instruction * I)Defined at line 2406 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
void emitMatchClassEnumeration (CodeGenTarget & Target, int & Infos, raw_ostream & OS)emitMatchClassEnumeration - Emit the enumeration for match class kinds.
Defined at line 2406 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
void LLVMAliasSetAliasee (LLVMValueRef Alias, LLVMValueRef Aliasee)Set the target value of an alias.
Defined at line 2408 of file llvm/lib/IR/Core.cpp
-
bool deduceFunctionAttributeInRPO (Module & M, LazyCallGraph & CG)Defined at line 2410 of file llvm/lib/Transforms/IPO/FunctionAttrs.cpp
-
void rematerializeLiveValuesAtUses (int & RematerizationCandidates, MutableArrayRef<PartiallyConstructedSafepointRecord> Records, int & PointerToBase)Try to rematerialize derived pointers immediately before their uses
(instead of rematerializing after every statepoint it is live through).
This can be beneficial when derived pointer is live across many
statepoints, but uses are rare.
Defined at line 2411 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool hasBFloatType (const TreePatternNode & Node)Defined at line 2413 of file llvm/utils/TableGen/GlobalISelEmitter.cpp
-
LLVMValueRef LLVMAddFunction (LLVMModuleRef M, const char * Name, LLVMTypeRef FunctionTy)Add a function to a module under a specified name.
Defined at line 2414 of file llvm/lib/IR/Core.cpp
-
Status getRedirectedFileStatus (const Twine & OriginalPath, bool UseExternalNames, Status ExternalStatus)Defined at line 2418 of file llvm/lib/Support/VirtualFileSystem.cpp
-
LLVMValueRef LLVMGetOrInsertFunction (LLVMModuleRef M, const char * Name, size_t NameLen, LLVMTypeRef FunctionTy)Obtain or insert a function into a module.
If a function with the specified name already exists in the module, it
is returned. Otherwise, a new function is created in the module with the
specified name and type and is returned.
The returned value corresponds to a llvm::Function instance.
Defined at line 2420 of file llvm/lib/IR/Core.cpp
-
bool isIdentifierChar (char c)FIXME: This is mostly duplicated from the function in AsmLexer.cpp. The
difference being that that function accepts '
@
' as part of identifiers and
we can't do that. AsmLexer.cpp should probably be changed to handle
'
@
' as a special case when needed.
Defined at line 2421 of file llvm/lib/MC/MCParser/AsmParser.cpp
-
bool isOnlyReachableViaThisEdge (const BasicBlockEdge & E, DominatorTree * DT)There is an edge from 'Src' to 'Dst'. Return
true if every path from the entry block to 'Dst' passes via this edge. In
particular 'Dst' must not be reachable via another edge from 'Src'.
Defined at line 2421 of file llvm/lib/Transforms/Scalar/GVN.cpp
-
bool isSinCosLibcallAvailable (SDNode * Node, const TargetLowering & TLI)Return true if sincos or __sincos_stret libcall is available.
Defined at line 2423 of file llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
-
bool canFoldInAddressingMode (SDNode * N, SDNode * Use, SelectionDAG & DAG, const TargetLowering & TLI)Return true if 'Use' is a load or a store that uses N as its base pointer
and that N may be folded in the load / store addressing mode.
Defined at line 2424 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
void initVRegCycle (SUnit * SU)Set isVRegCycle for a node with only live in opers and live out uses. Also
set isVRegCycle for its CopyFromReg operands.
This is only relevant for single-block loops, in which case the VRegCycle
node is likely an induction variable in which the operand and target virtual
registers should be coalesced (e.g. pre/post increment values). Setting the
isVRegCycle flag helps the scheduler prioritize other uses of the same
CopyFromReg so that this node becomes the virtual register "kill". This
avoids interference between the values live in and out of the block and
eliminates a copy inside the loop.
Defined at line 2425 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
void printArchiveChild (StringRef Filename, const Archive::Child & C, size_t ChildIndex, bool verbose, bool print_offset, StringRef ArchitectureName)Defined at line 2426 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool pointerInvalidatedByBlock (BasicBlock & BB, MemorySSA & MSSA, MemoryUse & MU)Defined at line 2427 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
NoWrapFlags StrengthenNoWrapFlags (ScalarEvolution * SE, SCEVTypes Type, ArrayRef Ops, NoWrapFlags Flags)We're trying to construct a SCEV of type `Type' with `Ops' as operands and
`OldFlags' as can't-wrap behavior. Infer a more aggressive set of
can't-overflow flags for the operation if possible.
Defined at line 2427 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
LLVMValueRef LLVMGetNamedFunction (LLVMModuleRef M, const char * Name)Obtain a Function value from a Module by its name.
The returned value corresponds to a llvm::Function value.
Defined at line 2428 of file llvm/lib/IR/Core.cpp
-
bool useSinCos (SDNode * Node)Only issue sincos libcall if both sin and cos are needed.
Defined at line 2430 of file llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
-
StringRef getRecipEstimateForFunc (MachineFunction & MF)Get the reciprocal estimate attribute string for a function that will
override the target defaults.
Defined at line 2432 of file llvm/lib/CodeGen/TargetLoweringBase.cpp
-
LLVMValueRef LLVMGetNamedFunctionWithLength (LLVMModuleRef M, const char * Name, size_t Length)Obtain a Function value from a Module by its name.
The returned value corresponds to a llvm::Function value.
Defined at line 2432 of file llvm/lib/IR/Core.cpp
-
Value * getExpandedStep (const InductionDescriptor & ID, const int & ExpandedSCEVs)Return the expanded step for
using
to look up SCEV
expansion results.
Defined at line 2432 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
LLVMValueRef LLVMGetFirstFunction (LLVMModuleRef M)Obtain an iterator to the first Function in a Module.
Defined at line 2437 of file llvm/lib/IR/Core.cpp
-
void writeDISubprogram (raw_ostream & Out, const DISubprogram * N, AsmWriterContext & WriterCtx)Defined at line 2437 of file llvm/lib/IR/AsmWriter.cpp
-
bool hoistMinMax (Instruction & I, Loop & L, ICFLoopSafetyInfo & SafetyInfo, MemorySSAUpdater & MSSAU)Try to simplify things like (A
<
INV_1 AND icmp A
<
INV_2) into (A
<
min(INV_1, INV_2)), if INV_1 and INV_2 are both loop invariants and their
minimun can be computed outside of loop, and X is not a loop-invariant.
Defined at line 2439 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
const DIExpression * computeExprForSpill (const MachineInstr & MI, const SmallVectorImpl<const MachineOperand *> & SpilledOperands)Compute the new DIExpression to use with a DBG_VALUE for a spill slot.
This prepends DW_OP_deref when spilling an indirect DBG_VALUE.
Defined at line 2440 of file llvm/lib/CodeGen/MachineInstr.cpp
-
bool isMacroParameterChar (char C)This is similar to the IsIdentifierChar function in AsmLexer.cpp, but does
not accept '.'.
Defined at line 2441 of file llvm/lib/MC/MCParser/MasmParser.cpp
-
basic_string getReciprocalOpName (bool IsSqrt, EVT VT)Construct a string for the given reciprocal operation of the given type.
This string should match the corresponding option to the front-end's
"-mrecip" flag assuming those strings have been passed through in an
attribute string. For example, "vec-divf" for a division of a vXf32.
Defined at line 2441 of file llvm/lib/CodeGen/TargetLoweringBase.cpp
-
bool translateInstruction (MCInst & target, InternalInstruction & source, const MCDisassembler * Dis)translateInstruction - Translates an internal instruction and all its
operands to an MCInst.
Parameters
mcInst - The MCInst to populate with the instruction's data.insn - The internal instruction.Returns
- false on success; true otherwise.
Defined at line 2441 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
bool InBlock (const Value * V, const BasicBlock * BB)Defined at line 2443 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
void ProfileVarDefInit (FoldingSetNodeID & ID, const Record * Class, ArrayRef Args)Defined at line 2443 of file llvm/lib/TableGen/Record.cpp
-
bool shouldAlwaysEmitCompleteClassType (const DICompositeType * Ty)Defined at line 2444 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
void resetVRegCycle (SUnit * SU)After scheduling the definition of a VRegCycle, clear the isVRegCycle flag of
CopyFromReg operands. We should no longer penalize other uses of this VReg.
Defined at line 2444 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
Function * hasSideeffectFreeStaticResolution (GlobalIFunc & IF)Defined at line 2444 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
LLVMValueRef LLVMGetLastFunction (LLVMModuleRef M)Obtain an iterator to the last Function in a Module.
Defined at line 2445 of file llvm/lib/IR/Core.cpp
-
void addFullyUnrolledInstructionsToIgnore (Loop * L, const int & IL, SmallPtrSetImpl<Instruction *> & InstsToIgnore)Knowing that loop
executes a single vector iteration, add instructions
that will get simplified and thus should not have any cost to
Defined at line 2447 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
uint64_t layoutSegmentsForOnlyKeepDebug (std::vector<Segment *> & Segments, uint64_t HdrEnd)Rewrite p_offset and p_filesz of non-PT_PHDR segments after sh_offset values
have been updated.
Defined at line 2450 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
LLVMValueRef LLVMGetNextFunction (LLVMValueRef Fn)Advance a Function iterator to the next Function.
Returns NULL if the iterator was already at the end and there are no more
functions.
Defined at line 2453 of file llvm/lib/IR/Core.cpp
-
void emitOperandMatchErrorDiagStrings (AsmMatcherInfo & Info, raw_ostream & OS)emitMatchClassDiagStrings - Emit a function to get the diagnostic text to be
used when an assembly operand does not match the expected operand class.
Defined at line 2454 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
bool OptimizeExtractBits (BinaryOperator * ShiftI, ConstantInt * CI, const TargetLowering & TLI, const DataLayout & DL)Sink the shift *right* instruction into user blocks if the uses could
potentially be combined with this shift instruction and generate BitExtract
instruction. It will only be applied if the architecture supports BitExtract
instruction. Here is an example:
BB1:
%x.extract.shift = lshr i64 %arg1, 32
BB2:
%x.extract.trunc = trunc i64 %x.extract.shift to i16
==>
BB2:
%x.extract.shift.1 = lshr i64 %arg1, 32
%x.extract.trunc = trunc i64 %x.extract.shift.1 to i16
CodeGen will recognize the pattern in BB2 and generate BitExtract
instruction.
Return true if any changes are made.
Defined at line 2455 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
bool isIntegerWideningViableForSlice (const Slice & S, uint64_t AllocBeginOffset, Type * AllocaTy, const DataLayout & DL, bool & WholeAllocaOp)Test whether a slice of an alloca is valid for integer widening.
This implements the necessary checking for the
test below on a single slice of the alloca.
Defined at line 2458 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
bool removeRedundantDbgLocsUsingBackwardScan (const BasicBlock * BB, FunctionVarLocsBuilder & FnVarLocs)Remove redundant definitions within sequences of consecutive location defs.
This is done using a backward scan to keep the last def describing a
specific variable/fragment.
This implements removeRedundantDbgInstrsUsingBackwardScan from
lib/Transforms/Utils/BasicBlockUtils.cpp for locations described with
FunctionVarLocsBuilder instead of with intrinsics.
Defined at line 2460 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
LLVMValueRef LLVMGetPreviousFunction (LLVMValueRef Fn)Decrement a Function iterator to the previous Function.
Returns NULL if the iterator was already at the beginning and there are
no previous functions.
Defined at line 2461 of file llvm/lib/IR/Core.cpp
-
bool hasVRegCycleUse (const SUnit * SU)Return true if this SUnit uses a CopyFromReg node marked as a VRegCycle. This
means a node that defines the VRegCycle has not been scheduled yet.
Defined at line 2461 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
const DIExpression * computeExprForSpill (const MachineInstr & MI, Register SpillReg)Defined at line 2462 of file llvm/lib/CodeGen/MachineInstr.cpp
-
bool parseRefinementStep (StringRef In, size_t & Position, uint8_t & Value)Return the character position and value (a single numeric character) of a
customized refinement operation in the input string if it exists. Return
false if there is no customized refinement step count.
Defined at line 2463 of file llvm/lib/CodeGen/TargetLoweringBase.cpp
-
void AddFunctionInfo (GsymCreator & GC, const char * FuncName, uint64_t FuncAddr, const char * SourcePath, const char * HeaderPath)Helper function to quickly create a FunctionInfo in a GsymCreator for testing.
Defined at line 2463 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
void replacePhiSrc (MachineInstr & Phi, Register OrigReg, Register NewReg, MachineBasicBlock * NewMBB)Defined at line 2466 of file llvm/lib/CodeGen/ModuloSchedule.cpp
-
void writeDILexicalBlock (raw_ostream & Out, const DILexicalBlock * N, AsmWriterContext & WriterCtx)Defined at line 2466 of file llvm/lib/IR/AsmWriter.cpp
-
int matchShuffleAsBitRotate (ArrayRef Mask, int NumSubElts)Try to lower a vector shuffle as a bit rotation.
Look for a repeated rotation pattern in each sub group.
Returns an element-wise left bit rotation amount or -1 if failed.
Defined at line 2468 of file llvm/lib/IR/Instructions.cpp
-
void LLVMDeleteFunction (LLVMValueRef Fn)Remove a function from its containing module and deletes it.
Defined at line 2469 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMHasPersonalityFn (LLVMValueRef Fn)Check whether the given function has a personality function.
Defined at line 2473 of file llvm/lib/IR/Core.cpp
-
MCDisassembler * createX86Disassembler (const Target & T, const MCSubtargetInfo & STI, MCContext & Ctx)Defined at line 2474 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
bool OptimizeStaticIFuncs (Module & M)Find IFuncs that have resolvers that always point at the same statically
known callee, and replace their callers with a direct call.
Defined at line 2474 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
void writeDILexicalBlockFile (raw_ostream & Out, const DILexicalBlockFile * N, AsmWriterContext & WriterCtx)Defined at line 2477 of file llvm/lib/IR/AsmWriter.cpp
-
Value * findOutputValueInRegion (OutlinableRegion & Region, unsigned int OutputCanon)For the
number passed in find the value represented by this
canonical number. If it is from a PHINode, we pick the first incoming
value and return that Value instead.
Parameters
Region - The OutlinableRegion to get the Value from.OutputCanon - The canonical number to find the Value from.Defined at line 2479 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
bool BUHasStall (SUnit * SU, int Height, RegReductionPQBase * SPQ)Check for either a dependence (latency) or resource (hazard) stall.
Note: The ScheduleHazardRecognizer interface requires a non-const SU.
Defined at line 2480 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
bool checkResourceLimit (unsigned int LFactor, unsigned int Count, unsigned int Latency, bool AfterSchedNode)Given a Count of resource usage and a Latency value, return true if a
SchedBoundary becomes resource limited.
If we are checking after scheduling a node, we should return true when
we just reach the resource limit.
Defined at line 2480 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
void licm (VPlan & Plan)Move loop-invariant recipes out of the vector loop region in
Defined at line 2480 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void LLVMInitializeX86Disassembler ()Defined at line 2481 of file llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
-
LLVMValueRef LLVMGetPersonalityFn (LLVMValueRef Fn)Obtain the personality function attached to the function.
Defined at line 2477 of file llvm/lib/IR/Core.cpp
-
void LLVMSetPersonalityFn (LLVMValueRef Fn, LLVMValueRef PersonalityFn)Set the personality function attached to the function.
Defined at line 2481 of file llvm/lib/IR/Core.cpp
-
Instruction * foldTruncShuffle (ShuffleVectorInst & Shuf, bool IsBigEndian)Convert a narrowing shuffle of a bitcasted vector into a vector truncate.
Example (little endian):
shuf (bitcast
<
4 x i16> X to
<
8 x i8>),
<
0, 2, 4, 6> --> trunc X to
<
4 x i8>
Defined at line 2481 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
SDValue foldSelectWithIdentityConstant (SDNode * N, SelectionDAG & DAG, bool ShouldCommuteOperands)This inverts a canonicalization in IR that replaces a variable select arm
with an identity constant. Codegen improves if we re-use the variable
operand rather than load a constant. This can also be converted into a
masked vector operation if the target supports it.
Defined at line 2484 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
void emitRegisterMatchErrorFunc (AsmMatcherInfo & Info, raw_ostream & OS)Defined at line 2485 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
unsigned int LLVMGetIntrinsicID (LLVMValueRef Fn)Obtain the ID number from a function instance.
Defined at line 2486 of file llvm/lib/IR/Core.cpp
-
int getOpEnabled (bool IsSqrt, EVT VT, StringRef Override)For the input attribute string, return one of the ReciprocalEstimate enum
status values (enabled, disabled, or not specified) for this operation on
the specified data type.
Defined at line 2486 of file llvm/lib/CodeGen/TargetLoweringBase.cpp
-
bool DeleteDeadIFuncs (Module & M, SmallPtrSetImpl<const Comdat *> & NotDiscardableComdats)Defined at line 2488 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
void writeDINamespace (raw_ostream & Out, const DINamespace * N, AsmWriterContext & WriterCtx)Defined at line 2489 of file llvm/lib/IR/AsmWriter.cpp
-
bool denormModeCompatible (DenormalMode CallerMode, DenormalMode CalleeMode)Callees with dynamic denormal modes are compatible with any caller mode.
Defined at line 2489 of file llvm/lib/IR/Attributes.cpp
-
int BUCompareLatency (SUnit * left, SUnit * right, bool checkPref, RegReductionPQBase * SPQ)Return -1 if left has higher priority, 1 if right has higher priority.
Return 0 if latency-based priority is equivalent.
Defined at line 2490 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
const Instruction * getInvariantGroupClobberingInstruction (Instruction & I, DominatorTree & DT)Defined at line 2491 of file llvm/lib/Analysis/MemorySSA.cpp
-
Intrinsic::ID llvm_map_to_intrinsic_id (unsigned int ID)Defined at line 2492 of file llvm/lib/IR/Core.cpp
-
bool MayAutorelease (const CallBase & CB, unsigned int Depth)Interprocedurally determine if calls made by the given call site can
possibly produce autoreleases.
Defined at line 2494 of file llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
-
LLVMValueRef LLVMGetIntrinsicDeclaration (LLVMModuleRef Mod, unsigned int ID, LLVMTypeRef * ParamTypes, size_t ParamCount)Get or insert the declaration of an intrinsic. For overloaded intrinsics,
parameter types must be provided to uniquely identify an overload.
Defined at line 2497 of file llvm/lib/IR/Core.cpp
-
void printArchiveHeaders (StringRef Filename, Archive * A, bool verbose, bool print_offset, StringRef ArchitectureName)Defined at line 2497 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void writeDICommonBlock (raw_ostream & Out, const DICommonBlock * N, AsmWriterContext & WriterCtx)Defined at line 2499 of file llvm/lib/IR/AsmWriter.cpp
-
bool collectInstructionDeps (SmallMapVector<const Instruction *, bool, 8> * Deps, const Value * V, SmallMapVector<const Instruction *, bool, 8> * Necessary, unsigned int Depth)Collect dependencies on V recursively. This is used for the cost analysis in
`shouldKeepJumpConditionsTogether`.
Defined at line 2502 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
Instruction * optimizeVectorResizeWithIntegerBitCasts (Value * InVal, VectorType * DestTy, InstCombinerImpl & IC)This input value (which is known to have vector type) is being zero extended
or truncated to the specified vector type. Since the zext/trunc is done
using an integer type, we have a (bitcast(cast(bitcast))) pattern,
endianness will impact which end of the vector that is extended or
truncated.
A vector is always stored with index 0 at the lowest address, which
corresponds to the most significant bits for a big endian stored integer and
the least significant bits for little endian. A trunc/zext of an integer
impacts the big end of the integer. Thus, we need to add/remove elements at
the front of the vector for big endian targets, and the back of the vector
for little endian targets.
Try to replace it with a shuffle (and vector/vector bitcast) if possible.
The source and destination vector types may have different element types.
Defined at line 2502 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
bool collectVersions (Value * V, SmallVectorImpl<Function *> & Versions, function_ref<TargetTransformInfo &(Function &)> GetTTI)Follows the use-def chain of
backwards until it finds a Function,
in which case it collects in
Return true on successful
use-def chain traversal, false otherwise.
Defined at line 2503 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
Expected FinalizeEncodeAndDecode (GsymCreator & GC)Finalize a GsymCreator, encode it and decode it and return the error or
GsymReader that was successfully decoded.
Defined at line 2504 of file llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
-
const char * LLVMIntrinsicGetName (unsigned int ID, size_t * NameLength)Retrieves the name of an intrinsic.
Defined at line 2506 of file llvm/lib/IR/Core.cpp
-
bool checkDenormMode (const Function & Caller, const Function & Callee)Defined at line 2506 of file llvm/lib/IR/Attributes.cpp
-
void legacyCSE (BasicBlock * BB)FIXME: This legacy common-subexpression-elimination routine is scheduled for
removal, in favor of the VPlan-based one.
Defined at line 2507 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
bool ValidateArchFlags ()Defined at line 2510 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void writeDIMacro (raw_ostream & Out, const DIMacro * N, AsmWriterContext & WriterCtx)Defined at line 2511 of file llvm/lib/IR/AsmWriter.cpp
-
void emitValidateOperandClass (const CodeGenTarget & Target, AsmMatcherInfo & Info, raw_ostream & OS)emitValidateOperandClass - Emit the function to validate an operand class.
Defined at line 2511 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
LLVMTypeRef LLVMIntrinsicGetType (LLVMContextRef Ctx, unsigned int ID, LLVMTypeRef * ParamTypes, size_t ParamCount)Retrieves the type of an intrinsic. For overloaded intrinsics, parameter
types must be provided to uniquely identify an overload.
Defined at line 2513 of file llvm/lib/IR/Core.cpp
-
void ARMEmitUnwindInfo (MCStreamer & streamer, WinEH::FrameInfo * info, bool TryPacked)Populate the .xdata section. The format of .xdata on ARM is documented at
https://docs.microsoft.com/en-us/cpp/build/arm-exception-handling
Defined at line 2517 of file llvm/lib/MC/MCWin64EH.cpp
-
char * LLVMIntrinsicCopyOverloadedName (unsigned int ID, LLVMTypeRef * ParamTypes, size_t ParamCount, size_t * NameLength)Deprecated: Use LLVMIntrinsicCopyOverloadedName2 instead.
Defined at line 2520 of file llvm/lib/IR/Core.cpp
-
bool ValidatePrefixes (StringRef Kind, StringSet<> & UniquePrefixes, ArrayRef SuppliedPrefixes)Defined at line 2520 of file llvm/lib/FileCheck/FileCheck.cpp
-
bool hoistGEP (Instruction & I, Loop & L, ICFLoopSafetyInfo & SafetyInfo, MemorySSAUpdater & MSSAU, AssumptionCache * AC, DominatorTree * DT)Reassociate gep (gep ptr, idx1), idx2 to gep (gep ptr, idx2), idx1 if
this allows hoisting the inner GEP.
Defined at line 2520 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
void writeDIMacroFile (raw_ostream & Out, const DIMacroFile * N, AsmWriterContext & WriterCtx)Defined at line 2522 of file llvm/lib/IR/AsmWriter.cpp
-
Instruction * narrowVectorSelect (ShuffleVectorInst & Shuf, InstCombiner::BuilderTy & Builder)Match a shuffle-select-shuffle pattern where the shuffles are widening and
narrowing (concatenating with poison and extracting back to the original
length). This allows replacing the wide select with a narrow select.
Defined at line 2522 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
bool checkStrictFP (const Function & Caller, const Function & Callee)Defined at line 2523 of file llvm/lib/IR/Attributes.cpp
-
char * LLVMIntrinsicCopyOverloadedName2 (LLVMModuleRef Mod, unsigned int ID, LLVMTypeRef * ParamTypes, size_t ParamCount, size_t * NameLength)Copies the name of an overloaded intrinsic identified by a given list of
parameter types.
Unlike LLVMIntrinsicGetName, the caller is responsible for freeing the
returned string.
This version also supports unnamed types.
Defined at line 2529 of file llvm/lib/IR/Core.cpp
-
unsigned int estimateElementCount (ElementCount VF, optional VScale)This function attempts to return a value that represents the ElementCount
at runtime. For fixed-width VFs we know this precisely at compile
time, but for scalable VFs we calculate it based on an estimate of the
vscale value.
Defined at line 2530 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
Error addSpeculationOrder (Session & S)Defined at line 2530 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
template <typename AttrClass>bool isEqual (const Function & Caller, const Function & Callee)Defined at line 2531 of file llvm/lib/IR/Attributes.cpp
-
InstructionCost findCostForOutputBlocks (Module & M, OutlinableGroup & CurrentGroup, TargetTransformInfo & TTI)Find the extra instructions needed to handle any output values for the
region.
Parameters
M [in] - The Module to outline from.CurrentGroup [in] - The collection of OutlinableRegions to analyze.TTI [in] - The TargetTransformInfo used to collect information for new instruction costs.Defined at line 2531 of file llvm/lib/Transforms/IPO/IROutliner.cpp
-
Value * simplifyXorInst (Value * , Value * , const SimplifyQuery & , unsigned int )Given operands for a Xor, see if we can fold the result.
If not, this returns null.
Defined at line 2531 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void writeDIModule (raw_ostream & Out, const DIModule * N, AsmWriterContext & WriterCtx)Defined at line 2532 of file llvm/lib/IR/AsmWriter.cpp
-
void rematerializeLiveValues (CallBase * Call, PartiallyConstructedSafepointRecord & Info, int & PointerToBase, int & RematerizationCandidates, TargetTransformInfo & TTI)From the statepoint live set pick values that are cheaper to recompute then
to relocate. Remove this values from the live set, rematerialize them after
statepoint and record them in "Info" structure. Note that similar to
relocated values we don't do any user adjustments here.
Defined at line 2532 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool isEqual (const Function & Caller, const Function & Callee, const StringRef & AttrName)Defined at line 2536 of file llvm/lib/IR/Attributes.cpp
-
unsigned int LLVMLookupIntrinsicID (const char * Name, size_t NameLen)Obtain the intrinsic ID number which matches the given function name.
Defined at line 2539 of file llvm/lib/IR/Core.cpp
-
bool isOperandClass (const TreePatternNode & N, StringRef Class)Defined at line 2540 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
bool isIntersect (SmallSetVector<SUnit *, 8> & Set1, const NodeSet & Set2, SmallSetVector<SUnit *, 8> & Result)Return true if Set1 contains elements in Set2. The elements in common
are returned in a different container.
Defined at line 2541 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
Instruction * canonicalizeSelectToShuffle (SelectInst & SI)Try to transform a vector select with a constant condition vector into a
shuffle for easier combining with other shuffles and insert/extract.
Defined at line 2541 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool BURRSort (SUnit * left, SUnit * right, RegReductionPQBase * SPQ)Defined at line 2541 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
LLVMBool LLVMIntrinsicIsOverloaded (unsigned int ID)Obtain if the intrinsic identified by the given ID is overloaded.
Defined at line 2543 of file llvm/lib/IR/Core.cpp
-
bool isPowerOfTwoRecurrence (const PHINode * PN, bool OrZero, SimplifyQuery & Q, unsigned int Depth)Try to detect a recurrence that the value of the induction variable is
always a power of two (or zero).
Defined at line 2545 of file llvm/lib/Analysis/ValueTracking.cpp
-
int getOpRefinementSteps (bool IsSqrt, EVT VT, StringRef Override)For the input attribute string, return the customized refinement step count
for this operation on the specified data type. If the step count does not
exist, return the ReciprocalEstimate enum value for unspecified.
Defined at line 2546 of file llvm/lib/CodeGen/TargetLoweringBase.cpp
-
template <typename AttrClass>void setAND (Function & Caller, const Function & Callee)Compute the logical AND of the attributes of the caller and the
callee.
This function sets the caller's attribute to false if the callee's attribute
is false.
Defined at line 2547 of file llvm/lib/IR/Attributes.cpp
-
void writeDITemplateTypeParameter (raw_ostream & Out, const DITemplateTypeParameter * N, AsmWriterContext & WriterCtx)Defined at line 2547 of file llvm/lib/IR/AsmWriter.cpp
-
bool OptimizeNonTrivialIFuncs (Module & M, function_ref<TargetTransformInfo &(Function &)> GetTTI)Try to statically resolve calls to versioned functions when possible. First
we identify the function versions which are associated with an IFUNC symbol.
We do that by examining the resolver function of the IFUNC. Once we have
collected all the function versions, we sort them in decreasing priority
order. This is necessary for determining the most suitable callee version
for each caller version. We then collect all the callsites to versioned
functions. The static resolution is performed by comparing the feature sets
between callers and callees. Specifically:
* Start a walk over caller and callee lists simultaneously in order of
decreasing priority.
* Statically resolve calls from the current caller to the current callee,
iff the caller feature bits are a superset of the callee feature bits.
* For FMV callers, as long as the caller feature bits are a subset of the
callee feature bits, advance to the next callee. This effectively prevents
considering the current callee as a candidate for static resolution by
following callers (explanation: preceding callers would not have been
selected in a hypothetical runtime execution).
* Advance to the next caller.
Presentation in EuroLLVM2025:
https://www.youtube.com/watch?v=k54MFimPz-A
&t
=867s
Defined at line 2547 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
unsigned int LLVMGetFunctionCallConv (LLVMValueRef Fn)Obtain the calling function of a function.
The returned value corresponds to the LLVMCallConv enumeration.
Defined at line 2548 of file llvm/lib/IR/Core.cpp
-
optional keywordToLoc (Kind Tok)Defined at line 2549 of file llvm/lib/AsmParser/LLParser.cpp
-
void emitTooManyOperandsError (TreePattern & TP, StringRef InstName, unsigned int Expected, unsigned int Actual)Defined at line 2551 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
void LLVMSetFunctionCallConv (LLVMValueRef Fn, unsigned int CC)Set the calling convention of a function.
Parameters
Fn Function to operate onCC LLVMCallConv to set calling convention toDefined at line 2552 of file llvm/lib/IR/Core.cpp
-
bool isIntegerWideningViable (Partition & P, Type * AllocaTy, const DataLayout & DL)Test whether the given alloca partition's integer operations can be
widened to promotable ones.
This is a quick test to check whether we can rewrite the integer loads and
stores to a particular alloca into wider loads and stores and be able to
promote the resulting alloca.
Defined at line 2553 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
Instruction * foldShuffleOfUnaryOps (ShuffleVectorInst & Shuf, InstCombiner::BuilderTy & Builder)Canonicalize FP negate/abs after shuffle.
Defined at line 2556 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
bool removeRedundantDbgLocsUsingForwardScan (const BasicBlock * BB, FunctionVarLocsBuilder & FnVarLocs)Remove redundant location defs using a forward scan. This can remove a
location definition that is redundant due to indicating that a variable has
the same value as is already being indicated by an earlier def.
This implements removeRedundantDbgInstrsUsingForwardScan from
lib/Transforms/Utils/BasicBlockUtils.cpp for locations described with
FunctionVarLocsBuilder instead of with intrinsics
Defined at line 2556 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
const char * LLVMGetGC (LLVMValueRef Fn)Obtain the name of the garbage collector to use during code
generation.
Defined at line 2557 of file llvm/lib/IR/Core.cpp
-
void emitTooFewOperandsError (TreePattern & TP, StringRef InstName, unsigned int Actual)Defined at line 2557 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
bool isOperator (TokenKind kind)Defined at line 2557 of file llvm/lib/MC/MCParser/AsmParser.cpp
-
bool despeculateCountZeros (IntrinsicInst * CountZeros, LoopInfo & LI, const TargetLowering * TLI, const DataLayout * DL, ModifyDT & ModifiedDT, SmallPtrSet<BasicBlock *, 32> & FreshBBs, bool IsHugeFunc)If counting leading or trailing zeros is an expensive operation and a zero
input is defined, add a check for zero to avoid calling the intrinsic.
We want to transform:
%z = call i64
.cttz.i64(i64 %A, i1 false)
into:
entry:
%cmpz = icmp eq i64 %A, 0
br i1 %cmpz, label %cond.end, label %cond.false
cond.false:
%z = call i64
.cttz.i64(i64 %A, i1 true)
br label %cond.end
cond.end:
%ctz = phi i64 [ 64, %entry ], [ %z, %cond.false ]
If the transform is performed, return true and set ModifiedDT to true.
Defined at line 2557 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
void writeDITemplateValueParameter (raw_ostream & Out, const DITemplateValueParameter * N, AsmWriterContext & WriterCtx)Defined at line 2558 of file llvm/lib/IR/AsmWriter.cpp
-
template <typename AttrClass>void setOR (Function & Caller, const Function & Callee)Compute the logical OR of the attributes of the caller and the
callee.
This function sets the caller's attribute to true if the callee's attribute
is true.
Defined at line 2559 of file llvm/lib/IR/Attributes.cpp
-
Error removeUnneededSections (Object & Obj)Defined at line 2560 of file llvm/lib/ObjCopy/ELF/ELFObject.cpp
-
void LLVMSetGC (LLVMValueRef Fn, const char * Name)Define the garbage collector to use during code generation.
Defined at line 2562 of file llvm/lib/IR/Core.cpp
-
optional keywordToModRef (Kind Tok)Defined at line 2566 of file llvm/lib/AsmParser/LLParser.cpp
-
LocationSize getSpillSlotSize (const MMOList & Accesses, const MachineFrameInfo & MFI)Defined at line 2567 of file llvm/lib/CodeGen/MachineInstr.cpp
-
void adjustCallerSSPLevel (Function & Caller, const Function & Callee)If the inlined function had a higher stack protection level than the
calling function, then bump up the caller's stack protection level.
Defined at line 2567 of file llvm/lib/IR/Attributes.cpp
-
Type * maybeVectorizeType (Type * Ty, ElementCount VF)Defined at line 2568 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
LLVMValueRef LLVMGetPrefixData (LLVMValueRef Fn)Gets the prefix data associated with a function. Only valid on functions, and
only if LLVMHasPrefixData returns true.
See https://llvm.org/docs/LangRef.html#prefix-data
Defined at line 2570 of file llvm/lib/IR/Core.cpp
-
void writeDIGlobalVariable (raw_ostream & Out, const DIGlobalVariable * N, AsmWriterContext & WriterCtx)Defined at line 2572 of file llvm/lib/IR/AsmWriter.cpp
-
bool isMultipleOfTypeSize (unsigned int Value, Type * Ty)Defined at line 2573 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
LLVMBool LLVMHasPrefixData (LLVMValueRef Fn)Check if a given function has prefix data. Only valid on functions.
See https://llvm.org/docs/LangRef.html#prefix-data
Defined at line 2575 of file llvm/lib/IR/Core.cpp
-
unsigned int getTypeSizeIndex (unsigned int Value, Type * Ty)Defined at line 2577 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
bool hoistAdd (Predicate Pred, Value * VariantLHS, Value * InvariantRHS, ICmpInst & ICmp, Loop & L, ICFLoopSafetyInfo & SafetyInfo, MemorySSAUpdater & MSSAU, AssumptionCache * AC, DominatorTree * DT)Try to turn things like "LV + C1 < C2" into "LV < C2 - C1". Here
C1 and C2 are loop invariants and LV is a loop-variant.
Defined at line 2578 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
void LLVMSetPrefixData (LLVMValueRef Fn, LLVMValueRef prefixData)Sets the prefix data for the function. Only valid on functions.
See https://llvm.org/docs/LangRef.html#prefix-data
Defined at line 2580 of file llvm/lib/IR/Core.cpp
-
Instruction * canonicalizeScalarSelectOfVecs (SelectInst & Sel, InstCombinerImpl & IC)If we have a select of vectors with a scalar condition, try to convert that
to a vector select by splatting the condition. A splat may get folded with
other operations in IR and having all operands of a select be vector types
is likely better for vector codegen.
Defined at line 2580 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
Error addSessionInputs (Session & S)Defined at line 2583 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
LLVMValueRef LLVMGetPrologueData (LLVMValueRef Fn)Gets the prologue data associated with a function. Only valid on functions,
and only if LLVMHasPrologueData returns true.
See https://llvm.org/docs/LangRef.html#prologue-data
Defined at line 2586 of file llvm/lib/IR/Core.cpp
-
Instruction * foldCastShuffle (ShuffleVectorInst & Shuf, InstCombiner::BuilderTy & Builder)Canonicalize casts after shuffle.
Defined at line 2589 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
LLVMBool LLVMHasPrologueData (LLVMValueRef Fn)Check if a given function has prologue data. Only valid on functions.
See https://llvm.org/docs/LangRef.html#prologue-data
Defined at line 2591 of file llvm/lib/IR/Core.cpp
-
void writeDILocalVariable (raw_ostream & Out, const DILocalVariable * N, AsmWriterContext & WriterCtx)Defined at line 2591 of file llvm/lib/IR/AsmWriter.cpp
-
bool collectInsertionElements (Value * V, unsigned int Shift, SmallVectorImpl<Value *> & Elements, Type * VecEltTy, bool isBigEndian)V is a value which is inserted into a vector of VecEltTy.
Look through the value to see if we can decompose it into
insertions into the vector. See the example in the comment for
OptimizeIntegerToVectorInsertions for the pattern this handles.
The type of V is always a non-zero multiple of VecEltTy's size.
Shift is the number of bits between the lsb of V and the lsb of
the vector.
This returns false if the pattern can't be matched or true if it can,
filling in Elements with the elements found here.
Defined at line 2591 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
Value * extractInteger (const DataLayout & DL, IRBuilderTy & IRB, Value * V, IntegerType * Ty, uint64_t Offset, const Twine & Name)Defined at line 2594 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
void LLVMSetPrologueData (LLVMValueRef Fn, LLVMValueRef prologueData)Sets the prologue data for the function. Only valid on functions.
See https://llvm.org/docs/LangRef.html#prologue-data
Defined at line 2596 of file llvm/lib/IR/Core.cpp
-
void adjustCallerStackProbes (Function & Caller, const Function & Callee)If the inlined function required stack probes, then ensure that
the calling function has those too.
Defined at line 2597 of file llvm/lib/IR/Attributes.cpp
-
bool inlineGetBaseAndOffset (Function & F, SmallVectorImpl<CallInst *> & Intrinsics, int & DVCache, int & KnownBases)Defined at line 2598 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
Instruction * foldSelectCmpBitcasts (SelectInst & Sel, InstCombiner::BuilderTy & Builder)Reuse bitcasted operands between a compare and select:
select (cmp (bitcast C), (bitcast D)), (bitcast' C), (bitcast' D) -->
bitcast (select (cmp (bitcast C), (bitcast D)), (bitcast C), (bitcast D))
Defined at line 2601 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
void LLVMAddAttributeAtIndex (LLVMValueRef F, LLVMAttributeIndex Idx, LLVMAttributeRef A)Add an attribute to a function.
Defined at line 2602 of file llvm/lib/IR/Core.cpp
-
CallInst * createPopcntIntrinsic (int & IRBuilder, Value * Val, const DebugLoc & DL)Defined at line 2602 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
bool isImpliedToBeAPowerOfTwoFromCond (const Value * V, bool OrZero, const Value * Cond, bool CondIsTrue)Return true if we can infer that
is known to be a power of 2 from
dominating condition
(e.g., ctpop(V) == 1).
Defined at line 2602 of file llvm/lib/Analysis/ValueTracking.cpp
-
optional getConstantCoefficient (const SCEV * Expr)Given a SCEVMulExpr, returns its first operand if its first operand is a
constant and the product doesn't overflow in a signed sense. Otherwise,
returns std::nullopt. For example, given (10 * X * Y)
<nsw
>, it returns 10.
Notably, if it doesn't have nsw, the multiplication may overflow, and if
so, it may not a multiple of 10.
Defined at line 2603 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
bool eliminateDeadStores (Function & F, AliasAnalysis & AA, MemorySSA & MSSA, DominatorTree & DT, PostDominatorTree & PDT, const TargetLibraryInfo & TLI, const LoopInfo & LI)Defined at line 2605 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
unsigned int LLVMGetAttributeCountAtIndex (LLVMValueRef F, LLVMAttributeIndex Idx)Defined at line 2607 of file llvm/lib/IR/Core.cpp
-
bool okayForPHIOfOps (const Instruction * I)Defined at line 2607 of file llvm/lib/Transforms/Scalar/NewGVN.cpp
-
void writeDILabel (raw_ostream & Out, const DILabel * N, AsmWriterContext & WriterCtx)Defined at line 2607 of file llvm/lib/IR/AsmWriter.cpp
-
void adjustCallerStackProbeSize (Function & Caller, const Function & Callee)If the inlined function defines the size of guard region
on the stack, then ensure that the calling function defines a guard region
that is no larger.
Defined at line 2607 of file llvm/lib/IR/Attributes.cpp
-
void LLVMGetAttributesAtIndex (LLVMValueRef F, LLVMAttributeIndex Idx, LLVMAttributeRef * Attrs)Defined at line 2612 of file llvm/lib/IR/Core.cpp
-
Value * upgradeNVVMIntrinsicCall (StringRef Name, CallBase * CI, Function * F, IRBuilder<> & Builder)Defined at line 2612 of file llvm/lib/IR/AutoUpgrade.cpp
-
CallInst * createFFSIntrinsic (int & IRBuilder, Value * Val, const DebugLoc & DL, bool ZeroCheck, Intrinsic::ID IID)Defined at line 2613 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
uint16_t RegSizeInBits (const MCRegisterInfo & MRI, MCRegister RegNo)Defined at line 2613 of file llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
-
Type * getCompareTy (Value * Op)Defined at line 2614 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool removeUndefDbgLocsFromEntryBlock (const BasicBlock * BB, FunctionVarLocsBuilder & FnVarLocs)Defined at line 2615 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
void disassembleObject (ObjectFile * Obj, bool InlineRelocs, raw_ostream & OS)Defined at line 2616 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
LLVMAttributeRef LLVMGetEnumAttributeAtIndex (LLVMValueRef F, LLVMAttributeIndex Idx, unsigned int KindID)Defined at line 2619 of file llvm/lib/IR/Core.cpp
-
Value * insertInteger (const DataLayout & DL, IRBuilderTy & IRB, Value * Old, Value * V, uint64_t Offset, const Twine & Name)Defined at line 2619 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
NodeType GetPromotionOpcode (EVT OpVT, EVT RetVT)===----------------------------------------------------------------------===//
Float Operand Promotion
===----------------------------------------------------------------------===//
Defined at line 2621 of file llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
-
Value * extractEquivalentCondition (Value * V, CmpPredicate Pred, Value * LHS, Value * RHS)Rummage around inside V looking for something equivalent to the comparison
"LHS Pred RHS". Return such a value if found, otherwise return null.
Helper function for analyzing max/min idioms.
Defined at line 2621 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void ProfileCondOpInit (FoldingSetNodeID & ID, ArrayRef Conds, ArrayRef Vals, const RecTy * ValType)Defined at line 2622 of file llvm/lib/TableGen/Record.cpp
-
void writeDIExpression (raw_ostream & Out, const DIExpression * N, AsmWriterContext & WriterCtx)Defined at line 2623 of file llvm/lib/IR/AsmWriter.cpp
-
uint64_t globalSize (const llvm::GlobalVariable & G)Defined at line 2626 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
LLVMAttributeRef LLVMGetStringAttributeAtIndex (LLVMValueRef F, LLVMAttributeIndex Idx, const char * K, unsigned int KLen)Defined at line 2626 of file llvm/lib/IR/Core.cpp
-
SDValue foldAddSubBoolOfMaskedVal (SDNode * N, const SDLoc & DL, SelectionDAG & DAG)Defined at line 2630 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool shouldTagGlobal (const llvm::GlobalVariable & G)Defined at line 2632 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
void LLVMRemoveEnumAttributeAtIndex (LLVMValueRef F, LLVMAttributeIndex Idx, unsigned int KindID)Defined at line 2633 of file llvm/lib/IR/Core.cpp
-
NodeType GetPromotionOpcodeStrict (EVT OpVT, EVT RetVT)Defined at line 2633 of file llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
-
void adjustMinLegalVectorWidth (Function & Caller, const Function & Callee)If the inlined function defines a min legal vector width, then ensure
the calling function has the same or larger min legal vector width. If the
caller has the attribute, but the callee doesn't, we need to remove the
attribute from the caller since we can't make any guarantees about the
caller's requirements.
This function is called after the inlining decision has been made so we have
to merge the attribute this way. Heuristics that would use
min-legal-vector-width to determine inline compatibility would need to be
handled as part of inline cost analysis.
Defined at line 2635 of file llvm/lib/IR/Attributes.cpp
-
TargetInfo getTargetInfo (const Triple & TT, const SubtargetFeatures & TF)Defined at line 2635 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
unsigned int keywordToFPClassTest (Kind Tok)Defined at line 2636 of file llvm/lib/AsmParser/LLParser.cpp
-
bool hoistSub (Predicate Pred, Value * VariantLHS, Value * InvariantRHS, ICmpInst & ICmp, Loop & L, ICFLoopSafetyInfo & SafetyInfo, MemorySSAUpdater & MSSAU, AssumptionCache * AC, DominatorTree * DT)Try to reassociate and hoist the following two patterns:
LV - C1
<
C2 --> LV
<
C1 + C2,
C1 - LV
<
C2 --> LV > C1 - C2.
Defined at line 2636 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
bool isAllocDisjoint (const Value * V)Return true if the underlying object (storage) must be disjoint from
storage returned by any noalias return call.
Defined at line 2640 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void emitIsSubclass (CodeGenTarget & Target, int & Infos, raw_ostream & OS)emitIsSubclass - Emit the subclass predicate function.
Defined at line 2644 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
bool markAliveBlocks (Function & F, SmallPtrSetImpl<BasicBlock *> & Reachable, DomTreeUpdater * DTU)Defined at line 2646 of file llvm/lib/Transforms/Utils/Local.cpp
-
bool insertParsePoints (Function & F, DominatorTree & DT, TargetTransformInfo & TTI, SmallVectorImpl<CallBase *> & ToUpdate, int & DVCache, int & KnownBases)Defined at line 2646 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void writeDIArgList (raw_ostream & Out, const DIArgList * N, AsmWriterContext & WriterCtx, bool FromValue)Defined at line 2648 of file llvm/lib/IR/AsmWriter.cpp
-
AtomicOrdering addReleaseOrdering (AtomicOrdering AO)Defined at line 2652 of file llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
-
Value * extractVector (IRBuilderTy & IRB, Value * V, unsigned int BeginIndex, unsigned int EndIndex, const Twine & Name)Defined at line 2652 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
template <class ELFT>Error checkHashTable (const ELFDumper<ELFT> & Dumper, const typename ELFT::Hash * H, bool * IsHeaderValid)Defined at line 2653 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
Instruction * foldIdentityExtractShuffle (ShuffleVectorInst & Shuf)Try to fold an extract subvector operation.
Defined at line 2653 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
GEPNoWrapFlags getMergedGEPNoWrapFlags (GEPOperator & GEP1, GEPOperator & GEP2)Determine nowrap flags for (gep (gep p, x), y) to (gep p, (x + y))
transform.
Defined at line 2656 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
void adjustNullPointerValidAttr (Function & Caller, const Function & Callee)If the inlined function has null_pointer_is_valid attribute,
set this attribute in the caller post inlining.
Defined at line 2656 of file llvm/lib/IR/Attributes.cpp
-
void initializeReassociateLegacyPassPassOnce (PassRegistry & Registry)Defined at line 2660 of file llvm/lib/Transforms/Scalar/Reassociate.cpp
-
bool haveNonOverlappingStorage (const Value * V1, const Value * V2)Return true if V1 and V2 are each the base of some distict storage region
[V, object_size(V)] which do not overlap. Note that zero sized regions
*are* possible, and that zero sized regions do not overlap with any other.
Defined at line 2660 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void writeDIGlobalVariableExpression (raw_ostream & Out, const DIGlobalVariableExpression * N, AsmWriterContext & WriterCtx)Defined at line 2663 of file llvm/lib/IR/AsmWriter.cpp
-
Instruction * foldSelectGEP (GetElementPtrInst & GEP, InstCombiner::BuilderTy & Builder)Thread a GEP operation with constant indices through the constant true/false
arms of a select.
Defined at line 2663 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
void tagGlobalDefinition (Module & M, GlobalVariable * G)Defined at line 2667 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
Value * foldSelectCmpXchg (SelectInst & SI)Try to eliminate select instructions that test the returned flag of cmpxchg
instructions.
If a select instruction tests the returned flag of a cmpxchg instruction and
selects between the returned value of the cmpxchg instruction its compare
operand, the result of the select will always be equal to its false value.
For example:
%cmpxchg = cmpxchg ptr %ptr, i64 %compare, i64 %new_value seq_cst seq_cst
%val = extractvalue { i64, i1 } %cmpxchg, 0
%success = extractvalue { i64, i1 } %cmpxchg, 1
%sel = select i1 %success, i64 %compare, i64 %val
ret i64 %sel
The returned value of the cmpxchg instruction (%val) is the original value
located at %ptr prior to any update. If the cmpxchg operation succeeds, %val
must have been equal to %compare. Thus, the result of the select is always
equal to %val, and the code can be simplified to:
%cmpxchg = cmpxchg ptr %ptr, i64 %compare, i64 %new_value seq_cst seq_cst
%val = extractvalue { i64, i1 } %cmpxchg, 0
ret i64 %val
Defined at line 2668 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
void writeDIObjCProperty (raw_ostream & Out, const DIObjCProperty * N, AsmWriterContext & WriterCtx)Defined at line 2673 of file llvm/lib/IR/AsmWriter.cpp
-
LLT getMidVTForTruncRightShiftCombine (LLT ShiftTy, LLT TruncTy)Defined at line 2674 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
Value * insertVector (IRBuilderTy & IRB, Value * Old, Value * V, unsigned int BeginIndex, const Twine & Name)Defined at line 2674 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
bool MatchingStackOffset (SDValue Arg, unsigned int Offset, ArgFlagsTy Flags, MachineFrameInfo & MFI, const MachineRegisterInfo * MRI, const X86InstrInfo * TII, const CCValAssign & VA)Return true if the given stack call argument is already available in the
same position (relatively) of the caller's incoming argument stack.
Defined at line 2680 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
VPActiveLaneMaskPHIRecipe * addVPLaneMaskPhiAndUpdateExitBranch (VPlan & Plan, bool DataAndControlFlowWithoutRuntimeCheck)Add a VPActiveLaneMaskPHIRecipe and related recipes to
and replace
the loop terminator with a branch-on-cond recipe with the negated
active-lane-mask as operand. Note that this turns the loop into an
uncountable one. Only the existing terminator is replaced, all other existing
recipes/users remain unchanged, except for poison-generating flags being
dropped from the canonical IV increment. Return the created
VPActiveLaneMaskPHIRecipe.
The function uses the following definitions:
%TripCount = DataWithControlFlowWithoutRuntimeCheck ?
calculate-trip-count-minus-VF (original TC) : original TC
%IncrementValue = DataWithControlFlowWithoutRuntimeCheck ?
CanonicalIVPhi : CanonicalIVIncrement
%StartV is the canonical induction start value.
The function adds the following recipes:
vector.ph:
%TripCount = calculate-trip-count-minus-VF (original TC)
[if DataWithControlFlowWithoutRuntimeCheck]
%EntryInc = canonical-iv-increment-for-part %StartV
%EntryALM = active-lane-mask %EntryInc, %TripCount
vector.body:
...
%P = active-lane-mask-phi [ %EntryALM, %vector.ph ], [ %ALM, %vector.body ]
...
%InLoopInc = canonical-iv-increment-for-part %IncrementValue
%ALM = active-lane-mask %InLoopInc, TripCount
%Negated = Not %ALM
branch-on-cond %Negated
Defined at line 2685 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void writeDIImportedEntity (raw_ostream & Out, const DIImportedEntity * N, AsmWriterContext & WriterCtx)Defined at line 2687 of file llvm/lib/IR/AsmWriter.cpp
-
Instruction * canonicalizeGEPOfConstGEPI8 (GetElementPtrInst & GEP, GEPOperator * Src, InstCombinerImpl & IC)Canonicalization:
gep T, (gep i8, base, C1), (Index + C2) into
gep T, (gep i8, base, C1 + C2 * sizeof(T)), Index
Defined at line 2690 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
template <class ELFT>Error checkGNUHashTable (const ELFFile<ELFT> & Obj, const typename ELFT::GnuHash * GnuHashTable, bool * IsHeaderValid)Defined at line 2694 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
uint64_t GetVBR (uint64_t Val, const unsigned char * MatcherTable, unsigned int & Idx)GetVBR - decode a vbr encoding whose top bit is set.
Defined at line 2695 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
void removeMemtagFromGlobal (GlobalVariable & G)Defined at line 2698 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
bool removeRedundantDbgLocs (const BasicBlock * BB, FunctionVarLocsBuilder & FnVarLocs)Defined at line 2700 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
Error runChecks (Session & S, Triple TT, SubtargetFeatures Features)Defined at line 2700 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
void writeMDNodeBodyInternal (raw_ostream & Out, const MDNode * Node, AsmWriterContext & Ctx)Defined at line 2701 of file llvm/lib/IR/AsmWriter.cpp
-
Instruction * foldShuffleWithInsert (ShuffleVectorInst & Shuf, InstCombinerImpl & IC)Try to replace a shuffle with an insertelement or try to replace a shuffle
operand with the operand of an insertelement.
Defined at line 2703 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
Value * optimizeIntegerToVectorInsertions (BitCastInst & CI, InstCombinerImpl & IC)If the input is an 'or' instruction, we may be doing shifts and ors to
assemble the elements of the vector manually.
Try to rip the code out and replace it with insertelements. This is to
optimize code like this:
%tmp37 = bitcast float %inc to i32
%tmp38 = zext i32 %tmp37 to i64
%tmp31 = bitcast float %inc5 to i32
%tmp32 = zext i32 %tmp31 to i64
%tmp33 = shl i64 %tmp32, 32
%ins35 = or i64 %tmp33, %tmp38
%tmp43 = bitcast i64 %ins35 to
<
2 x float>
Into two insertelements that do "buildvector{%inc, %inc5}".
Defined at line 2705 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
void emitMatchTokenString (CodeGenTarget & Target, int & Infos, raw_ostream & OS)emitMatchTokenString - Emit the function to match a token string to the
appropriate match class value.
Defined at line 2709 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
SimpleValueType getSimpleVT (const unsigned char * MatcherTable, unsigned int & MatcherIndex)getSimpleVT - Decode a value in MatcherTable, if it's a VBR encoded value,
use GetVBR to decode it.
Defined at line 2713 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
void getVFSEntries (RedirectingFileSystem::Entry * SrcE, SmallVectorImpl<StringRef> & Path, SmallVectorImpl<YAMLVFSEntry> & Entries)Defined at line 2713 of file llvm/lib/Support/VirtualFileSystem.cpp
-
DenseSet findVarsWithStackSlot (Function & Fn)Defined at line 2714 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
bool hoistAddSub (Instruction & I, Loop & L, ICFLoopSafetyInfo & SafetyInfo, MemorySSAUpdater & MSSAU, AssumptionCache * AC, DominatorTree * DT)Reassociate and hoist add/sub expressions.
Defined at line 2715 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
InstructionCost computeDomSubtreeCost (DomTreeNode & N, const SmallDenseMap<BasicBlock *, InstructionCost, 4> & BBCostMap, SmallDenseMap<DomTreeNode *, InstructionCost, 4> & DTCostMap)Recursively compute the cost of a dominator subtree based on the per-block
cost map provided.
The recursive computation is memozied into the provided DT-indexed cost map
to allow querying it for most nodes in the domtree without it becoming
quadratic.
Defined at line 2721 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
Instruction * foldSelectFunnelShift (SelectInst & Sel, InstCombiner::BuilderTy & Builder)Try to reduce a funnel/rotate pattern that includes a compare and select
into a funnel shift intrinsic. Example:
rotl32(a, b) --> (b == 0 ? a : ((a >> (32 - b)) | (a
<
<
b)))
--> call llvm.fshl.i32(a, a, b)
fshl32(a, b, c) --> (c == 0 ? a : ((b >> (32 - c)) | (a
<
<
c)))
--> call llvm.fshl.i32(a, b, c)
fshr32(a, b, c) --> (c == 0 ? b : ((a >> (32 - c)) | (b
<
<
c)))
--> call llvm.fshr.i32(a, b, c)
Defined at line 2721 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
void initializeDSELegacyPassPassOnce (PassRegistry & Registry)Defined at line 2723 of file llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
-
bool canEnableCoalescing (SUnit * SU)Defined at line 2729 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
void emitMatchRegisterName (const CodeGenTarget & Target, const Record * AsmParser, raw_ostream & OS)emitMatchRegisterName - Emit the function to match a string to the target
specific register enum.
Defined at line 2729 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
unsigned int getExtendForIntVecReduction (SDNode * N)Defined at line 2730 of file llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
-
Constant * computePointerICmp (CmpPredicate Pred, Value * LHS, Value * RHS, const SimplifyQuery & Q)A significant optimization not implemented here is assuming that alloca
addresses are not equal to incoming argument values. They don't *alias*,
as we say, but that doesn't mean they aren't equal, so we take a
conservative approach.
This is inspired in part by C++11 5.10p1:
"Two pointers of the same type compare equal if and only if they are both
null, both point to the same function, or both represent the same
address."
This is pretty permissive.
It's also partly due to C11 6.5.9p6:
"Two pointers compare equal if and only if both are null pointers, both are
pointers to the same object (including a pointer to an object and a
subobject at its beginning) or function, both are pointers to one past the
last element of the same array object, or one is a pointer to one past the
end of one array object and the other is a pointer to the start of a
different array object that happens to immediately follow the first array
object in the address space.)
C11's version is more restrictive, however there's no reason why an argument
couldn't be a one-past-the-end value for a stack object in the caller and be
equal to the beginning of a stack object in the callee.
If the C and C++ standards are ever made sufficiently restrictive in this
area, it may be possible to update LLVM's semantics accordingly and reinstate
this optimization.
Defined at line 2730 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void analyzeFunction (Function & Fn, const DataLayout & Layout, FunctionVarLocsBuilder * FnVarLocs)Defined at line 2731 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
Instruction * combineConstantOffsets (GetElementPtrInst & GEP, InstCombinerImpl & IC)Combine constant offsets separated by variable offsets.
ptradd (ptradd (ptradd p, C1), x), C2 -> ptradd (ptradd p, x), C1+C2
Defined at line 2735 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
template <class ELFT>Expected<ArrayRef<typename ELFT::Word>> getGnuHashTableChains (optional DynSymRegion, const typename ELFT::GnuHash * GnuHashTable)Defined at line 2736 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
void ProfileDagInit (FoldingSetNodeID & ID, const Init * V, const StringInit * VN, ArrayRef Args, ArrayRef ArgNames)Defined at line 2737 of file llvm/lib/TableGen/Record.cpp
-
Instruction * canonicalizeBitCastExtElt (BitCastInst & BitCast, InstCombinerImpl & IC)Canonicalize scalar bitcasts of extracted elements into a bitcast of the
vector followed by extract element. The backend tends to handle bitcasts of
vectors better than bitcasts of scalars because vector registers are
usually not type-specific like scalar integer or scalar floating-point.
Defined at line 2739 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
bool isReassociableOp (Instruction * I, unsigned int IntOpcode, unsigned int FPOpcode)Defined at line 2745 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
Value * mergeTwoVectors (Value * V0, Value * V1, const DataLayout & DL, Type * NewAIEltTy, IRBuilder<> & Builder)This function takes two vector values and combines them into a single vector
by concatenating their elements. The function handles:
1. Element type mismatch: If either vector's element type differs from
NewAIEltType, the function bitcasts the vector to use NewAIEltType while
preserving the total bit width (adjusting the number of elements
accordingly).
2. Size mismatch: After transforming the vectors to have the desired element
type, if the two vectors have different numbers of elements, the smaller
vector is extended with poison values to match the size of the larger
vector before concatenation.
3. Concatenation: The vectors are merged using a shuffle operation that
places all elements of V0 first, followed by all elements of V1.
Parameters
V0 The first vector to merge (must be a vector type)V1 The second vector to merge (must be a vector type)DL The data layout for size calculationsNewAIEltTy The desired element type for the result vectorBuilder IRBuilder for creating new instructionsReturns
A new vector containing all elements from V0 followed by all
elements from V1
Defined at line 2748 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
bool optimizeGlobalsInModule (Module & M, const DataLayout & DL, function_ref<TargetLibraryInfo &(Function &)> GetTLI, function_ref<TargetTransformInfo &(Function &)> GetTTI, function_ref<BlockFrequencyInfo &(Function &)> GetBFI, function_ref<DominatorTree &(Function &)> LookupDomTree, function_ref<void (Function &)> ChangedCFGCallback, function_ref<void (Function &)> DeleteFnCallback)Defined at line 2749 of file llvm/lib/Transforms/IPO/GlobalOpt.cpp
-
void overlapSampleProfile (const std::string & BaseFilename, const std::string & TestFilename, const OverlapFuncFilters & FuncFilter, uint64_t SimilarityCutoff, raw_fd_ostream & OS)Defined at line 2750 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void printPassName (StringRef PassName, raw_ostream & OS)Defined at line 2755 of file llvm/lib/Passes/PassBuilder.cpp
-
void ARM64EmitRuntimeFunction (MCStreamer & streamer, const WinEH::FrameInfo * info)Defined at line 2755 of file llvm/lib/MC/MCWin64EH.cpp
-
void emitMatchRegisterAltName (const CodeGenTarget & Target, const Record * AsmParser, raw_ostream & OS)Emit the function to match a string to the target
specific register enum.
Defined at line 2757 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
Expected getMainEntryPoint (Session & S)Defined at line 2758 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
void printPassName (StringRef PassName, StringRef Params, raw_ostream & OS)Defined at line 2758 of file llvm/lib/Passes/PassBuilder.cpp
-
bool hoistMulAddAssociation (Instruction & I, Loop & L, ICFLoopSafetyInfo & SafetyInfo, MemorySSAUpdater & MSSAU, AssumptionCache * AC, DominatorTree * DT)Try to reassociate expressions like ((A1 * B1) + (A2 * B2) + ...) * C where
A1, A2, ... and C are loop invariants into expressions like
((A1 * C * B1) + (A2 * C * B2) + ...) and hoist the (A1 * C), (A2 * C), ...
invariant expressions. This functions returns true only if any hoisting has
actually occured.
Defined at line 2760 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
Expected getOrcRuntimeEntryPoint (Session & S)Defined at line 2762 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
VPSingleDefRecipe * findHeaderMask (VPlan & Plan)Collect the header mask with the pattern:
(ICMP_ULE, WideCanonicalIV, backedge-taken-count)
TODO: Introduce explicit recipe for header-mask instead of searching
for the header-mask pattern manually.
Defined at line 2763 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
Instruction * foldBitCastBitwiseLogic (BitCastInst & BitCast, InstCombiner::BuilderTy & Builder)Change the type of a bitwise logic operation if we can eliminate a bitcast.
Defined at line 2766 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
Expected getEntryPoint (Session & S)Defined at line 2769 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
BranchInst * turnSelectIntoBranch (SelectInst * SI, DominatorTree & DT, LoopInfo & LI, MemorySSAUpdater * MSSAU, AssumptionCache * AC)Turns a select instruction into implicit control flow branch,
making the following replacement:
head:
--code before select--
select %cond, %trueval, %falseval
--code after select--
into
head:
--code before select--
br i1 %cond, label %then, label %tail
then:
br %tail
tail:
phi [ %trueval, %then ], [ %falseval, %head]
unreachable
It also makes all relevant DT and LI updates, so that all structures are in
valid state after this transform.
Defined at line 2772 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
void ARMEmitRuntimeFunction (MCStreamer & streamer, const WinEH::FrameInfo * info)Defined at line 2773 of file llvm/lib/MC/MCWin64EH.cpp
-
bool mayBeSRetTailCallCompatible (const TargetLowering::CallLoweringInfo & CLI, Register CallerSRetReg)Defined at line 2774 of file llvm/lib/Target/X86/X86ISelLoweringCall.cpp
-
int overlap_main ()Defined at line 2775 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
void emitOperandDiagnosticTypes (AsmMatcherInfo & Info, raw_ostream & OS)emitOperandDiagnosticTypes - Emit the operand matching diagnostic types.
Defined at line 2788 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
SDValue HandleMergeInputChains (const SmallVectorImpl<SDNode *> & ChainNodesMatched, SDValue InputGlue, SelectionDAG * CurDAG)HandleMergeInputChains - This implements the OPC_EmitMergeInputChains
operation for when the pattern matched at least one node with a chains. The
input vector contains a list of all of the chained nodes that we match. We
must determine if this is a valid thing to cover (i.e. matching it won't
induce cycles in the DAG) and if so, creating a TokenFactor node. that will
be used as the input node chain for the generated nodes.
Defined at line 2788 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
Value * upgradeX86IntrinsicCall (StringRef Name, CallBase * CI, Function * F, IRBuilder<> & Builder)Defined at line 2789 of file llvm/lib/IR/AutoUpgrade.cpp
-
Instruction * foldIdentityPaddedShuffles (ShuffleVectorInst & Shuf)Defined at line 2791 of file llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
-
Instruction * foldSelectToCopysign (SelectInst & Sel, InstCombiner::BuilderTy & Builder)Defined at line 2792 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
void mergeCompatibleInvokesImpl (ArrayRef Invokes, DomTreeUpdater * DTU)Merge all invokes in the provided set, all of which are compatible
as per the `CompatibleSets::shouldBelongToSameSet()`.
Defined at line 2795 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
Expected runWithRuntime (Session & S, ExecutorAddr EntryPointAddr)Defined at line 2799 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
void initializeModuloScheduleTestPassOnce (PassRegistry & Registry)Defined at line 2800 of file llvm/lib/CodeGen/ModuloSchedule.cpp
-
void traverseAllValueSites (const InstrProfRecord & Func, uint32_t VK, ValueSitesStats & Stats, raw_fd_ostream & OS, InstrProfSymtab * Symtab)Defined at line 2803 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
bool shouldDisplayLMA (const ObjectFile & Obj)Returns true if we need to show LMA column when dumping section headers. We
show it only when the platform is ELF and either we have at least one section
whose VMA and LMA are different and/or when --show-lma flag is used.
Defined at line 2810 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void emitGetSubtargetFeatureName (AsmMatcherInfo & Info, raw_ostream & OS)emitGetSubtargetFeatureName - Emit the helper function to get the
user-level name for a subtarget feature.
Defined at line 2811 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
int SymbolizerGetOpInfo (void * DisInfo, uint64_t Pc, uint64_t Offset, uint64_t OpSize, uint64_t InstSize, int TagType, void * TagBuf)SymbolizerGetOpInfo() is the operand information call back function.
This is called to get the symbolic information for operand(s) of an
instruction when it is being done. This routine does this from
the relocation information, symbol table, etc. That block of information
is a pointer to the struct DisassembleInfo that was passed when the
disassembler context was created and passed to back to here when
called back by the disassembler for instruction operands that could have
relocation information. The address of the instruction containing operand is
at the Pc parameter. The immediate value the operand has is passed in
op_info->Value and is at Offset past the start of the instruction and has a
byte Size of 1, 2 or 4. The symbolc information is returned in TagBuf is the
LLVMOpInfo1 struct defined in the header "llvm-c/Disassembler.h" as symbol
names and addends of the symbolic expression to add for the operand. The
value of TagType is currently 1 (for the LLVMOpInfo1 struct). If symbolic
information is returned then this function returns 1 else it returns 0.
Defined at line 2812 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void initializeAssignmentTrackingAnalysisPassOnce (PassRegistry & Registry)Defined at line 2815 of file llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
-
Expected runWithoutRuntime (Session & S, ExecutorAddr EntryPointAddr)Defined at line 2815 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
void parseSymbolString (StringRef S, int & Cycle, int & Stage)Defined at line 2818 of file llvm/lib/CodeGen/ModuloSchedule.cpp
-
size_t getMaxSectionNameWidth (const ObjectFile & Obj)Defined at line 2819 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
SDValue foldAddSubOfSignBit (SDNode * N, const SDLoc & DL, SelectionDAG & DAG)Try to fold a 'not' shifted sign-bit with add/sub with constant operand into
a shift and add with a different constant.
Defined at line 2820 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
BranchInst * turnGuardIntoBranch (IntrinsicInst * GI, Loop & L, DominatorTree & DT, LoopInfo & LI, MemorySSAUpdater * MSSAU)Turns a llvm.experimental.guard intrinsic into implicit control flow branch,
making the following replacement:
--code before guard--
call void (i1, ...)
.experimental.guard(i1 %cond) [ "deopt"() ]
--code after guard--
into
--code before guard--
br i1 %cond, label %guarded, label %deopt
guarded:
--code after guard--
deopt:
call void (i1, ...)
.experimental.guard(i1 false) [ "deopt"() ]
unreachable
It also makes all relevant DT and LI updates, so that all structures are in
valid state after this transform.
Defined at line 2823 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
bool isGEPKnownNonNull (const GEPOperator * GEP, const SimplifyQuery & Q, unsigned int Depth)Test whether a GEP's result is known to be non-null.
Uses properties inherent in a GEP to try to determine whether it is known
to be non-null.
Currently this routine does not support vector GEPs.
Defined at line 2825 of file llvm/lib/Analysis/ValueTracking.cpp
-
void EmitGICombiner (const RecordKeeper & RK, raw_ostream & OS)===----------------------------------------------------------------------===//
Defined at line 2828 of file llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
-
basic_string GetAliasRequiredFeatures (const Record * R, const AsmMatcherInfo & Info)Defined at line 2832 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
void showValueSitesStats (raw_fd_ostream & OS, uint32_t VK, ValueSitesStats & Stats)Defined at line 2837 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
Instruction * foldBitCastSelect (BitCastInst & BitCast, InstCombiner::BuilderTy & Builder)Change the type of a select if we can eliminate a bitcast.
Defined at line 2838 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
void emitMnemonicAliasVariant (raw_ostream & OS, const AsmMatcherInfo & Info, ArrayRef<const Record *> Aliases, unsigned int Indent, StringRef AsmParserVariantName)Defined at line 2850 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
int showInstrProfile (ShowFormat SFormat, raw_fd_ostream & OS)Defined at line 2851 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
bool OnlyOnRHSOfCommutative (const TreePatternNode & N)OnlyOnRHSOfCommutative - Return true if this value is only allowed on the
RHS of a commutative operation, not the on LHS.
Defined at line 2855 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
bool canClobberReachingPhysRegUse (const SUnit * DepSU, const SUnit * SU, ScheduleDAGRRList * scheduleDAG, const TargetInstrInfo * TII, const TargetRegisterInfo * TRI)canClobberReachingPhysRegUse - True if SU would clobber one of it's
successor's explicit physregs whose definition can reach DepSU.
i.e. DepSU should not be scheduled above SU.
Defined at line 2856 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
template <typename Op0_t, typename Op1_t>RemoveMask_match<Op0_t, Op1_t> m_RemoveMask (const Op0_t & In, Op1_t & Out)Match a specific mask
or a combination of it (logical-and In, Out).
Returns the remaining part
if so, or nullptr otherwise.
Defined at line 2860 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
bool areBitwiseNotOfEachother (SDValue Op0, SDValue Op1)Defined at line 2860 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool hoistBOAssociation (Instruction & I, Loop & L, ICFLoopSafetyInfo & SafetyInfo, MemorySSAUpdater & MSSAU, AssumptionCache * AC, DominatorTree * DT)Reassociate associative binary expressions of the form
1. "(LV op C1) op C2" ==> "LV op (C1 op C2)"
2. "(C1 op LV) op C2" ==> "LV op (C1 op C2)"
3. "C2 op (C1 op LV)" ==> "LV op (C1 op C2)"
4. "C2 op (LV op C1)" ==> "LV op (C1 op C2)"
where op is an associative BinOp, LV is a loop variant, and C1 and C2 are
loop invariants that we want to hoist, noting that associativity implies
commutativity.
Defined at line 2863 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
bool mayFoldIntoVector (SDValue Op, const X86Subtarget & Subtarget, bool AssumeSingleUse)Return true if its cheap to bitcast this to a vector type.
Defined at line 2864 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Value * simplifyICmpOfBools (CmpPredicate Pred, Value * LHS, Value * RHS, const SimplifyQuery & Q)Fold an icmp when its operands have i1 scalar type.
Defined at line 2867 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
template <typename Ty>match_LoopInvariant<Ty> m_LoopInvariant (const Ty & M, const Loop * L)Matches if the value is loop-invariant.
Defined at line 2872 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
VPRecipeBase * optimizeMaskToEVL (VPValue * HeaderMask, VPRecipeBase & CurRecipe, VPTypeAnalysis & TypeInfo, VPValue & EVL)Try to optimize a
masked by
to a corresponding
EVL-based recipe without the header mask. Returns nullptr if no EVL-based
recipe could be created.
Header Mask.
Recipe to be transform.
VPlan-based type analysis.
The explicit vector length parameter of vector-predication
intrinsics.
Defined at line 2873 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
bool isLogicOp (unsigned int Opcode)Defined at line 2874 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
AttributeMask getParamAndReturnAttributesToRemove ()List of all parameter and return attributes which must be stripped when
lowering from the abstract machine model. Note that we list attributes
here which aren't valid as return attributes, that is okay.
Defined at line 2878 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool isTargetShuffle (unsigned int Opcode)Defined at line 2879 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool hasStoreUsersOnly (CastInst & CI)Check if all users of CI are StoreInsts.
Defined at line 2881 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
Register findUniqueOperandDefinedInLoop (const MachineInstr & MI)Defined at line 2882 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
bool isIntrinsicOrLFToBeTailCalled (const TargetLibraryInfo * TLInfo, const CallInst * CI)Defined at line 2883 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
int CalculateUnswitchCostMultiplier (const Instruction & TI, const Loop & L, const LoopInfo & LI, const DominatorTree & DT, ArrayRef UnswitchCandidates)Cost multiplier is a way to limit potentially exponential behavior
of loop-unswitch. Cost is multiplied in proportion of 2^number of unswitch
candidates available. Also consider the number of "sibling" loops with
the idea of accounting for previous unswitches that already happened on this
cluster of loops. There was an attempt to keep this formula simple,
just enough to limit the worst case behavior. Even if it is not that simple
now it is still not an attempt to provide a detailed heuristic size
prediction.
TODO: Make a proper accounting of "explosion" effect for all kinds of
unswitch candidates, making adequate predictions instead of wild guesses.
That requires knowing not just the number of "remaining" candidates but
also costs of unswitching for each of these candidates.
Defined at line 2883 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
bool isKnownNonNullFromDominatingCondition (const Value * V, const Instruction * CtxI, const DominatorTree * DT)Defined at line 2889 of file llvm/lib/Analysis/ValueTracking.cpp
-
void stripNonValidAttributesFromPrototype (Function & F)Defined at line 2890 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void TestEscaped (StringRef Input, StringRef Expected)Defined at line 2892 of file llvm/unittests/Support/YAMLIOTest.cpp
-
bool canClobberPhysRegDefs (const SUnit * SuccSU, const SUnit * SU, const TargetInstrInfo * TII, const TargetRegisterInfo * TRI)canClobberPhysRegDefs - True if SU would clobber one of SuccSU's
physical register defs.
Defined at line 2892 of file llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
-
bool detectShiftUntilBitTestIdiom (Loop * CurLoop, Value *& BaseX, Value *& BitMask, Value *& BitPos, Value *& CurrX, Instruction *& NextX)Return true if the idiom is detected in the loop.
The core idiom we are trying to detect is:
Code
entry: <...> %bitmask = shl i32 1, %bitpos br label %loop loop: %x.curr = phi i32 [ %x, %entry ], [ %x.next, %loop ] %x.curr.bitmasked = and i32 %x.curr, %bitmask %x.curr.isbitunset = icmp eq i32 %x.curr.bitmasked, 0 %x.next = shl i32 %x.curr, 1 <...> br i1 %x.curr.isbitunset, label %loop, label %end end: %x.curr.res = phi i32 [ %x.curr, %loop ] <...> %x.next.res = phi i32 [ %x.next, %loop ] <...> <...>Defined at line 2898 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
bool findLoopIncrementValue (const MachineOperand & Op, int & Value)When Op is a value that is incremented recursively in a loop and there is a
unique instruction that increments it, returns true and sets Value.
Defined at line 2900 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
bool isAllZeros (StringRef Arr)Return true if the array is empty or all zeros.
Defined at line 2908 of file llvm/lib/IR/Constants.cpp
-
bool CheckSame (const unsigned char * MatcherTable, unsigned int & MatcherIndex, SDValue N, const SmallVectorImpl<std::pair<SDValue, SDNode *>> & RecordedNodes)CheckSame - Implements OP_CheckSame.
Defined at line 2917 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
void stripInvalidMetadataFromInstruction (Instruction & I)Certain metadata on instructions are invalid after running RS4GC.
Optimizations that run after RS4GC can incorrectly use this metadata to
optimize functions. We drop such metadata on the instruction.
Defined at line 2918 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
Instruction * foldSelectToPhiImpl (SelectInst & Sel, BasicBlock * BB, const DominatorTree & DT, InstCombiner::BuilderTy & Builder)Defined at line 2920 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool isTargetShuffleVariableMask (unsigned int Opcode)Defined at line 2922 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void combineMetadata (Instruction * K, const Instruction * J, bool DoesKMove, bool AAOnly)If AAOnly is set, only intersect alias analysis metadata and preserve other
known metadata. Unknown metadata is always dropped.
Defined at line 2922 of file llvm/lib/Transforms/Utils/Local.cpp
-
bool CheckChildSame (const unsigned char * MatcherTable, unsigned int & MatcherIndex, SDValue N, const SmallVectorImpl<std::pair<SDValue, SDNode *>> & RecordedNodes, unsigned int ChildNo)CheckChildSame - Implements OP_CheckChildXSame.
Defined at line 2927 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
Value * getLoopVariantGEPOperand (Value * Ptr, ScalarEvolution * SE, Loop * Lp)If
is a GEP, which has a loop-variant operand, return that operand.
Otherwise, return
Defined at line 2929 of file llvm/lib/Analysis/LoopAccessAnalysis.cpp
-
bool emitMnemonicAliases (raw_ostream & OS, const AsmMatcherInfo & Info, CodeGenTarget & Target)emitMnemonicAliases - If the target has any MnemonicAlias
<
> definitions,
emit a function for them and return true, otherwise return false.
Defined at line 2929 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
bool CheckPatternPredicate (unsigned int Opcode, const unsigned char * MatcherTable, unsigned int & MatcherIndex, const SelectionDAGISel & SDISel)CheckPatternPredicate - Implements OP_CheckPatternPredicate.
Defined at line 2938 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
PubIndexEntryDescriptor computeIndexValue (DwarfUnit * CU, const DIE * Die)computeIndexValue - Compute the gdb index value for the DIE and CU.
Defined at line 2943 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
Expected jumpToValueSymbolTable (uint64_t Offset, BitstreamCursor & Stream)Helper to note and return the current location, and jump to the given
offset.
Defined at line 2945 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
void stripNonValidDataFromBody (Function & F)Defined at line 2946 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool mergeCompatibleInvokes (BasicBlock * BB, DomTreeUpdater * DTU)If this block is a `landingpad` exception handling block, categorize all
the predecessor `invoke`s into sets, with all `invoke`s in each set
being "mergeable" together, and then merge invokes in each set together.
This is a weird mix of hoisting and sinking. Visually, it goes from:
[...] [...]
| |
[invoke0] [invoke1]
/
\
/
\
/// [cont0] [landingpad] [cont1]
to:
[...] [...]
\
/
[invoke]
/
\
/// [cont] [landingpad]
But of course we can only do that if the invokes share the `landingpad`,
edges invoke0->cont0 and invoke1->cont1 are "compatible",
and the invoked functions are "compatible".
Defined at line 2948 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
const SCEV * getStrideFromPointer (Value * Ptr, ScalarEvolution * SE, Loop * Lp)Get the stride of a pointer access in a loop. Looks for symbolic
strides "a[i*stride]". Returns the symbolic stride, or null otherwise.
Defined at line 2950 of file llvm/lib/Analysis/LoopAccessAnalysis.cpp
-
bool CheckNodePredicate (unsigned int Opcode, const unsigned char * MatcherTable, unsigned int & MatcherIndex, const SelectionDAGISel & SDISel, SDValue Op)CheckNodePredicate - Implements OP_CheckNodePredicate.
Defined at line 2953 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
Instruction * getSuccPad (Instruction * Terminator)Defined at line 2953 of file llvm/lib/IR/Verifier.cpp
-
bool CheckOpcode (const unsigned char * MatcherTable, unsigned int & MatcherIndex, SDNode * N)Defined at line 2963 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
bool isTrigLibCall (CallInst * CI)Defined at line 2964 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
Instruction * foldFNegIntoConstant (Instruction & I, const DataLayout & DL)This eliminates floating-point negation in either 'fneg(X)' or
'fsub(-0.0, X)' form by combining into a constant operand.
Defined at line 2964 of file llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
-
void transformRecipestoEVLRecipes (VPlan & Plan, VPValue & EVL)Replace recipes with their EVL variants.
Defined at line 2965 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
Value * simplifyICmpWithZero (CmpPredicate Pred, Value * LHS, Value * RHS, const SimplifyQuery & Q)Try hard to fold icmp with zero RHS because this is a common case.
Defined at line 2970 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool CheckType (SimpleValueType VT, SDValue N, const TargetLowering * TLI, const DataLayout & DL)Defined at line 2971 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
bool insertSinCosCall (IRBuilderBase & B, Function * OrigCallee, Value * Arg, bool UseFloat, Value *& Sin, Value *& Cos, Value *& SinCos, const TargetLibraryInfo * TLI)Defined at line 2971 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
User::op_iterator findIVOperand (User::op_iterator OI, User::op_iterator OE, Loop * L, ScalarEvolution & SE)Helper for CollectChains that finds an IV operand (computed by an AddRec in
this loop) within [OI,OE) or returns OE. If IVUsers mapped Instructions to
IVStrideUses, we could partially skip this.
Defined at line 2973 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
void emitCustomOperandParsing (raw_ostream & OS, CodeGenTarget & Target, const AsmMatcherInfo & Info, StringRef ClassName, const StringToOffsetTable & StringTable, unsigned int MaxMnemonicIndex, unsigned int MaxFeaturesIndex, bool HasMnemonicFirst, const Record & AsmParser)Defined at line 2974 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
bool collectUnswitchCandidates (SmallVectorImpl<NonTrivialUnswitchCandidate> & UnswitchCandidates, IVConditionInfo & PartialIVInfo, Instruction *& PartialIVCondBranch, const Loop & L, const LoopInfo & LI, AAResults & AA, const MemorySSAUpdater * MSSAU)Defined at line 2976 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
bool isAMustTailRetVal (Value * RetVal)Defined at line 2979 of file llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
-
Instruction * foldSelectToPhi (SelectInst & Sel, const DominatorTree & DT, InstCombiner::BuilderTy & Builder)Defined at line 2981 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool CheckChildType (SimpleValueType VT, SDValue N, const TargetLowering * TLI, const DataLayout & DL, unsigned int ChildNo)Defined at line 2982 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
bool rangeMetadataExcludesValue (const MDNode * Ranges, const APInt & Value)Does the 'Range' metadata (which must be a valid MD_range operand list)
ensure that the value it's attached to is never Value? 'RangeType' is
is the type of the value described by the range.
Defined at line 2988 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool isX86CCSigned (CondCode X86CC)Return true if the condition is an signed comparison operation.
Defined at line 2989 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool CheckCondCode (const unsigned char * MatcherTable, unsigned int & MatcherIndex, SDValue N)Defined at line 2990 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
Value * getWideOperand (Value * Oper)IVChain logic must consistently peek base TruncInst operands, so wrap it in
a convenient helper.
Defined at line 2993 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
bool CheckChild2CondCode (const unsigned char * MatcherTable, unsigned int & MatcherIndex, SDValue N)Defined at line 2997 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
Instruction * foldSelectWithSRem (SelectInst & SI, InstCombinerImpl & IC, IRBuilderBase & Builder)Tries to reduce a pattern that arises when calculating the remainder of the
Euclidean division. When the divisor is a power of two and is guaranteed not
to be negative, a signed remainder can be folded with a bitwise and.
(x % n)
<
0 ? (x % n) + n : (x % n)
-> x
&
(n - 1)
Defined at line 3002 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool CheckValueType (const unsigned char * MatcherTable, unsigned int & MatcherIndex, SDValue N, const TargetLowering * TLI, const DataLayout & DL)Defined at line 3005 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
bool isNonZeroRecurrence (const PHINode * PN)Try to detect a recurrence that monotonically increases/decreases from a
non-zero starting value. These are common as induction variables.
Defined at line 3005 of file llvm/lib/Analysis/ValueTracking.cpp
-
CondCode TranslateIntegerX86CC (CondCode SetCCOpcode)Defined at line 3008 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
const SCEV * getExprBase (const SCEV * S)Return an approximation of this SCEV expression's "base", or NULL for any
constant. Returning the expression itself is conservative. Returning a
deeper subexpression is more precise and valid as long as it isn't less
complex than another subexpression. For expressions involving multiple
unscaled values, we need to return the pointer-type SCEVUnknown. This avoids
forming chains across objects, such as: PrevOper==a[i], IVOper==b[i],
IVInc==b-a.
Since SCEVUnknown is the rightmost type, and pointers are the rightmost
SCEVUnknown, we simply return the rightmost SCEV operand.
Defined at line 3009 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
uint64_t decodeSignRotatedValue (uint64_t V)Bit 0 stores the sign of the immediate. The upper bits contain the magnitude
shifted left by 1.
Defined at line 3018 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
bool CheckInteger (const unsigned char * MatcherTable, unsigned int & MatcherIndex, SDValue N)Defined at line 3027 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
Value * optimizeSymmetricCall (CallInst * CI, bool IsEven, IRBuilderBase & B)Defined at line 3027 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
CondCode TranslateX86CC (CondCode SetCCOpcode, const SDLoc & DL, bool isFP, SDValue & LHS, SDValue & RHS, SelectionDAG & DAG)Do a one-to-one translation of a ISD::CondCode to the X86-specific
condition code, returning the condition code and the LHS/RHS of the
comparison to make.
Defined at line 3029 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Value * simplifyICmpWithConstant (CmpPredicate Pred, Value * LHS, Value * RHS, const SimplifyQuery & Q)Defined at line 3030 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void scalarizeInstruction (const Instruction * Instr, VPReplicateRecipe * RepRecipe, const VPLane & Lane, VPTransformState & State)A helper function to scalarize a single Instruction in the innermost loop.
Generates a sequence of scalar instances for lane
Uses the VPValue
operands from
instead of
operands.
Defined at line 3031 of file llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
-
Value * isSafeToSpeculateStore (Instruction * I, BasicBlock * BrBB, BasicBlock * StoreBB, BasicBlock * EndBB)Determine if we can hoist sink a sole store instruction out of a
conditional block.
We are looking for code like the following:
BrBB:
store i32 %add, i32* %arrayidx2
... // No other stores or function calls (we could be calling a memory
... // function).
%cmp = icmp ult %x, %y
br i1 %cmp, label %EndBB, label %ThenBB
ThenBB:
store i32 %add5, i32* %arrayidx2
br label EndBB
EndBB:
...
We are going to transform this into:
BrBB:
store i32 %add, i32* %arrayidx2
... //
%cmp = icmp ult %x, %y
%add.add5 = select i1 %cmp, i32 %add, %add5
store i32 %add.add5, i32* %arrayidx2
...
Returns
The pointer to the value of the previous store if the store can be
hoisted into the predecessor block. 0 otherwise.
Defined at line 3031 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool matchOpWithOpEqZero (Value * Op0, Value * Op1)Defined at line 3033 of file llvm/lib/Analysis/ValueTracking.cpp
-
Value * createLogicFromTable (const std::bitset<4> & Table, Value * Op0, Value * Op1, IRBuilderBase & Builder, bool HasOneUse)Defined at line 3038 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
bool CheckChildInteger (const unsigned char * MatcherTable, unsigned int & MatcherIndex, SDValue N, unsigned int ChildNo)Defined at line 3040 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
bool isNonZeroAdd (const APInt & DemandedElts, const SimplifyQuery & Q, unsigned int BitWidth, Value * X, Value * Y, bool NSW, bool NUW, unsigned int Depth)Defined at line 3040 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool shouldCanonicalizeGEPToPtrAdd (GetElementPtrInst & GEP)Return true if we should canonicalize the gep to an i8 ptradd.
Defined at line 3042 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
bool CheckAndImm (const unsigned char * MatcherTable, unsigned int & MatcherIndex, SDValue N, const SelectionDAGISel & SDISel)Defined at line 3048 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
uint64_t umul_ov (uint64_t i, uint64_t j, bool & Overflow)Defined at line 3049 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
Value * simplifyNestedSelectsUsingImpliedCond (SelectInst & SI, Value * CondVal, bool CondIsTrue, const DataLayout & DL)Given that
is known to be
try to simplify
Defined at line 3052 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
uint64_t Choose (uint64_t n, uint64_t k, bool & Overflow)Compute the result of "n choose k", the binomial coefficient. If an
intermediate computation overflows, Overflow will be set and the return will
be garbage. Overflow is not cleared on absence of overflow.
Defined at line 3058 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
bool CheckOrImm (const unsigned char * MatcherTable, unsigned int & MatcherIndex, SDValue N, const SelectionDAGISel & SDISel)Defined at line 3061 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
Value * foldCopySignIdioms (BitCastInst & CI, InstCombiner::BuilderTy & Builder, const SimplifyQuery & SQ)Fold (bitcast (or (and (bitcast X to int), signmask), nneg Y) to fp) to
copysign((bitcast Y to fp), X)
Defined at line 3067 of file llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
-
Instruction * foldGEPOfPhi (GetElementPtrInst & GEP, PHINode * PN, IRBuilderBase & Builder)Defined at line 3071 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
void canonicalizeForInvariantConditionInjection (CmpPredicate & Pred, Value *& LHS, Value *& RHS, BasicBlock *& IfTrue, BasicBlock *& IfFalse, const Loop & L)Tries to canonicalize condition described by:
br (LHS pred RHS), label IfTrue, label IfFalse
into its equivalent where `Pred` is something that we support for injected
invariants (so far it is limited to ult), LHS in canonicalized form is
non-invariant and RHS is an invariant.
Defined at line 3072 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
SDValue getLoadStackGuard (SelectionDAG & DAG, const SDLoc & DL, SDValue & Chain)Create a LOAD_STACK_GUARD node, and let it carry the target specific global
variable if there exists one.
Defined at line 3076 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
bool isProfitableChain (IVChain & Chain, SmallPtrSetImpl<Instruction *> & Users, ScalarEvolution & SE, const TargetTransformInfo & TTI)Return true if the number of registers needed for the chain is estimated to
be less than the number required for the individual IV users. First prohibit
any IV users that keep the IV live across increments (the Users set should
be empty). Next count the number and type of increments in the chain.
Chaining IVs can lead to considerable code bloat if ISEL doesn't
effectively use postinc addressing modes. Only consider it profitable it the
increments can be computed in fewer registers when chained.
TODO: Consider IVInc free if it's already used in another chains.
Defined at line 3076 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
unsigned int IsPredicateKnownToFail (const unsigned char * Table, unsigned int Index, SDValue N, bool & Result, const SelectionDAGISel & SDISel, SmallVectorImpl<std::pair<SDValue, SDNode *>> & RecordedNodes)IsPredicateKnownToFail - If we know how and can do so without pushing a
scope, evaluate the current node. If the current predicate is known to
fail, set Result=true and return anything. If the current predicate is
known to pass, set Result=false and return the MatcherIndex to continue
with. If the current predicate is unknown, set Result=false and return the
MatcherIndex to continue with.
Defined at line 3080 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
-
Instruction * foldSelectWithFCmpToFabs (SelectInst & SI, InstCombinerImpl & IC)Canonicalize select with fcmp to fabs(). -0.0 makes this tricky. We need
fast-math-flags (nsz) or fsub with +0.0 (not fneg) for this to work.
Defined at line 3082 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool functionsHaveCompatibleAttributes (Function * Caller, Function * Callee, TargetTransformInfo & TTI, function_ref<const TargetLibraryInfo &(Function &)> & GetTLI)Test that there are no attribute conflicts between Caller and Callee
that prevent inlining.
Defined at line 3083 of file llvm/lib/Analysis/InlineCost.cpp
-
bool containsConstantInAddMulChain (const SCEV * StartExpr)Determine if any of the operands in this SCEV are a constant or if
any of the add or multiply expressions in this SCEV contain a constant.
Defined at line 3083 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void getUnsignedMonotonicValues (SmallPtrSetImpl<Value *> & Res, Value * V, MonotonicType Type, const SimplifyQuery & Q, unsigned int Depth)Get values V_i such that V uge V_i (GreaterEq) or V ule V_i (LowerEq).
Defined at line 3084 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool isNonZeroSub (const APInt & DemandedElts, const SimplifyQuery & Q, unsigned int BitWidth, Value * X, Value * Y, unsigned int Depth)Defined at line 3086 of file llvm/lib/Analysis/ValueTracking.cpp
-
void showSectionInfo (sampleprof::SampleProfileReader * Reader, raw_fd_ostream & OS)Defined at line 3092 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
bool validateAndCostRequiredSelects (BasicBlock * BB, BasicBlock * ThenBB, BasicBlock * EndBB, unsigned int & SpeculatedInstructions, InstructionCost & Cost, const TargetTransformInfo & TTI)Estimate the cost of the insertion(s) and check that the PHI nodes can be
converted to selects.
Defined at line 3094 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool shouldTryInjectInvariantCondition (Predicate Pred, const Value * LHS, const Value * RHS, const BasicBlock * IfTrue, const BasicBlock * IfFalse, const Loop & L)Returns true, if predicate described by (
)
succeeding into blocks (
can be optimized by
injecting a loop-invariant condition.
Defined at line 3100 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
bool isNonZeroMul (const APInt & DemandedElts, const SimplifyQuery & Q, unsigned int BitWidth, Value * X, Value * Y, bool NSW, bool NUW, unsigned int Depth)Defined at line 3102 of file llvm/lib/Analysis/ValueTracking.cpp
-
Instruction * matchFunnelShift (Instruction & Or, InstCombinerImpl & IC)Match UB-safe variants of the funnel shift intrinsic.
Defined at line 3111 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool hasFPCMov (unsigned int X86CC)Is there a floating point cmov for the specific X86 condition code?
Current x86 isa includes the following FP cmov instructions:
fcmovb, fcomvbe, fcomve, fcmovu, fcmovae, fcmova, fcmovne, fcmovnu.
Defined at line 3112 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isConvertibleLEA (MachineInstr * MI)Defined at line 3118 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool shouldTryInjectBasingOnMetadata (const BranchInst * BI, const BasicBlock * TakenSucc)Returns true, if metadata on
allows us to optimize branching into
via injection of invariant conditions. The branch should be not
enough and not previously unswitched, the information about this comes from
the metadata.
Defined at line 3122 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
APInt getKnownUndefForVectorBinop (SDValue BO, SelectionDAG & DAG, const APInt & UndefOp0, const APInt & UndefOp1)Given a vector binary operation and known undefined elements for each input
operand, compute whether each element of the output is undefined.
Defined at line 3123 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
void dumpHotFunctionList (const std::vector<std::string> & ColumnTitle, const std::vector<int> & ColumnOffset, const std::vector<HotFuncInfo> & PrintValues, uint64_t HotFuncCount, uint64_t TotalFuncCount, uint64_t HotProfCount, uint64_t TotalProfCount, const std::string & HotFuncMetric, uint32_t TopNFunctions, raw_fd_ostream & OS)Print out detailed information about hot functions in PrintValues vector.
Users specify titles and offset of every columns through ColumnTitle and
ColumnOffset. The size of ColumnTitle and ColumnOffset need to be the same
and at least 4. Besides, users can optionally give a HotFuncMetric string to
print out or let it be an empty string.
Defined at line 3123 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
Value * matchOrConcat (Instruction & Or, InstCombiner::BuilderTy & Builder)Attempt to combine or(zext(x),shl(zext(y),bw/2) concat packing patterns.
Defined at line 3123 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool useVPTERNLOG (const X86Subtarget & Subtarget, MVT VT)Defined at line 3128 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
const SCEV * getAddressAccessSCEV (const VPValue * Ptr, PredicatedScalarEvolution & PSE, const Loop * L)Returns a SCEV expression for
if it is a pointer computation for
which the legacy cost model computes a SCEV expression when computing the
address cost. Computing SCEVs for VPValues is incomplete and returns
SCEVCouldNotCompute in cases the legacy cost model can compute SCEVs. In
those cases we fall back to the legacy cost model. Otherwise return nullptr.
Defined at line 3129 of file llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
-
bool isNonZeroShift (const Operator * I, const APInt & DemandedElts, const SimplifyQuery & Q, const KnownBits & KnownVal, unsigned int Depth)Defined at line 3130 of file llvm/lib/Analysis/ValueTracking.cpp
-
Value * simplifyICmpUsingMonotonicValues (CmpPredicate Pred, Value * LHS, Value * RHS, const SimplifyQuery & Q)Defined at line 3135 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool isUsableDebugLoc (DebugLoc DL)Usable locations are valid with non-zero line numbers. A line number of zero
corresponds to optimized code that doesn't have a distinct source location.
In this case, we try to use the previous or next source location depending on
the context.
Defined at line 3140 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
void emitAsmTiedOperandConstraints (CodeGenTarget & Target, AsmMatcherInfo & Info, raw_ostream & OS, bool HasOptionalOperands)Defined at line 3146 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
bool isProfitableToSpeculate (const BranchInst * BI, optional Invert, const TargetTransformInfo & TTI)Defined at line 3148 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool isUsedByLoadStoreAddress (const VPUser * V)Returns true if
is used as part of the address of another load or
store.
Defined at line 3149 of file llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
-
void printUnwindInfo (const ObjectFile * O)Defined at line 3152 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
Value * simplifyICmpWithBinOpOnLHS (CmpPredicate Pred, BinaryOperator * LBO, Value * RHS, const SimplifyQuery & Q, unsigned int MaxRecurse)Defined at line 3154 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool parseIRValue (const MIToken & Token, PerFunctionMIParsingState & PFS, const Value *& V, ErrorCallbackType ErrCB)Defined at line 3159 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
NonTrivialUnswitchCandidate injectPendingInvariantConditions (NonTrivialUnswitchCandidate Candidate, Loop & L, DominatorTree & DT, LoopInfo & LI, AssumptionCache & AC, MemorySSAUpdater * MSSAU)Materialize pending invariant condition of the given candidate into IR. The
injected loop-invariant condition implies the original loop-variant branch
condition, so the materialization turns
loop_block:
...
br i1 %variant_cond, label InLoopSucc, label OutOfLoopSucc
into
preheader:
%invariant_cond = LHS pred RHS
...
loop_block:
br i1 %invariant_cond, label InLoopSucc, label OriginalCheck
OriginalCheck:
br i1 %variant_cond, label InLoopSucc, label OutOfLoopSucc
...
Defined at line 3161 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
bool parseHexOcta (AsmParser & Asm, uint64_t & hi, uint64_t & lo)Defined at line 3163 of file llvm/lib/MC/MCParser/AsmParser.cpp
-
void printRawClangAST (const ObjectFile * Obj)Dump the raw contents of the __clangast section so the output can be piped
into llvm-bcanalyzer.
Defined at line 3168 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
int showHotFunctionList (const sampleprof::SampleProfileMap & Profiles, ProfileSummary & PS, uint32_t TopN, raw_fd_ostream & OS)Defined at line 3173 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
bool isKnownNonZeroFromOperator (const Operator * I, const APInt & DemandedElts, const SimplifyQuery & Q, unsigned int Depth)Defined at line 3181 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool areInverseVectorBitmasks (Constant * C1, Constant * C2)If all elements of two constant vectors are 0/-1 and inverses, return true.
Defined at line 3186 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool SimplifyTree (TreePatternNodePtr & N)SimplifyTree - See if we can simplify this tree to eliminate something that
will never match in favor of something obvious that will. This is here
strictly as a convenience to target authors because it allows them to write
more type generic things and have useless type casts fold away.
This returns true if any change is made.
Defined at line 3186 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
void computeLiveInValues (ilist_iterator_w_bits Begin, ilist_iterator_w_bits End, int & LiveTmp, GCStrategy * GC)Compute the live-in set for the location rbegin starting from
the live-out set of the basic block
Defined at line 3190 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
StringRef getSymbolName (SymbolKind SymKind)Defined at line 3191 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
basic_string gtest_IsBytewiseValueParamTestsIsBytewiseValueTest_EvalGenerateName_ (const ::testing::TestParamInfo<IsBytewiseValueTest::ParamType> & info)Defined at line 3192 of file llvm/unittests/Analysis/ValueTrackingTest.cpp
-
ParamGenerator gtest_IsBytewiseValueParamTestsIsBytewiseValueTest_EvalGenerator_ ()Defined at line 3192 of file llvm/unittests/Analysis/ValueTrackingTest.cpp
-
void emitMnemonicSpellChecker (raw_ostream & OS, CodeGenTarget & Target, unsigned int VariantCount)Defined at line 3195 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
template <typename ShouldReplaceFn>unsigned int replaceDominatedUsesWith (Value * From, Value * To, const ShouldReplaceFn & ShouldReplace)Defined at line 3200 of file llvm/lib/Transforms/Utils/Local.cpp
-
void printFaultMaps (const ObjectFile * Obj)Defined at line 3204 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
bool HasNestArgument (const MachineFunction * MF)Defined at line 3216 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
void computeLiveOutSeed (BasicBlock * BB, int & LiveTmp, GCStrategy * GC)Defined at line 3223 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
unsigned int computeBytesPoppedByCalleeForSRet (const X86Subtarget * Subtarget, CallingConv::ID CC, const CallBase * CB)Defined at line 3223 of file llvm/lib/Target/X86/X86FastISel.cpp
-
Value * foldRoundUpIntegerWithPow2Alignment (SelectInst & SI, InstCombiner::BuilderTy & Builder)Match the following IR pattern:
%x.lowbits = and i8 %x, %lowbitmask
%x.lowbits.are.zero = icmp eq i8 %x.lowbits, 0
%x.biased = add i8 %x, %bias
%x.biased.highbits = and i8 %x.biased, %highbitmask
%x.roundedup = select i1 %x.lowbits.are.zero, i8 %x, i8 %x.biased.highbits
Define:
%alignment = add i8 %lowbitmask, 1
Iff 1. an %alignment is a power-of-two (aka, %lowbitmask is a low bit mask)
and 2. %bias is equal to either %lowbitmask or %alignment,
and 3. %highbitmask is equal to ~%lowbitmask (aka, to -%alignment)
then this pattern can be transformed into:
%x.offset = add i8 %x, %lowbitmask
%x.roundedup = and i8 %x.offset, %highbitmask
Defined at line 3225 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
const char * GuessCstringPointer (uint64_t ReferenceValue, struct DisassembleInfo * info)GuessCstringPointer is passed the address of what might be a pointer to a
literal string in a cstring section. If that address is in a cstring section
it returns a pointer to that string. Else it returns nullptr.
Defined at line 3227 of file llvm/tools/llvm-objdump/MachODump.cpp
-
unsigned int GetScratchRegister (bool Is64Bit, bool IsLP64, const MachineFunction & MF, bool Primary)GetScratchRegister - Get a temp register for performing work in the
segmented stack and the Erlang/HiPE stack prologue. Depending on platform
and the properties of the function either one or two registers will be
needed. Set primary to true for the first register, false for the second.
Defined at line 3230 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
int showSampleProfile (ShowFormat SFormat, raw_fd_ostream & OS)Defined at line 3236 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
int computeKillSet (BasicBlock * BB, GCStrategy * GC)Defined at line 3240 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void emitMnemonicChecker (raw_ostream & OS, CodeGenTarget & Target, unsigned int VariantCount, bool HasMnemonicFirst, bool HasMnemonicAliases)Defined at line 3249 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
void checkBasicSSA (DominatorTree & DT, int & Live, Instruction * TI, bool TermOkay)Check that the items in 'Live' dominate 'TI'. This is used as a basic
validation check for the liveness computation.
Defined at line 3251 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void printFileHeaders (const ObjectFile * O)Defined at line 3252 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
const char * getWholeProgDevirtResKindName (Kind K)Defined at line 3257 of file llvm/lib/IR/AsmWriter.cpp
-
bool insertCandidatesWithPendingInjections (SmallVectorImpl<NonTrivialUnswitchCandidate> & UnswitchCandidates, Loop & L, Predicate Pred, ArrayRef Compares, const DominatorTree & DT)Given chain of loop branch conditions looking like:
br (Variant
<
Invariant1)
br (Variant
<
Invariant2)
br (Variant
<
Invariant3)
...
collect set of invariant conditions on which we want to unswitch, which
look like:
Invariant1
<
= Invariant2
Invariant2
<
= Invariant3
...
Though they might not immediately exist in the IR, we can still inject them.
Defined at line 3264 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
void printArchiveChild (StringRef Filename, const Archive::Child & C)Defined at line 3265 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
bool detectShiftUntilZeroIdiom (Loop * CurLoop, ScalarEvolution * SE, Instruction *& ValShiftedIsZero, Intrinsic::ID & IntrinID, Instruction *& IV, Value *& Start, Value *& Val, const SCEV *& ExtraOffsetExpr, bool & InvertedCond)Return true if the idiom is detected in the loop.
The core idiom we are trying to detect is:
Code
entry: <...> %start = <...> %extraoffset = <...> <...> br label %for.cond loop: %iv = phi i8 [ %start, %entry ], [ %iv.next, %for.cond ] %nbits = add nsw i8 %iv, %extraoffset %val.shifted = {{l,a}shr,shl} i8 %val, %nbits %val.shifted.iszero = icmp eq i8 %val.shifted, 0 %iv.next = add i8 %iv, 1 <...> br i1 %val.shifted.iszero, label %end, label %loop end: %iv.res = phi i8 [ %iv, %loop ] <...> %nbits.res = phi i8 [ %nbits, %loop ] <...> %val.shifted.res = phi i8 [ %val.shifted, %loop ] <...> %val.shifted.iszero.res = phi i1 [ %val.shifted.iszero, %loop ] <...> %iv.next.res = phi i8 [ %iv.next, %loop ] <...> <...>Defined at line 3267 of file llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
-
void checkBasicSSA (DominatorTree & DT, GCPtrLivenessData & Data, BasicBlock & BB)Check that all the liveness sets used during the computation of liveness
obey basic SSA properties. This is useful for finding cases where we miss
a def.
Defined at line 3269 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
unsigned int computeRemLatency (SchedBoundary & CurrZone)Compute remaining latency. We need this both to determine whether the
overall schedule has become latency-limited and whether the instructions
outside this zone are resource or latency limited.
The "dependent" latency is updated incrementally during scheduling as the
max height/depth of scheduled nodes minus the cycles since it was
scheduled:
DLat = max (N.depth - (CurrCycle - N.ReadyCycle) for N in Zone
The "independent" latency is the max ready queue depth:
ILat = max N.depth for N in Available|Pending
RemainingLatency is the greater of independent and dependent latency.
These computations are expensive, especially in DAGs with many edges, so
only do them if necessary.
Defined at line 3270 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
const char * getWholeProgDevirtResByArgKindName (Kind K)Defined at line 3270 of file llvm/lib/IR/AsmWriter.cpp
-
pair lookThroughShuffles (Use * U, int Lane)Defined at line 3271 of file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
-
bool trySimplifyICmpWithAdds (CmpPredicate Pred, Value * LHS, Value * RHS, const InstrInfoQuery & IIQ)If only one of the icmp's operands has NSW flags, try to prove that:
icmp slt/sgt/sle/sge (x + C1), (x +nsw C2)
is equivalent to:
icmp slt/sgt/sle/sge C1, C2
which is true if x + C2 has the NSW flags set and:
*) C1
<
= C2
&
&
C1 >= 0, or
*) C2
<
= C1
&
&
C1
<
= 0.
Defined at line 3274 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
unsigned int getNewOpcFromTable (int Table, unsigned int Opc)Defined at line 3278 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
MCSymbol * emitRnglistsTableHeader (AsmPrinter * Asm, const DwarfFile & Holder)Emit the header of a DWARF 5 range list table list table. Returns the symbol
that designates the end of the table for the caller to emit when the table is
complete.
Defined at line 3279 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
const char * GuessIndirectSymbol (uint64_t ReferenceValue, struct DisassembleInfo * info)GuessIndirectSymbol returns the name of the indirect symbol for the
ReferenceValue passed in or nullptr. This is used when ReferenceValue maybe
an address of a symbol stub or a lazy or non-lazy pointer to associate the
symbol name being referenced by the stub or pointer.
Defined at line 3281 of file llvm/tools/llvm-objdump/MachODump.cpp
-
const char * getTTResKindName (Kind K)Defined at line 3285 of file llvm/lib/IR/AsmWriter.cpp
-
SmallVector generateInstLaneVectorFromOperand (ArrayRef Item, int Op)Defined at line 3289 of file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
-
int showMemProfProfile (ShowFormat SFormat, raw_fd_ostream & OS)Defined at line 3291 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
MCSymbol * emitLoclistsTableHeader (AsmPrinter * Asm, const DwarfDebug & DD)Emit the header of a DWARF 5 locations list table. Returns the symbol that
designates the end of the table for the caller to emit when the table is
complete.
Defined at line 3297 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
Instruction * foldSelectOfSymmetricSelect (SelectInst & OuterSelVal, InstCombiner::BuilderTy & Builder)Folds patterns like:
select c2 (select c1 a b) (select c1 b a)
into:
select (xor c1 c2) b a
Defined at line 3297 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
Value * simplifyICmpWithBinOp (CmpPredicate Pred, Value * LHS, Value * RHS, const SimplifyQuery & Q, unsigned int MaxRecurse)TODO: A large part of this logic is duplicated in InstCombine's
foldICmpBinOp(). We should be able to share that and avoid the code
duplication.
Defined at line 3299 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
SDValue getAsCarry (const TargetLowering & TLI, SDValue V, bool ForceCarryReconstruction)Defined at line 3302 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool collectUnswitchCandidatesWithInjections (SmallVectorImpl<NonTrivialUnswitchCandidate> & UnswitchCandidates, IVConditionInfo & PartialIVInfo, Instruction *& PartialIVCondBranch, Loop & L, const DominatorTree & DT, const LoopInfo & LI, AAResults & AA, const MemorySSAUpdater * MSSAU)Collect unswitch candidates by invariant conditions that are not immediately
present in the loop. However, they can be injected into the code if we
decide it's profitable.
An example of such conditions is following:
for (...) {
x = load ...
if (! x
) break;
if (! x
) break;
<do
something>
}
We can unswitch by condition "C1 <=u C2". If that is true, then "x
<
=
C2" automatically implies "x
-variant checks in unswitched loop version.
Defined at line 3302 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
bool isFreeConcat (ArrayRef Item, TargetCostKind CostKind, const TargetTransformInfo & TTI)Detect concat of multiple values into a vector
Defined at line 3304 of file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
-
void emitMatchClassKindNames (int & Infos, raw_ostream & OS)Emit a function mapping match classes to strings, for debugging.
Defined at line 3310 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
bool shouldWarnForInvalidStartStopAddress (ObjectFile * Obj)For ELF only now.
Defined at line 3314 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
template <typename Ranges, typename PayloadEmitter>void emitRangeList (DwarfDebug & DD, AsmPrinter * Asm, MCSymbol * Sym, const Ranges & R, const DwarfCompileUnit & CU, unsigned int BaseAddressx, unsigned int OffsetPair, unsigned int StartxLength, unsigned int StartxEndx, unsigned int EndOfList, StringRef (*)(unsigned int) StringifyEnum, bool ShouldUseBaseAddress, PayloadEmitter EmitPayload)Defined at line 3315 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
uint64_t countMBBInstruction (MachineBasicBlock * MBB)Count the number of actual machine instructions.
Defined at line 3320 of file llvm/lib/CodeGen/MachineBlockPlacement.cpp
-
void checkForInvalidStartStopAddress (ObjectFile * Obj, uint64_t Start, uint64_t Stop)Defined at line 3322 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
Value * foldAndOrOfICmpEqConstantAndICmp (ICmpInst * LHS, ICmpInst * RHS, bool IsAnd, bool IsLogical, IRBuilderBase & Builder)(icmp eq X, C) | (icmp ult Other, (X - C)) -> (icmp ule Other, (X - (C + 1)))
(icmp ne X, C)
&
(icmp uge Other, (X - C)) -> (icmp ugt Other, (X - (C + 1)))
Defined at line 3325 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
Instruction * foldNestedSelects (SelectInst & OuterSelVal, InstCombiner::BuilderTy & Builder)Look for patterns like
%outer.cond = select i1 %inner.cond, i1 %alt.cond, i1 false
%inner.sel = select i1 %inner.cond, i8 %inner.sel.t, i8 %inner.sel.f
%outer.sel = select i1 %outer.cond, i8 %outer.sel.t, i8 %inner.sel
and rewrite it as
%inner.sel = select i1 %cond.alternative, i8 %sel.outer.t, i8 %sel.inner.t
%sel.outer = select i1 %cond.inner, i8 %inner.sel, i8 %sel.inner.f
Defined at line 3326 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
basic_string getNameForFeatureBitset (ArrayRef<const Record *> FeatureBitset)Defined at line 3329 of file llvm/utils/TableGen/AsmMatcherEmitter.cpp
-
Value * generateNewInstTree (ArrayRef Item, FixedVectorType * Ty, const SmallPtrSet<Use *, 4> & IdentityLeafs, const SmallPtrSet<Use *, 4> & SplatLeafs, const SmallPtrSet<Use *, 4> & ConcatLeafs, IRBuilderBase & Builder, const TargetTransformInfo * TTI)Defined at line 3338 of file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
-
SUnit * multipleIterations (SUnit * SU, SwingSchedulerDAG * DAG)If an instruction has a use that spans multiple iterations, then
return true. These instructions are characterized by having a back-ege
to a Phi, which contains a reference to another Phi.
Defined at line 3340 of file llvm/lib/CodeGen/MachinePipeliner.cpp
-
int showDebugInfoCorrelation (const std::string & Filename, ShowFormat SFormat, raw_fd_ostream & OS)Defined at line 3341 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
int StackMallocSizeClass (uint64_t LocalStackSize)Fake stack allocator (asan_fake_stack.h) has 11 size classes
for every power of 2 from kMinStackMallocSize to kMaxAsanStackMallocSizeClass
Defined at line 3342 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
void dumpObject (ObjectFile * O, const Archive * A, const Archive::Child * C)Defined at line 3350 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
SDValue foldAddSubMasked1 (bool IsAdd, SDValue N0, SDValue N1, SelectionDAG & DAG, const SDLoc & DL)Given the operands of an add/sub operation, see if the 2nd operand is a
masked 0/1 whose source operand is actually known to be 0/-1. If so, invert
the opcode and bypass the mask operation.
Defined at line 3354 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
CondCode getSwappedCondition (CondCode CC)Assuming the flags are set by MI(a,b), return the condition code if we
modify the instructions such that flags are set by MI(b,a).
Defined at line 3356 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool isSafeForNoNTrivialUnswitching (Loop & L, LoopInfo & LI)Defined at line 3357 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
void method_reference (struct DisassembleInfo * info, uint64_t * ReferenceType, const char ** ReferenceName)method_reference() is called passing it the ReferenceName that might be
a reference it to an Objective-C method call. If so then it allocates and
assembles a method call string with the values last seen and saved in
the DisassembleInfo's class_name and selector_name fields. This is saved
into the method field of the info and any previous string is free'ed.
Then the class_name field in the info is set to nullptr. The method call
string is set into ReferenceName and ReferenceType is set to
LLVMDisassembler_ReferenceType_Out_Objc_Message. If this not a method call
then both ReferenceType and ReferenceName are left unchanged.
Defined at line 3362 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void LLVMPositionBuilderImpl (IRBuilder<> * Builder, BasicBlock * Block, Instruction * Instr, bool BeforeDbgRecords)Defined at line 3363 of file llvm/lib/IR/Core.cpp
-
bool isLiveThrough (LiveQueryResult Q)Check if the segment consists of a copied live-through value (i.e. the copy
in the block only extended the liveness, of an undef value which we may need
to handle).
Defined at line 3366 of file llvm/lib/CodeGen/RegisterCoalescer.cpp
-
bool canFoldIVIncExpr (const SCEV * IncExpr, Instruction * UserInst, Value * Operand, const TargetTransformInfo & TTI)Return true if the IVInc can be folded into an addressing mode.
Defined at line 3368 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
int show_main (StringRef ProgName)Defined at line 3376 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
int getMipsRegisterSize (uint8_t Flag)Defined at line 3377 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
void initializeGVNLegacyPassPassOnce (PassRegistry & Registry)Defined at line 3390 of file llvm/lib/Transforms/Scalar/GVN.cpp
-
const char * getSummaryKindName (SummaryKind SK)Defined at line 3390 of file llvm/lib/IR/AsmWriter.cpp
-
template <class ELFT>void printMipsReginfoData (ScopedPrinter & W, const Elf_Mips_RegInfo<ELFT> & Reginfo)Defined at line 3393 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool impliesPoisonOrCond (const Value * ValAssumedPoison, const Value * V, bool Expected)Return true if V is poison or
given that ValAssumedPoison is
already poison. For example, if ValAssumedPoison is `icmp samesign X, 10`
and V is `icmp ne X, 5`, impliesPoisonOrCond returns true.
Defined at line 3400 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
NonTrivialUnswitchCandidate findBestNonTrivialUnswitchCandidate (ArrayRef UnswitchCandidates, const Loop & L, const DominatorTree & DT, const LoopInfo & LI, AssumptionCache & AC, const TargetTransformInfo & TTI, const IVConditionInfo & PartialIVInfo)Defined at line 3400 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
bool mayUseCarryFlag (CondCode CC)Defined at line 3407 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
int order_main ()Defined at line 3409 of file llvm/tools/llvm-profdata/llvm-profdata.cpp
-
bool isFloatDIType (const DIType * Ty)Defined at line 3413 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
uint64_t GuessPointerPointer (uint64_t ReferenceValue, struct DisassembleInfo * info, bool & classref, bool & selref, bool & msgref, bool & cfstring)GuessPointerPointer() is passed the address of what might be a pointer to
a reference to an Objective-C class, selector, message ref or cfstring.
If so the value of the pointer is returned and one of the booleans are set
to true. If not zero is returned and all the booleans are set to false.
Defined at line 3428 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void dumpObject (const COFFImportFile * I, const Archive * A, const Archive::Child * C)Defined at line 3430 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
template <class ELFT>Expected<const Elf_Mips_Options<ELFT> *> readMipsOptions (const uint8_t * SecBegin, ArrayRef<uint8_t> & SecData, bool & IsSupported)Defined at line 3431 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
int computeThresholdFromOptLevels (unsigned int OptLevel, unsigned int SizeOptLevel)Compute the default threshold for inlining based on the opt level and the
size opt level.
Defined at line 3434 of file llvm/lib/Analysis/InlineCost.cpp
-
void emitLocList (DwarfDebug & DD, AsmPrinter * Asm, const DebugLocStream::List & List)Handles emission of both debug_loclist / debug_loclist.dwo
Defined at line 3436 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
basic_string getLinkageName (LinkageTypes LT)Defined at line 3436 of file llvm/lib/IR/AsmWriter.cpp
-
bool findReaching (BasicBlock * BB, BasicBlock * DefBB, BlocksSet & ReachesNonLocalUses)Return false if number of blocks searched is too much.
Defined at line 3448 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void dumpArchive (const Archive * A)Dump each object file in
Defined at line 3448 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void findStoresToUninstrumentedArgAllocas (AddressSanitizer & ASan, Instruction & InsBefore, SmallVectorImpl<Instruction *> & InitInsts)Collect instructions in the entry block after
which initialize
permanent storage for a function argument. These instructions must remain in
the entry block so that uninitialized values do not appear in backtraces. An
added benefit is that this conserves spill slots. This does not move stores
before instrumented / "interesting" allocas.
Defined at line 3448 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
bool isConstValidTrue (const TargetLowering & TLI, unsigned int ScalarSizeBits, int64_t Cst, bool IsVector, bool IsFP)Defined at line 3459 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
bool blockIsSimpleEnoughToThreadThrough (BasicBlock * BB, BlocksSet & NonLocalUseBlocks)Return true if we can thread a branch across this block.
Defined at line 3464 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
basic_string getLinkageNameWithSpace (LinkageTypes LT)When printing the linkage types in IR where the ExternalLinkage is
not printed, and other linkage types are expected to be printed with
a space after the name.
Defined at line 3467 of file llvm/lib/IR/AsmWriter.cpp
-
void dumpSmallBitVector (SmallBitVector & BV)For debugging purposes, dump a small bit vector to dbgs().
Defined at line 3467 of file llvm/lib/Analysis/DependenceAnalysis.cpp
-
void verifyConvergenceControl (const MachineFunction & MF, MachineDominatorTree & DT, std::function<void (const Twine &)> FailureCB, raw_ostream & OS)Defined at line 3468 of file llvm/lib/CodeGen/MachineVerifier.cpp
-
std::pair<ISD::CondCode, ISD::NodeType> getExpandedMinMaxOps (int Op)Defined at line 3469 of file llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
-
void dumpInput (StringRef file)Open file and figure out how to dump it.
Defined at line 3472 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
const char * getVisibilityName (VisibilityTypes Vis)Defined at line 3473 of file llvm/lib/IR/AsmWriter.cpp
-
bool isDefInSubRange (LiveInterval & LI, SlotIndex Def)Check if any of the subranges of
contain a definition at
Defined at line 3479 of file llvm/lib/CodeGen/RegisterCoalescer.cpp
-
bool isFusableLoadOpStorePattern (StoreSDNode * StoreNode, SDValue StoredVal, SelectionDAG * CurDAG, unsigned int LoadOpNo, LoadSDNode *& LoadNode, SDValue & InputChain)Check whether or not the chain ending in StoreNode is suitable for doing
the {load; op; store} to modify transformation.
Defined at line 3480 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
const char * getImportTypeName (ImportKind IK)Defined at line 3485 of file llvm/lib/IR/AsmWriter.cpp
-
void forEachJumpTableBranch (const MachineFunction * MF, bool isThumb, const std::function<void (const MachineJumpTableInfo &, const MachineInstr &, int64_t)> & Callback)Defined at line 3487 of file llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
-
const char * get_pointer_64 (uint64_t Address, uint32_t & offset, uint32_t & left, SectionRef & S, DisassembleInfo * info, bool objc_only)get_pointer_64 returns a pointer to the bytes in the object file at the
Address from a section in the Mach-O file. And indirectly returns the
offset into the section, number of bytes left in the section past the offset
and which section is was being referenced. If the Address is not in a
section nullptr is returned.
Defined at line 3490 of file llvm/tools/llvm-objdump/MachODump.cpp
-
StringRef getAllocaName (AllocaInst * AI)Defined at line 3496 of file llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
-
template <typename T>void parseIntArg (const llvm::opt::InputArgList & InputArgs, int ID, T & Value)Defined at line 3498 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
ConstantInt * getKnownValueOnEdge (Value * V, BasicBlock * From, BasicBlock * To)Defined at line 3503 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
SDValue extractBooleanFlip (SDValue V, SelectionDAG & DAG, const TargetLowering & TLI, bool Force)Flips a boolean if it is cheaper to compute. If the Force parameters is set,
then the flip also occurs if computing the inverse is the same cost.
This function returns an empty SDValue in case it cannot flip the boolean
without increasing the cost of the computation. If you want to flip a boolean
no matter what, use DAG.getLogicalNOT.
Defined at line 3504 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
void tracePick (CandReason Reason, bool IsTop, bool IsPostRA)Defined at line 3504 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
object::BuildID parseBuildIDArg (const opt::Arg * A)Defined at line 3510 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
int commaSeparatedValues (const llvm::opt::InputArgList & InputArgs, int ID)Defined at line 3524 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
optional foldCondBranchOnValueKnownInPredecessorImpl (BranchInst * BI, DomTreeUpdater * DTU, const DataLayout & DL, AssumptionCache * AC)If we have a conditional branch on something for which we know the constant
value in predecessors (e.g. a phi node in the current block), thread edges
from the predecessor to their ultimate destination.
Defined at line 3524 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
const std::optional<BitPart> & collectBitParts (Value * V, bool MatchBSwaps, bool MatchBitReversals, int & BPS, int Depth, bool & FoundRoot)Analyze the specified subexpression and see if it is capable of providing
pieces of a bswap or bitreverse. The subexpression provides a potential
piece of a bswap or bitreverse if it can be proved that each non-zero bit in
the output of the expression came from a corresponding bit in some other
value. This function is recursive, and the end result is a mapping of
bitnumber to bitnumber. It is the caller's responsibility to validate that
the bitnumber to bitnumber mapping is correct for a bswap or bitreverse.
For example, if the current subexpression if "(shl i32 %X, 24)" then we know
that the expression deposits the low byte of %X into the high byte of the
result and that all other bits are zero. This expression is accepted and a
BitPart is returned with Provider set to %X and Provenance[24-31] set to
[0-7].
For vector types, all analysis is performed at the per-element level. No
cross-element analysis is supported (shuffle/insertion/reduction), and all
constant masks must be splatted across all elements.
To avoid revisiting values, the BitPart results are memoized into the
provided map. To avoid unnecessary copying of BitParts, BitParts are
constructed in-place in the
map. Because of this
needs to
store BitParts objects, not pointers. As we need the concept of a nullptr
BitParts (Value has been analyzed and the analysis failed), we an Optional
type instead to provide the same functionality.
Because we pass around references into
we must use a container that
does not invalidate internal references (std::map instead of DenseMap).
Defined at line 3524 of file llvm/lib/Transforms/Utils/Local.cpp
-
const char * get_pointer_32 (uint32_t Address, uint32_t & offset, uint32_t & left, SectionRef & S, DisassembleInfo * info, bool objc_only)Defined at line 3528 of file llvm/tools/llvm-objdump/MachODump.cpp
-
unsigned int getHiPELiteral (NamedMDNode * HiPELiteralsMD, StringRef LiteralName)Lookup an ERTS parameter in the !hipe.literals named metadata node.
HiPE provides Erlang Runtime System-internal parameters, such as PCB offsets
to fields it needs, through a named metadata node "hipe.literals" containing
name-value pairs.
Defined at line 3529 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
bool isNeverEqualToUnescapedAlloc (Value * V, const TargetLibraryInfo & TLI, Instruction * AI)Defined at line 3533 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
Value * simplifyICmpWithMinMax (CmpPredicate Pred, Value * LHS, Value * RHS, const SimplifyQuery & Q, unsigned int MaxRecurse)simplify integer comparisons where at least one operand of the compare
matches an integer min/max idiom.
Defined at line 3533 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void mcpuHelp ()Defined at line 3536 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
const char * get_symbol_64 (uint32_t sect_offset, SectionRef S, DisassembleInfo * info, uint64_t & n_value, uint64_t ReferenceValue)get_symbol_64() returns the name of a symbol (or nullptr) and the address of
the symbol indirectly through n_value. Based on the relocation information
for the specified section offset in the specified section reference.
If no relocation information is found and a non-zero ReferenceValue for the
symbol is passed, look up that address in the info's AddrMap.
Defined at line 3540 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isRemovableWrite (CallBase & CB, Value * UsedV, const TargetLibraryInfo & TLI)Given a call CB which uses an address UsedV, return true if we can prove the
call's only possible effect is storing to V.
Defined at line 3545 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
bool HandleUse (TreePattern & I, TreePatternNodePtr Pat, int & InstInputs)HandleUse - Given "Pat" a leaf in the pattern, check to see if it is an
instruction input. Return true if this is a real use.
Defined at line 3547 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
bool blockEndIsUnreachable (const MachineBasicBlock & MBB, int MBBI)Return true if there are no non-ehpad successors to MBB and there are no
non-meta instructions between MBBI and MBB.end().
Defined at line 3551 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
void expandVPWidenIntOrFpInduction (VPWidenIntOrFpInductionRecipe * WidenIVR, VPTypeAnalysis & TypeInfo)Expand a VPWidenIntOrFpInduction into executable recipes, for the initial
value, phi and backedge value. In the following example:
vector.ph:
Successor(s): vector loop
<x1
> vector loop: {
vector.body:
WIDEN-INDUCTION %i = phi %start, %step, %vf
...
EMIT branch-on-count ...
No successors
}
WIDEN-INDUCTION will get expanded to:
vector.ph:
...
vp
<
%induction.start> = ...
vp
<
%induction.increment> = ...
Successor(s): vector loop
<x1
> vector loop: {
vector.body:
ir
<
%i> = WIDEN-PHI vp
<
%induction.start>, vp
<
%vec.ind.next>
...
vp
<
%vec.ind.next> = add ir
<
%i>, vp
<
%induction.increment>
EMIT branch-on-count ...
No successors
}
Defined at line 3552 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
bool shouldInsertFreeze (Loop & L, Instruction & TI, DominatorTree & DT, AssumptionCache & AC)Insert a freeze on an unswitched branch if all is true:
1. freeze-loop-unswitch-cond option is true
2. The branch may not execute in the loop pre-transformation. If a branch may
not execute and could cause UB, it would always cause UB if it is hoisted outside
of the loop. Insert a freeze to prevent this case.
3. The branch condition may be poison or undef
Defined at line 3557 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
basic_string gtest_FindAllocaForValueTestFindAllocaForValueTest_EvalGenerateName_ (const ::testing::TestParamInfo<FindAllocaForValueTest::ParamType> & info)Defined at line 3559 of file llvm/unittests/Analysis/ValueTrackingTest.cpp
-
ParamGenerator gtest_FindAllocaForValueTestFindAllocaForValueTest_EvalGenerator_ ()Defined at line 3559 of file llvm/unittests/Analysis/ValueTrackingTest.cpp
-
void printFields (formatted_raw_ostream & OS, StringRef Str1, StringRef Str2)Defined at line 3565 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool hasNonZeroFPOperands (const CmpInst * Cmp)Returns true if either operand of CmpInst is a provably non-zero
floating-point constant.
Defined at line 3565 of file llvm/lib/IR/Instructions.cpp
-
std::optional<ModRefInfo> isAllocSiteRemovable (Instruction * AI, SmallVectorImpl<WeakTrackingVH> & Users, const TargetLibraryInfo & TLI, bool KnowInit)Defined at line 3565 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
template <class ELFT>basic_string getSectionHeadersNumString (const ELFFile<ELFT> & Obj, StringRef FileName)Defined at line 3575 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool unswitchBestCondition (Loop & L, DominatorTree & DT, LoopInfo & LI, AssumptionCache & AC, AAResults & AA, TargetTransformInfo & TTI, ScalarEvolution * SE, MemorySSAUpdater * MSSAU, LPMUpdater & LoopUpdater)Defined at line 3577 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
void getUnmergePieces (SmallVectorImpl<Register> & Pieces, MachineIRBuilder & B, Register Src, LLT Ty)Defined at line 3579 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
Instruction * createReverseEVL (IRBuilderBase & Builder, Value * Operand, Value * EVL, const Twine & Name)Use all-true mask for reverse rather than actual mask, as it avoids a
dependence w/o affecting the result.
Defined at line 3579 of file llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
-
void emitLoadFromConstantPool (Register DstReg, const Constant * ConstVal, MachineIRBuilder & MIRBuilder)Defined at line 3586 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
void parseOtoolOptions (const llvm::opt::InputArgList & InputArgs)Defined at line 3590 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
template <class ELFT>basic_string getSectionHeaderTableIndexString (const ELFFile<ELFT> & Obj, StringRef FileName)Defined at line 3595 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
const char * get_symbol_32 (uint32_t sect_offset, SectionRef S, DisassembleInfo * info, uint32_t ReferenceValue)Defined at line 3598 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isX87Reg (Register Reg)Return true if the Reg is X87 register.
Defined at line 3599 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
void initSlots2BasicBlocks (const Function & F, int & Slots2BasicBlocks)Defined at line 3607 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
Value * foldOrOfInversions (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Defined at line 3612 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
const EnumEntry<unsigned int> * getObjectFileEnumEntry (unsigned int Type)Defined at line 3615 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
APInt gcd (const SCEVConstant * C1, const SCEVConstant * C2)Defined at line 3616 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
const BasicBlock * getIRBlockFromSlot (unsigned int Slot, const int & Slots2BasicBlocks)Defined at line 3622 of file llvm/lib/CodeGen/MIRParser/MIParser.cpp
-
void tracePick (const GenericSchedulerBase::SchedCandidate & Cand, bool IsPostRA)Defined at line 3632 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
bool matchSubIntegerPackFromVector (Value * V, Value *& Vec, int64_t & VecOffset, SmallBitVector & Mask, const DataLayout & DL)Match
as "shufflevector -> bitcast" or "extractelement -> zext -> shl"
patterns, which extract vector elements and pack them in the same relative
positions.
is the underlying vector being extracted from.
is a bitmask identifying which packed elements are obtained from the
vector.
is the vector element corresponding to index 0 of the
mask.
Defined at line 3640 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
void parseObjdumpOptions (const llvm::opt::InputArgList & InputArgs)Defined at line 3641 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
void emitRangeList (DwarfDebug & DD, AsmPrinter * Asm, const RangeSpanList & List)Emit a single range list. We handle both DWARF v5 and earlier.
Defined at line 3662 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
void expandVPWidenPointerInduction (VPWidenPointerInductionRecipe * R, VPTypeAnalysis & TypeInfo)Expand a VPWidenPointerInductionRecipe into executable recipes, for the
initial value, phi and backedge value. In the following example:
<x1
> vector loop: {
vector.body:
EMIT ir
<
%ptr.iv> = WIDEN-POINTER-INDUCTION %start, %step, %vf
...
EMIT branch-on-count ...
}
WIDEN-POINTER-INDUCTION will get expanded to:
<x1
> vector loop: {
vector.body:
EMIT-SCALAR %pointer.phi = phi %start, %ptr.ind
EMIT %mul = mul %stepvector, %step
EMIT %vector.gep = wide-ptradd %pointer.phi, %mul
...
EMIT %ptr.ind = ptradd %pointer.phi, %vf
EMIT branch-on-count ...
}
Defined at line 3663 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
FastMathFlags mapFromLLVMFastMathFlags (LLVMFastMathFlags FMF)--.. Arithmetic ..........................................................--
Defined at line 3670 of file llvm/lib/IR/Core.cpp
-
bool unswitchLoop (Loop & L, DominatorTree & DT, LoopInfo & LI, AssumptionCache & AC, AAResults & AA, TargetTransformInfo & TTI, bool Trivial, bool NonTrivial, ScalarEvolution * SE, MemorySSAUpdater * MSSAU, LPMUpdater & LoopUpdater)Unswitch control flow predicated on loop invariant conditions.
This first hoists all branches or switches which are trivial (IE, do not
require duplicating any part of the loop) out of the loop body. It then
looks at other loop invariant control flows and tries to unswitch those as
well by cloning the loop if the result is small enough.
The `DT`, `LI`, `AC`, `AA`, `TTI` parameters are required analyses that are
also updated based on the unswitch. The `MSSA` analysis is also updated if
valid (i.e. its use is enabled).
If either `NonTrivial` is true or the flag `EnableNonTrivialUnswitch` is
true, we will attempt to do non-trivial unswitching as well as trivial
unswitching.
The `postUnswitch` function will be run after unswitching is complete
with information on whether or not the provided loop remains a loop and
a list of new sibling loops created.
If `SE` is non-null, we will update that analysis based on the unswitching
done.
Defined at line 3670 of file llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
-
LLVMFastMathFlags mapToLLVMFastMathFlags (FastMathFlags FMF)Defined at line 3683 of file llvm/lib/IR/Core.cpp
-
SDValue combineUADDO_CARRYDiamond (DAGCombiner & Combiner, SelectionDAG & DAG, SDValue X, SDValue Carry0, SDValue Carry1, SDNode * N)If we are facing some sort of diamond carry propagation pattern try to
break it up to generate something like:
(uaddo_carry X, 0, (uaddo_carry A, B, Z):Carry)
The end result is usually an increase in operation required, but because the
carry is now linearized, other transforms can kick in and optimize the DAG.
Patterns typically look something like
(uaddo A, B)
/
\
Carry Sum
|
\
| (uaddo_carry *, 0, Z)
| /
\
Carry
| /
(uaddo_carry X, *, *)
But numerous variation exist. Our goal is to identify A, B, X and Z and
produce a combine with a single path for carry propagation.
Defined at line 3687 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
Register getBitcastWiderVectorElementOffset (MachineIRBuilder & B, Register Idx, unsigned int NewEltSize, unsigned int OldEltSize)Figure out the bit offset into a register when coercing a vector index for
the wide element type. This is only for the case when promoting vector to
one with larger elements.
%offset_idx = G_AND %idx, ~(-1
<
<
Log2(DstEltSize / SrcEltSize))
%offset_bits = G_SHL %offset_idx, Log2(SrcEltSize)
Defined at line 3703 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
void emitMacroHeader (AsmPrinter * Asm, const DwarfDebug & DD, const DwarfCompileUnit & CU, uint16_t DwarfVersion)Emit the header of a DWARF 5 macro section, or the GNU extension for
DWARF 4.
Defined at line 3714 of file llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
-
void patchAndReplaceAllUsesWith (Instruction * I, Value * Repl)Defined at line 3718 of file llvm/lib/Transforms/Scalar/NewGVN.cpp
-
Value * simplifyICmpWithDominatingAssume (CmpPredicate Predicate, Value * LHS, Value * RHS, const SimplifyQuery & Q)Defined at line 3718 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool foldTwoEntryPHINode (PHINode * PN, const TargetTransformInfo & TTI, DomTreeUpdater * DTU, AssumptionCache * AC, const DataLayout & DL, bool SpeculateUnpredictables)Given a BB that starts with the specified two-entry PHI node,
see if we can eliminate it.
Defined at line 3725 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
Value * simplifyICmpWithIntrinsicOnLHS (CmpPredicate Pred, Value * LHS, Value * RHS)Defined at line 3741 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Value * createBitOrPointerCast (IRBuilderBase & Builder, Value * V, VectorType * DstVTy, const DataLayout & DL)Defined at line 3742 of file llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
-
Instruction * foldIntegerPackFromVector (Instruction & I, InstCombiner::BuilderTy & Builder, const DataLayout & DL)Try to fold the join of two scalar integers whose contents are packed
elements of the same vector.
Defined at line 3743 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool isSafeToRemoveBitCeilSelect (Predicate Pred, Value * Cond0, const APInt * Cond1, Value * CtlzOp, unsigned int BitWidth, bool & ShouldDropNoWrap)Return true if we can safely remove the select instruction for std::bit_ceil
pattern.
Defined at line 3743 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool bitTransformIsCorrectForBSwap (unsigned int From, unsigned int To, unsigned int BitWidth)Defined at line 3745 of file llvm/lib/Transforms/Utils/Local.cpp
-
bool bitTransformIsCorrectForBitReverse (unsigned int From, unsigned int To, unsigned int BitWidth)Defined at line 3756 of file llvm/lib/Transforms/Utils/Local.cpp
-
Instruction * foldCtpopPow2Test (ICmpInst & I, IntrinsicInst * CtpopLhs, const APInt & CRhs, InstCombiner::BuilderTy & Builder, const SimplifyQuery & Q)Defined at line 3756 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
std::optional<std::pair<Value *, Value *>> getInvertibleOperands (const Operator * Op1, const Operator * Op2)If the pair of operators are the same invertible function, return the
the operands of the function corresponding to each input. Otherwise,
return std::nullopt. An invertible function is one that is 1-to-1 and maps
every input value to exactly one output value. This is equivalent to
saying that Op1 and Op2 are equal exactly when the specified pair of
operands are equal, (except that Op1 and Op2 may be poison more often.)
Defined at line 3758 of file llvm/lib/Analysis/ValueTracking.cpp
-
void checkReductionInfos (ArrayRef<OpenMPIRBuilder::ReductionInfo> ReductionInfos, bool IsGPU)Defined at line 3759 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
bool isUndefOrEqual (int Val, int CmpVal)Val is the undef sentinel value or equal to the specified value.
Defined at line 3765 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isUndefOrEqual (ArrayRef<int> Mask, int CmpVal)Return true if every element in Mask is the undef sentinel value or equal to
the specified value.
Defined at line 3771 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
optional getRange (Value * V, const InstrInfoQuery & IIQ)Helper method to get range from metadata or attribute.
Defined at line 3774 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Value * interleaveVectors (IRBuilderBase & Builder, ArrayRef Vals, const Twine & Name)Return a vector containing interleaved elements from multiple
smaller input vectors.
Defined at line 3774 of file llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
-
bool isUndefOrEqualInRange (ArrayRef<int> Mask, int CmpVal, unsigned int Pos, unsigned int Size)Return true if every element in Mask, beginning from position Pos and ending
in Pos+Size is the undef sentinel value or equal to the specified value.
Defined at line 3779 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool matchZExtedSubInteger (Value * V, Value *& Int, APInt & Mask, uint64_t & Offset, bool & IsShlNUW, bool & IsShlNSW)Match
as "lshr -> mask -> zext -> shl".
is the underlying integer being extracted from.
is a bitmask identifying which bits of the integer are being
extracted.
identifies which bit of the result
corresponds to
the least significant bit of
Defined at line 3780 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool InferFromPattern (CodeGenInstruction & InstInfo, const InstAnalyzer & PatInfo, const Record * PatDef)Defined at line 3780 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
SDValue combineCarryDiamond (SelectionDAG & DAG, const TargetLowering & TLI, SDValue N0, SDValue N1, SDNode * N)If we are facing some sort of diamond carry/borrow in/out pattern try to
match patterns like:
(uaddo A, B) CarryIn
|
\
|
|
\
|
PartialSum PartialCarryOutX /
| | /
| ____|____________/
| / |
(uaddo *, *)
\
________
|
\
\
// |
\
|
| PartialCarryOutY |
|
\
|
|
\
/
AddCarrySum | ______/
| /
CarryOut = (or *, *)
And generate UADDO_CARRY (or USUBO_CARRY) with two result values:
{AddCarrySum, CarryOut} = (uaddo_carry A, B, CarryIn)
Our goal is to identify A, B, and CarryIn and produce UADDO_CARRY/USUBO_CARRY
with a single path for carry/borrow out propagation.
Defined at line 3780 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
void printMetadataIdentifier (StringRef Name, formatted_raw_ostream & Out)Defined at line 3783 of file llvm/lib/IR/AsmWriter.cpp
-
bool isUndefOrZero (int Val)Val is either the undef or zero sentinel value.
Defined at line 3786 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
int llvm_objdump_main (int argc, char ** argv, const llvm::ToolContext & )Defined at line 3787 of file llvm/tools/llvm-objdump/llvm-objdump.cpp
-
bool isUndefInRange (ArrayRef<int> Mask, unsigned int Pos, unsigned int Size)Return true if every element in Mask, beginning from position Pos and ending
in Pos+Size is the undef sentinel value.
Defined at line 3792 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isUndefLowerHalf (ArrayRef<int> Mask)Return true if the mask creates a vector whose lower half is undefined.
Defined at line 3798 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
MachineBasicBlock * getFallThroughMBB (MachineBasicBlock * MBB, MachineBasicBlock * TBB)Given a MBB and its TBB, find the FBB which was a fallthrough MBB (it may
not be a fallthrough MBB now due to layout changes). Return nullptr if the
fallthrough MBB cannot be identified.
Defined at line 3802 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool isUndefUpperHalf (ArrayRef<int> Mask)Return true if the mask creates a vector whose upper half is undefined.
Defined at line 3804 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool runAttributorOnFunctions (InformationCache & InfoCache, int & Functions, AnalysisGetter & AG, CallGraphUpdater & CGUpdater, bool DeleteFns, bool IsModulePass)----------------------------------------------------------------------------
Pass (Manager) Boilerplate
----------------------------------------------------------------------------
Defined at line 3805 of file llvm/lib/Transforms/IPO/Attributor.cpp
-
bool hasOnlySelectUsers (const Value * Cond)Check if the condition of the select has one use or two users that are both
selects with the same condition.
Defined at line 3808 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
bool isInRange (int Val, int Low, int Hi)Return true if Val falls within the specified range (L, H].
Defined at line 3810 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isAnyInRange (ArrayRef<int> Mask, int Low, int Hi)Return true if the value of any element in Mask falls within the specified
range (L, H].
Defined at line 3816 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isAnyZero (ArrayRef<int> Mask)Return true if the value of any element in Mask is the zero sentinel value.
Defined at line 3821 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Value * foldIntegerRepackThroughZExt (Value * Lhs, Value * Rhs, InstCombiner::BuilderTy & Builder)Try to fold the join of two scalar integers whose bits are unpacked and
zexted from the same source integer.
Defined at line 3821 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool isUndefOrInRange (int Val, int Low, int Hi)Return true if Val is undef or if its value falls within the
specified range (L, H].
Defined at line 3827 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void printVisibility (VisibilityTypes Vis, formatted_raw_ostream & Out)Defined at line 3827 of file llvm/lib/IR/AsmWriter.cpp
-
Register buildBitFieldInsert (MachineIRBuilder & B, Register TargetReg, Register InsertReg, Register OffsetBits)Emit code to insert
into
at
in
while preserving other bits in
(InsertReg
<
<
Offset) | (TargetReg
&
~(-1 >> InsertReg.size())
<
<
Offset)
Defined at line 3831 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
bool isUndefOrInRange (ArrayRef<int> Mask, int Low, int Hi)Return true if every element in Mask is undef or if its value
falls within the specified range (L, H].
Defined at line 3833 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool convertSSEToAVX (MCInst & Inst)Defined at line 3834 of file llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
-
void printDSOLocation (const GlobalValue & GV, formatted_raw_ostream & Out)Defined at line 3836 of file llvm/lib/IR/AsmWriter.cpp
-
Instruction * foldBitCeil (SelectInst & SI, IRBuilderBase & Builder, InstCombinerImpl & IC)Transform the std::bit_ceil(X) pattern like:
%dec = add i32 %x, -1
%ctlz = tail call i32
.ctlz.i32(i32 %dec, i1 false)
%sub = sub i32 32, %ctlz
%shl = shl i32 1, %sub
%ugt = icmp ugt i32 %x, 1
%sel = select i1 %ugt, i32 %shl, i32 1
into:
%dec = add i32 %x, -1
%ctlz = tail call i32
.ctlz.i32(i32 %dec, i1 false)
%neg = sub i32 0, %ctlz
%masked = and i32 %ctlz, 31
%shl = shl i32 1, %sub
Note that the select is optimized away while the shift count is masked with
31. We handle some variations of the input operand like std::bit_ceil(X +
1).
Defined at line 3838 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool isUndefOrZeroOrInRange (int Val, int Low, int Hi)Return true if Val is undef, zero or if its value falls within the
specified range (L, H].
Defined at line 3840 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void printDLLStorageClass (DLLStorageClassTypes SCT, formatted_raw_ostream & Out)Defined at line 3842 of file llvm/lib/IR/AsmWriter.cpp
-
bool hasNullFragReference (const DagInit * DI)hasNullFragReference - Return true if the DAG has any reference to the
null_frag operator.
Defined at line 3842 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
bool isUndefOrZeroOrInRange (ArrayRef<int> Mask, int Low, int Hi)Return true if every element in Mask is undef, zero or if its value
falls within the specified range (L, H].
Defined at line 3846 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void printThreadLocalModel (ThreadLocalMode TLM, formatted_raw_ostream & Out)Defined at line 3851 of file llvm/lib/IR/AsmWriter.cpp
-
bool isBlendOrUndef (ArrayRef<int> Mask)Return true if every element in Mask, is an in-place blend/select mask or is
undef.
Defined at line 3853 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
int isRepeatedByteSequence (const ConstantDataSequential * V)isRepeatedByteSequence - Determine whether the given value is
composed of a repeated sequence of identical bytes and return the
byte value. If it is not a repeated sequence, return -1.
Defined at line 3854 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
const SCEV * CollectSubexprs (const SCEV * S, const SCEVConstant * C, SmallVectorImpl<const SCEV *> & Ops, const Loop * L, ScalarEvolution & SE, unsigned int Depth)Split S into subexpressions which can be pulled out into separate
registers. If C is non-null, multiply each subexpression by C.
Return remainder expression after factoring the subexpressions captured by
Ops. If Ops is complete, return NULL.
Defined at line 3857 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
DenseMap mapSectionsToGroups (ArrayRef Groups)Defined at line 3863 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool isSequentialOrUndefInRange (ArrayRef<int> Mask, unsigned int Pos, unsigned int Size, int Low, int Step)Return true if every element in Mask, beginning
from position Pos and ending in Pos + Size, falls within the specified
sequence (Low, Low + Step, ..., Low + (Size - 1) * Step) or is undef.
Defined at line 3864 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool hasNullFragReference (const ListInit * LI)hasNullFragReference - Return true if any DAG in the list references
the null_frag operator.
Defined at line 3866 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
int isRepeatedByteSequence (const Value * V, const DataLayout & DL)isRepeatedByteSequence - Determine whether the given value is
composed of a repeated sequence of identical bytes and return the
byte value. If it is not a repeated sequence, return -1.
Defined at line 3866 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
optional matchBitmaskMul (Value * V)Defined at line 3867 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
StringRef getUnnamedAddrEncoding (UnnamedAddr UA)Defined at line 3871 of file llvm/lib/IR/AsmWriter.cpp
-
bool isSequentialOrUndefOrZeroInRange (ArrayRef<int> Mask, unsigned int Pos, unsigned int Size, int Low, int Step)Return true if every element in Mask, beginning
from position Pos and ending in Pos+Size, falls within the specified
sequential range (Low, Low+Size], or is undef or is zero.
Defined at line 3875 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isModifyingBinopOfNonZero (const Value * V1, const Value * V2, const APInt & DemandedElts, const SimplifyQuery & Q, unsigned int Depth)Return true if V1 == (binop V2, X), where X is known non-zero.
Only handle a small subset of binops where (binop V2, X) with non-zero X
implies V2 != V1.
Defined at line 3875 of file llvm/lib/Analysis/ValueTracking.cpp
-
void getInstructionsInTree (TreePatternNode & Tree, SmallVectorImpl<const Record *> & Instrs)Get all the instructions in a tree.
Defined at line 3877 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
Instruction * tryToMoveFreeBeforeNullTest (CallInst & FI, const DataLayout & DL)Move the call to free before a NULL test.
Check if this free is accessed after its argument has been test
against NULL (property 0).
If yes, it is legal to move this call in its predecessor block.
The move is performed only if the block containing the call to free
will be removed, i.e.:
1. it has only one predecessor P, and P has two successors
2. it contains the call, noops, and an unconditional branch
3. its successor is the same as its predecessor's successor
The profitability is out-of concern here and this function should
be called only if the caller knows this transformation would be
profitable (e.g., for code size).
Defined at line 3879 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
void maybePrintComdat (formatted_raw_ostream & Out, const GlobalObject & GO)Defined at line 3883 of file llvm/lib/IR/AsmWriter.cpp
-
bool isUndefOrZeroInRange (ArrayRef<int> Mask, unsigned int Pos, unsigned int Size)Return true if every element in Mask, beginning
from position Pos and ending in Pos+Size is undef or is zero.
Defined at line 3886 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool checkOperandClass (const CGIOperandList::OperandInfo & OI, const Record * Leaf)Check the class of a pattern leaf node against the instruction operand it
represents.
Defined at line 3889 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
bool isCompletePermute (ArrayRef<int> Mask)Return true if every element of a single input is referenced by the shuffle
mask. i.e. it just permutes them all.
Defined at line 3893 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void initializeMachineBlockPlacementStatsLegacyPassOnce (PassRegistry & Registry)Defined at line 3897 of file llvm/lib/CodeGen/MachineBlockPlacement.cpp
-
bool checkColdOrNotCold (uint8_t AllocType)helper function to check an AllocType is cold or notcold or both.
Defined at line 3900 of file llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
-
void emitGlobalAliasInline (AsmPrinter & AP, uint64_t Offset, int * AliasList)Defined at line 3900 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
Instruction * foldICmpIntrinsicWithIntrinsic (ICmpInst & Cmp, InstCombiner::BuilderTy & Builder)Fold an icmp with LLVM intrinsics
Defined at line 3901 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
bool isNonEqualMul (const Value * V1, const Value * V2, const APInt & DemandedElts, const SimplifyQuery & Q, unsigned int Depth)Return true if V2 == V1 * C, where V1 is known non-zero, C is not 0/1 and
the multiplication is nuw or nsw.
Defined at line 3904 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool runAttributorLightOnFunctions (InformationCache & InfoCache, int & Functions, AnalysisGetter & AG, CallGraphUpdater & CGUpdater, FunctionAnalysisManager & FAM, bool IsModulePass)Defined at line 3908 of file llvm/lib/Transforms/IPO/Attributor.cpp
-
bool canWidenShuffleElements (ArrayRef<int> Mask, SmallVectorImpl<int> & WidenedMask)Helper function to test whether a shuffle mask could be
simplified by widening the elements being shuffled.
Appends the mask for wider elements in WidenedMask if valid. Otherwise
leaves it in an unspecified state.
NOTE: This must handle normal vector shuffle masks and *target* vector
shuffle masks. The latter have the special property of a '-2' representing
a zero-ed lane of a vector.
Defined at line 3911 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool mayUsePostIncMode (const TargetTransformInfo & TTI, LSRUse & LU, const SCEV * S, const Loop * L, ScalarEvolution & SE)Return true if the SCEV represents a value that may end up as a
post-increment operation.
Defined at line 3912 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
void emitGlobalConstantDataSequential (const DataLayout & DL, const ConstantDataSequential * CDS, AsmPrinter & AP, int * AliasList)Defined at line 3912 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
bool isNonEqualShl (const Value * V1, const Value * V2, const APInt & DemandedElts, const SimplifyQuery & Q, unsigned int Depth)Return true if V2 == V1
<
<
C, where V1 is known non-zero, C is not 0 and
the shift is nuw or nsw.
Defined at line 3919 of file llvm/lib/Analysis/ValueTracking.cpp
-
Value * createLogicalOp (IRBuilderBase & Builder, BinaryOps Opc, Value * LHS, Value * RHS, const Twine & Name)Defined at line 3922 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
Value * foldBitmaskMul (Value * Op0, Value * Op1, InstCombiner::BuilderTy & Builder)(A
&
N) * C + (A
&
M) * C -> (A
&
(N + M))
&
C
This also accepts the equivalent select form of (A
&
N) * C
expressions i.e. !(A
&
N) ? 0 : N * C)
Defined at line 3925 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
VPExpressionRecipe * tryToMatchAndCreateExtendedReduction (VPReductionRecipe * Red, VPCostContext & Ctx, VFRange & Range)This function tries convert extended in-loop reductions to
VPExpressionRecipe and clamp the
if it is beneficial and
valid. The created recipe must be decomposed to its constituent
recipes before execution.
Defined at line 3930 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
bool isNonEqualPHIs (const PHINode * PN1, const PHINode * PN2, const APInt & DemandedElts, const SimplifyQuery & Q, unsigned int Depth)Defined at line 3931 of file llvm/lib/Analysis/ValueTracking.cpp
-
SDValue getTruncatedUSUBSAT (EVT DstVT, EVT SrcVT, SDValue LHS, SDValue RHS, SelectionDAG & DAG, const SDLoc & DL)Attempt to create a USUBSAT(LHS, RHS) node with DstVT, performing a
clamp/truncation if necessary.
Defined at line 3934 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool extractPredSuccWeights (BranchInst * PBI, BranchInst * BI, uint64_t & PredTrueWeight, uint64_t & PredFalseWeight, uint64_t & SuccTrueWeight, uint64_t & SuccFalseWeight)Return true if either PBI or BI has branch weight available, and store
the weights in {Pred|Succ}{True|False}Weight. If one of PBI and BI does
not have branch weight, use 1:1 as its weight.
Defined at line 3938 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
template <class ELFT>void printRelocHeaderFields (formatted_raw_ostream & OS, unsigned int SType, const typename ELFT::Ehdr & EHeader, uint64_t CrelHdr)Defined at line 3941 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
void emitGlobalConstantArray (const DataLayout & DL, const ConstantArray * CA, AsmPrinter & AP, const Constant * BaseCV, uint64_t Offset, int * AliasList)Defined at line 3955 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
int getJumpTableIndexFromAddr (const MachineInstr & MI)Defined at line 3956 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool canWidenShuffleElements (ArrayRef<int> Mask, const APInt & Zeroable, bool V2IsZero, SmallVectorImpl<int> & WidenedMask)Defined at line 3961 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
optional shouldFoldCondBranchesToCommonDestination (BranchInst * BI, BranchInst * PBI, const TargetTransformInfo * TTI)Determine if the two branches share a common destination and deduce a glue
that joins the branches' conditions to arrive at the common destination if
that would be profitable.
Defined at line 3961 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool isNonEqualSelect (const Value * V1, const Value * V2, const APInt & DemandedElts, const SimplifyQuery & Q, unsigned int Depth)Defined at line 3962 of file llvm/lib/Analysis/ValueTracking.cpp
-
template <class ELFT>bool isRelocationSec (const typename ELFT::Shdr & Sec, const typename ELFT::Ehdr & EHeader)Defined at line 3968 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool isImpliedTrueByMatchingCmp (CmpPredicate Pred1, CmpPredicate Pred2)Defined at line 3968 of file llvm/lib/IR/Instructions.cpp
-
int getJumpTableIndexFromReg (const MachineRegisterInfo & MRI, Register Reg)Defined at line 3969 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool canWidenShuffleElements (ArrayRef<int> Mask)Defined at line 3977 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void emitGlobalConstantVector (const DataLayout & DL, const Constant * CV, AsmPrinter & AP, int * AliasList)Defined at line 3977 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
Value * foldOrUnsignedUMulOverflowICmp (BinaryOperator & I, InstCombiner::BuilderTy & Builder, const DataLayout & DL)Fold Res, Overflow = (umul.with.overflow x c1); (or Overflow (ugt Res c2))
--> (ugt x (c2/c1)). This code checks whether a multiplication of two
unsigned numbers (one is a constant) is mathematically greater than a
second constant.
Defined at line 3981 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool scaleShuffleElements (ArrayRef<int> Mask, unsigned int NumDstElts, SmallVectorImpl<int> & ScaledMask)Attempt to narrow/widen shuffle mask until it matches the target number of
elements.
Defined at line 3984 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isNonEqualPointersWithRecursiveGEP (const Value * A, const Value * B, const SimplifyQuery & Q)Check to see if A is both a GEP and is the incoming value for a PHI in the
loop, and B is either a ptr or another GEP. If the PHI has 2 incoming values,
one of them being the recursive GEP A and the other a ptr at same base and at
the same/higher offset than B we are only incrementing the pointer further in
loop if offset of recursive GEP is greater than 0.
Defined at line 3987 of file llvm/lib/Analysis/ValueTracking.cpp
-
VPExpressionRecipe * tryToMatchAndCreateMulAccumulateReduction (VPReductionRecipe * Red, VPCostContext & Ctx, VFRange & Range)This function tries convert extended in-loop reductions to
VPExpressionRecipe and clamp the
if it is beneficial
and valid. The created VPExpressionRecipe must be decomposed to its
constituent recipes before execution. Patterns of the
VPExpressionRecipe:
reduce.add(mul(...)),
reduce.add(mul(ext(A), ext(B))),
reduce.add(ext(mul(ext(A), ext(B)))).
Defined at line 3987 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
bool isImpliedFalseByMatchingCmp (CmpPredicate Pred1, CmpPredicate Pred2)Defined at line 3998 of file llvm/lib/IR/Instructions.cpp
-
AtomicOrdering mapFromLLVMOrdering ( Ordering)Defined at line 4000 of file llvm/lib/IR/Core.cpp
-
bool performBranchToCommonDestFolding (BranchInst * BI, BranchInst * PBI, DomTreeUpdater * DTU, MemorySSAUpdater * MSSAU, const TargetTransformInfo * TTI)Defined at line 4001 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
Value * FoldOrOfSelectSmaxToAbs (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Fold select(X >s 0, 0, -X) | smax(X, 0) --> abs(X)
select(X
0, -X, 0) | smax(X, 0) --> abs(X)
Defined at line 4002 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
bool canScaleShuffleElements (ArrayRef<int> Mask, unsigned int NumDstElts)Defined at line 4012 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void emitGlobalConstantStruct (const DataLayout & DL, const ConstantStruct * CS, AsmPrinter & AP, const Constant * BaseCV, uint64_t Offset, int * AliasList)Defined at line 4015 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
mapToLLVMOrdering (AtomicOrdering Ordering)Defined at line 4016 of file llvm/lib/IR/Core.cpp
-
std::optional<std::pair<GZExtLoad *, int64_t>> matchLoadAndBytePosition (Register Reg, unsigned int MemSizeInBits, const MachineRegisterInfo & MRI)Helper function for findLoadOffsetsForLoadOrCombine.
Check if
is the result of loading a
wide value,
and then moving that value into a specific byte offset.
e.g. x[i]
<
<
24
Defined at line 4017 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
void growShuffleMask (ArrayRef<int> SrcMask, SmallVectorImpl<int> & DstMask, unsigned int SrcSizeInBits, unsigned int DstSizeInBits)Helper to grow the shuffle mask for a larger value type.
NOTE: This is different to scaleShuffleElements which is a same size type.
Defined at line 4019 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Function * getFreshReductionFunc (Module & M)Defined at line 4022 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
Value * optimizeNaN (CallInst * CI)Constant folding nan/nanf/nanl.
Defined at line 4025 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
Error populateReductionFunction (Function * ReductionFunc, ArrayRef<OpenMPIRBuilder::ReductionInfo> ReductionInfos, int & Builder, ArrayRef<bool> IsByRef, bool IsGPU)Defined at line 4031 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
BinOp mapFromLLVMRMWBinOp ( BinOp)Defined at line 4032 of file llvm/lib/IR/Core.cpp
-
bool isKnownNonEqualFromContext (const Value * V1, const Value * V2, const SimplifyQuery & Q, unsigned int Depth)Defined at line 4034 of file llvm/lib/Analysis/ValueTracking.cpp
-
int compareMBBPriority (const MBBPriorityInfo * LHS, const MBBPriorityInfo * RHS)C-style comparator that sorts first based on the loop depth of the basic
block (the unsigned), and then on the MBB number.
EnableGlobalCopies assumes that the primary sort key is loop depth.
Defined at line 4035 of file llvm/lib/CodeGen/RegisterCoalescer.cpp
-
template <class MatchContextClass>SDValue foldSubCtlzNot (SDNode * N, SelectionDAG & DAG)Refinement of DAG/Type Legalisation (promotion) when CTLZ is used for
counting leading ones. Broadly, it replaces the substraction with a left
shift.
* DAG Legalisation Pattern:
(sub (ctlz (zeroextend (not Src)))
BitWidthDiff)
if BitWidthDiff == BitWidth(Node) - BitWidth(Src)
-->
(ctlz_zero_undef (not (shl (anyextend Src)
BitWidthDiff)))
* Type Legalisation Pattern:
(sub (ctlz (and (xor Src XorMask)
AndMask))
BitWidthDiff)
if AndMask has only trailing ones
and MaskBitWidth(AndMask) == BitWidth(Node) - BitWidthDiff
and XorMask has more trailing ones than AndMask
-->
(ctlz_zero_undef (not (shl Src BitWidthDiff)))
Defined at line 4036 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool feedsIntoVectorReduction (ShuffleVectorInst * SVI)Returns true if this ShuffleVectorInst eventually feeds into a
vector reduction intrinsic (e.g., vector_reduce_add) by only following
chains of shuffles and binary operators (in any combination/order).
The search does not go deeper than the given Depth.
Defined at line 4040 of file llvm/lib/Transforms/Vectorize/VectorCombine.cpp
-
bool matchFMulByZeroIfResultEqZero (InstCombinerImpl & IC, Value * Cmp0, Value * Cmp1, Value * TrueVal, Value * FalseVal, Instruction & CtxI, bool SelectIsNSZ)Defined at line 4043 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
SDValue getConstVector (ArrayRef<int> Values, MVT VT, SelectionDAG & DAG, const SDLoc & dl, bool IsMask)Build a vector of constants.
Use an UNDEF node if MaskElt == -1.
Split 64-bit constants in the 32-bit mode.
Defined at line 4043 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Instruction * foldICmpUSubSatOrUAddSatWithConstant (CmpPredicate Pred, SaturatingInst * II, const APInt & C, InstCombiner::BuilderTy & Builder)Defined at line 4043 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
bool isLocalCopy (MachineInstr * Copy, const LiveIntervals * LIS)Defined at line 4057 of file llvm/lib/CodeGen/RegisterCoalescer.cpp
-
bool hasAffectedValue (Value * V, SmallPtrSetImpl<Value *> & Affected, unsigned int Depth)Check whether the KnownBits of a select arm may be affected by the
select condition.
Defined at line 4062 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
mapToLLVMRMWBinOp (BinOp BinOp)Defined at line 4066 of file llvm/lib/IR/Core.cpp
-
SDValue getConstVector (ArrayRef<APInt> Bits, const APInt & Undefs, MVT VT, SelectionDAG & DAG, const SDLoc & dl)Defined at line 4073 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue foldRemainderIdiom (SDNode * N, SelectionDAG & DAG, const SDLoc & DL)Fold sub(x, mul(divrem(x,y)[0], y)) to divrem(x, y)[1]
Defined at line 4084 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
Value * foldSelectIntoAddConstant (SelectInst & SI, InstCombiner::BuilderTy & Builder)This transformation enables the possibility of transforming fcmp + sel into
a fmaxnum/fminnum intrinsic.
Defined at line 4089 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
bool willGenerateVectors (VPlan & Plan, ElementCount VF, const TargetTransformInfo & TTI)Check if any recipe of
will generate a vector value, which will be
assigned a vector register.
Defined at line 4096 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
void inferDSOLocal (GlobalValue * GV)Defined at line 4097 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
SanitizerMetadata deserializeSanitizerMetadata (unsigned int V)Defined at line 4104 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
Value * simplifyFCmpInst (CmpPredicate Pred, Value * LHS, Value * RHS, FastMathFlags FMF, const SimplifyQuery & Q, unsigned int MaxRecurse)Given operands for an FCmpInst, see if we can fold the result.
If not, this returns null.
Defined at line 4105 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
SDValue getConstVector (ArrayRef<APInt> Bits, MVT VT, SelectionDAG & DAG, const SDLoc & dl)Defined at line 4109 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isVectorOp (Instruction & I)Return if an instruction's type or any of its operands' types are a vector
type.
Defined at line 4116 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
SDValue getZeroVector (MVT VT, const X86Subtarget & Subtarget, SelectionDAG & DAG, const SDLoc & dl)Returns a vector of specified type with all zero elements.
Defined at line 4116 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isTerminalReg (Register DstReg, const MachineInstr & Copy, const MachineRegisterInfo * MRI)Check if DstReg is a terminal node.
I.e., it does not have any affinity other than
Defined at line 4120 of file llvm/lib/CodeGen/RegisterCoalescer.cpp
-
bool checkForMustTailInVarArgFn (bool IsVarArg, const BasicBlock & BB)Returns true if a BasicBlock
within a variadic function contains a
variadic musttail call.
Defined at line 4124 of file llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
-
Instruction * foldICmpOfCmpIntrinsicWithConstant (CmpPredicate Pred, IntrinsicInst * I, const APInt & C, InstCombiner::BuilderTy & Builder)Defined at line 4128 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
bool isTypeCongruent (Type * L, Type * R)Two types are "congruent" if they are identical, or if they are both pointer
types with different pointee types and the same address space.
Defined at line 4129 of file llvm/lib/IR/Verifier.cpp
-
bool scevUnconditionallyPropagatesPoisonFromOperands (SCEVTypes Kind)Defined at line 4129 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
basic_string getSectionTypeOffsetString (unsigned int Type)Print the offset of a particular section from anyone of the ranges:
[SHT_LOOS, SHT_HIOS], [SHT_LOPROC, SHT_HIPROC], [SHT_LOUSER, SHT_HIUSER].
If 'Type' does not fall within any of those ranges, then a string is
returned as '
<unknown
>' followed by the type value.
Defined at line 4134 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
SDValue tryFoldToZero (const SDLoc & DL, const TargetLowering & TLI, EVT VT, SelectionDAG & DAG, bool LegalOperations)Since it may not be valid to emit a fold to zero for vector initializers
check if we can before folding.
Defined at line 4137 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
AttrBuilder getParameterABIAttributes (LLVMContext & C, unsigned int I, AttributeList Attrs)Defined at line 4139 of file llvm/lib/IR/Verifier.cpp
-
basic_string getSectionTypeString (unsigned int Machine, unsigned int Type)Defined at line 4144 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
SDValue getSplitVectorSrc (SDValue LHS, SDValue RHS, bool AllowCommute)Helper to determine if the ops are all the extracted subvectors come from a
single source. If we allow commute they don't have to be in order (Lo/Hi).
Defined at line 4145 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void FindNames (TreePatternNode & P, int & Names, TreePattern * PatternTop)Defined at line 4149 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
Value * foldSelectBitTest (SelectInst & Sel, Value * CondVal, Value * TrueVal, Value * FalseVal, InstCombiner::BuilderTy & Builder, const SimplifyQuery & SQ)Defined at line 4149 of file llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
-
void handleIndirectSymViaGOTPCRel (AsmPrinter & AP, const MCExpr ** ME, const Constant * BaseCst, uint64_t Offset)Transform a not absolute MCExpr containing a reference to a GOT
equivalent global, by a target specific GOT pc relative access to the
final symbol.
Defined at line 4155 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
void tryToCreateAbstractReductionRecipe (VPReductionRecipe * Red, VPCostContext & Ctx, VFRange & Range)This function tries to create abstract recipes from the reduction recipe for
following optimizations and cost estimation.
Defined at line 4160 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void printSectionDescription (formatted_raw_ostream & OS, unsigned int EMachine)Defined at line 4163 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
SDValue extractSubVector (SDValue Vec, unsigned int IdxVal, SelectionDAG & DAG, const SDLoc & dl, unsigned int vectorWidth)Defined at line 4166 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue fpExtendHelper (SDValue Op, SDValue & Chain, bool IsStrict, EVT VT, SDLoc DL, SelectionDAG & DAG)Helper for producing an FP_EXTEND/STRICT_FP_EXTEND of Op.
Defined at line 4167 of file llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
-
unsigned int computeNumSignBitsVectorConstant (const Value * V, const APInt & DemandedElts, unsigned int TyBits)For vector constants, loop over the elements and find the constant with the
minimum number of sign bits. Return 0 if the value is not a vector constant
or if any element was not analyzed; otherwise, return the count for the
element with the minimum number of sign bits.
Defined at line 4172 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool impliesPoison (const SCEV * AssumedPoison, const SCEV * S)Return true if V is poison given that AssumedPoison is already poison.
Defined at line 4188 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
bool hasReplicatorRegion (VPlan & Plan)Defined at line 4192 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
unsigned int getPrefixes (int & Operands)Defined at line 4198 of file llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
-
SDValue extract128BitVector (SDValue Vec, unsigned int IdxVal, SelectionDAG & DAG, const SDLoc & dl)Generate a DAG to grab 128-bits from a vector > 128 bits. This
sets things up to match to an AVX VEXTRACTF128 / VEXTRACTI128
or AVX-512 VEXTRACTF32x4 / VEXTRACTI32x4
instructions or a simple subregister reference. Idx is an index in the
128 bits we want. It need not be aligned to a 128-bit boundary. That makes
lowering EXTRACT_VECTOR_ELT operations easier.
Defined at line 4205 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue extract256BitVector (SDValue Vec, unsigned int IdxVal, SelectionDAG & DAG, const SDLoc & dl)Generate a DAG to grab 256-bits from a 512-bit vector.
Defined at line 4214 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
const char * get_objc2_64bit_class_name (uint64_t pointer_value, uint64_t ReferenceValue, struct DisassembleInfo * info)get_objc2_64bit_class_name() is used for disassembly and is passed a pointer
to an Objective-C class and returns the class name. It is also passed the
address of the pointer, so when the pointer is zero as it can be in an .o
file, that is used to look for an external relocation entry with a symbol
name.
Defined at line 4218 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SDValue insertSubVector (SDValue Result, SDValue Vec, unsigned int IdxVal, SelectionDAG & DAG, const SDLoc & dl, unsigned int vectorWidth)Defined at line 4220 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isHReg (Register Reg)Test if the given register is a physical h register.
Defined at line 4221 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
unsigned int CopyToFromAsymmetricReg (Register DestReg, Register SrcReg, const X86Subtarget & Subtarget)Try and copy between VR128/VR64 and GR64 registers.
Defined at line 4226 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
Value * optimizeModularFormat (CallInst * CI, IRBuilderBase & B)Defined at line 4236 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
SDValue insert128BitVector (SDValue Result, SDValue Vec, unsigned int IdxVal, SelectionDAG & DAG, const SDLoc & dl)Generate a DAG to put 128-bits into a vector > 128 bits. This
sets things up to match to an AVX VINSERTF128/VINSERTI128 or
AVX-512 VINSERTF32x4/VINSERTI32x4 instructions or a
simple superregister reference. Idx is an index in the 128 bits
we want. It need not be aligned to a 128-bit boundary. That makes
lowering INSERT_VECTOR_ELT operations easier.
Defined at line 4246 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
StoreInst * findUniqueStoreInBlocks (BasicBlock * BB1, BasicBlock * BB2)If there is only one store in BB1 and BB2, return it, otherwise return
nullptr.
Defined at line 4250 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
SDValue widenSubVector (MVT VT, SDValue Vec, bool ZeroNewElements, const X86Subtarget & Subtarget, SelectionDAG & DAG, const SDLoc & dl)Widen a vector to a larger size with the same scalar type, with the new
elements either zero or undef.
Defined at line 4254 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Value * simplifySwitchOnSelectUsingRanges (SwitchInst & SI, SelectInst * Select, bool IsTrueArm)Replaces (switch (select cond, X, C)/(select cond, C, X)) with (switch X) if
we can prove that both (switch C) and (switch X) go to the default when cond
is false/true.
Defined at line 4255 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
template <typename Fn>void writeFunctionTypeMetadataRecords (BitstreamWriter & Stream, FunctionSummary * FS, Fn GetValueID)Write the function type metadata related records that need to appear before
a function summary entry (whether per-module or combined).
Defined at line 4259 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
Value * ensureValueAvailableInSuccessor (Value * V, BasicBlock * BB, Value * AlternativeV)Defined at line 4267 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
const char * get_objc2_64bit_cfstring_name (uint64_t ReferenceValue, struct DisassembleInfo * info)get_objc2_64bit_cfstring_name is used for disassembly and is passed a
pointer to a cfstring and returns its name or nullptr.
Defined at line 4269 of file llvm/tools/llvm-objdump/MachODump.cpp
-
ScheduleDAGInstrs * createConvergingSched (MachineSchedContext * C)Defined at line 4271 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
SDValue widenSubVector (SDValue Vec, bool ZeroNewElements, const X86Subtarget & Subtarget, SelectionDAG & DAG, const SDLoc & dl, unsigned int WideSizeInBits)Widen a vector to a larger size with the same scalar type, with the new
elements either zero or undef.
Defined at line 4278 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
VPIRMetadata getCommonMetadata (ArrayRef Recipes)Collect common metadata from a group of replicate recipes by intersecting
metadata from all recipes in the group.
Defined at line 4284 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
MVT widenMaskVectorType (MVT VT, const X86Subtarget & Subtarget)Widen a mask vector type to a minimum of v8i1/v16i1 to allow use of KSHIFT
and bitcast with integer types.
Defined at line 4292 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
template <unsigned Opcode>SmallVector collectComplementaryPredicatedMemOps (VPlan & Plan, PredicatedScalarEvolution & PSE, const Loop * L)Defined at line 4292 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
bool isValidEncoding (int64_t Encoding)Defined at line 4298 of file llvm/lib/MC/MCParser/AsmParser.cpp
-
SDValue widenMaskVector (SDValue Vec, bool ZeroNewElements, const X86Subtarget & Subtarget, SelectionDAG & DAG, const SDLoc & dl)Widen a mask vector to a minimum of v8i1/v16i1 to allow use of KSHIFT and
bitcast with integer types.
Defined at line 4302 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
uint64_t get_objc2_64bit_selref (uint64_t ReferenceValue, struct DisassembleInfo * info)get_objc2_64bit_selref() is used for disassembly and is passed a the address
of a pointer to an Objective-C selector reference when the pointer value is
zero as in a .o file and is likely to have a external relocation entry with
who's symbol's n_value is the real pointer to the selector name. If that is
the case the real pointer to the selector name is returned else 0 is
returned
Defined at line 4303 of file llvm/tools/llvm-objdump/MachODump.cpp
-
llvm::CallInst * emitNoUnwindRuntimeCall (int & Builder, FunctionCallee Callee, ArrayRef Args, const llvm::Twine & Name)Defined at line 4304 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
void updateSubprogramLinkageName (Function * NewFunc, StringRef Name)Update the debug information attached to NewFunc to use the clone Name. Note
this needs to be done for both any existing DISubprogram for the definition,
as well as any separate declaration DISubprogram.
Defined at line 4310 of file llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
-
bool collectConcatOps (SDNode * N, SmallVectorImpl<SDValue> & Ops, SelectionDAG & DAG)Helper function to collect subvector ops that are concatenated together,
either by ISD::CONCAT_VECTORS or a ISD::INSERT_SUBVECTOR series.
The subvectors in Ops are guaranteed to be the same type.
Defined at line 4312 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
int computeFPBPAlignmentGap (MachineFunction & MF, const TargetRegisterClass * RC, unsigned int NumSpilledRegs)Compute the alignment gap between current SP after spilling FP/BP and the
next properly aligned stack offset.
Defined at line 4313 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
bool mergeConditionalStoreToAddress (BasicBlock * PTB, BasicBlock * PFB, BasicBlock * QTB, BasicBlock * QFB, BasicBlock * PostBB, Value * Address, bool InvertPCond, bool InvertQCond, DomTreeUpdater * DTU, const DataLayout & DL, const TargetTransformInfo & TTI)Defined at line 4317 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
SectionRef get_section (MachOObjectFile * O, const char * segname, const char * sectname)Defined at line 4318 of file llvm/tools/llvm-objdump/MachODump.cpp
-
IntrinsicInst * findInitTrampolineFromAlloca (Value * TrampMem)Defined at line 4329 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
void getReferencedTypeIds (FunctionSummary * FS, std::set<GlobalValue::GUID> & ReferencedTypeIds)Collect type IDs from type tests used by function.
Defined at line 4334 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
void walk_pointer_list_64 (const char * listname, SectionRef S, MachOObjectFile * O, struct DisassembleInfo * info, void (*)(uint64_t, struct DisassembleInfo *) func)Defined at line 4336 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool ForceArbitraryInstResultType (TreePatternNode & N, TreePattern & TP)Given a pattern result with an unresolved type, see if we can find one
instruction with an unresolved result type. Force this result type to an
arbitrary element if it's possible types to converge results.
Defined at line 4338 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
Value * simplifyWithOpsReplaced (Value * V, ArrayRef<std::pair<Value *, Value *>> Ops, const SimplifyQuery & Q, bool AllowRefinement, SmallVectorImpl<Instruction *> * DropFlags, unsigned int MaxRecurse)Defined at line 4339 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void writeWholeProgramDevirtResolutionByArg (SmallVector<uint64_t, 64> & NameVals, const std::vector<uint64_t> & args, const WholeProgramDevirtResolution::ByArg & ByArg)Defined at line 4360 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
TreePatternNodePtr PromoteXForms (TreePatternNodePtr N)Promote xform function to be an explicit node wherever set.
Defined at line 4366 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
IntrinsicInst * findInitTrampolineFromBB (IntrinsicInst * AdjustTramp, Value * TrampMem)Defined at line 4368 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
template <typename InstType>VPReplicateRecipe * findRecipeWithMinAlign (ArrayRef Group)Find the recipe with minimum alignment in the group.
Defined at line 4369 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void writeWholeProgramDevirtResolution (SmallVector<uint64_t, 64> & NameVals, StringTableBuilder & StrtabBuilder, uint64_t Id, const WholeProgramDevirtResolution & Wpd)Defined at line 4372 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
void maybePrintCallAddrSpace (const Value * Operand, const Instruction * I, raw_ostream & Out)Defined at line 4374 of file llvm/lib/IR/AsmWriter.cpp
-
void writeTypeIdSummaryRecord (SmallVector<uint64_t, 64> & NameVals, StringTableBuilder & StrtabBuilder, StringRef Id, const TypeIdSummary & Summary)Defined at line 4386 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool isMaskOrZero (const Value * V, bool Not, const SimplifyQuery & Q, unsigned int Depth)Returns whether V is a Mask ((X + 1)
&
X == 0) or ~Mask (-Pow2OrZero)
Defined at line 4386 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
IntrinsicInst * findInitTrampoline (Value * Callee)Given a call to llvm.adjust.trampoline, find and return the corresponding
call to llvm.init.trampoline if the call to the trampoline can be optimized
to a direct call to a function. Otherwise return NULL.
Defined at line 4389 of file llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
-
void walk_pointer_list_32 (const char * listname, SectionRef S, MachOObjectFile * O, struct DisassembleInfo * info, void (*)(uint32_t, struct DisassembleInfo *) func)Defined at line 4391 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SDValue isUpperSubvectorUndef (SDValue V, const SDLoc & DL, SelectionDAG & DAG)Helper to check if
can be split into subvectors and the upper subvectors
are all undef. In which case return the lower subvector.
Defined at line 4396 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void writeTypeIdCompatibleVtableSummaryRecord (SmallVector<uint64_t, 64> & NameVals, StringTableBuilder & StrtabBuilder, StringRef Id, const TypeIdCompatibleVtableInfo & Summary, ValueEnumerator & VE)Defined at line 4405 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
unsigned int getLoadStoreOpcodeForFP16 (bool Load, const X86Subtarget & STI)Defined at line 4409 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
const SCEV * getAnyExtendConsideringPostIncUses (ArrayRef<PostIncLoopSet> Loops, const SCEV * Expr, Type * ToTy, ScalarEvolution & SE)Extend/Truncate
to
considering post-inc uses in
For all PostIncLoopSets in
first de-normalize
then
perform the extension/truncate and normalize again, as the normalized form
can result in folds that are not valid in the post-inc use contexts. The
expressions for all PostIncLoopSets must match, otherwise return nullptr.
Defined at line 4409 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
bool isFreeToSplitVector (SDValue V, SelectionDAG & DAG)Helper to check if we can access all the constituent subvectors without any
extract ops.
Defined at line 4417 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
unsigned int getLoadStoreRegOpcode (Register Reg, const TargetRegisterClass * RC, bool IsStackAligned, const X86Subtarget & STI, bool Load)Defined at line 4417 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
void collectMemProfCallStacks (FunctionSummary * FS, function GetStackIndex, MapVector<CallStackId, llvm::SmallVector<LinearFrameId>> & CallStacks)Adds the allocation contexts to the CallStacks map. We simply use the
size at the time the context was added as the CallStackId. This works because
when we look up the call stacks later on we process the function summaries
and their allocation records in the same exact order.
Defined at line 4422 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
std::pair<SDValue, SDValue> splitVector (SDValue Op, SelectionDAG & DAG, const SDLoc & dl)Defined at line 4422 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool canSinkStoreWithNoAliasCheck (ArrayRef StoresToSink, PredicatedScalarEvolution & PSE, const Loop & L, VPTypeAnalysis & TypeInfo)Defined at line 4427 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
void print_layout_map (const char * layout_map, uint32_t left)Defined at line 4431 of file llvm/tools/llvm-objdump/MachODump.cpp
-
OverflowKind mapOverflowResult (OverflowResult OR)Convert ConstantRange OverflowResult into SelectionDAG::OverflowKind.
Defined at line 4437 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
void print_layout_map64 (uint64_t p, struct DisassembleInfo * info)Defined at line 4443 of file llvm/tools/llvm-objdump/MachODump.cpp
-
DenseMap writeMemoryProfileRadixTree (MapVector<CallStackId, llvm::SmallVector<LinearFrameId>> && CallStacks, BitstreamWriter & Stream, unsigned int RadixAbbrev)Build the radix tree from the accumulated CallStacks, write out the resulting
linearized radix tree array, and return the map of call stack positions into
this array for use when writing the allocation records. The returned map is
indexed by a CallStackId which in this case is implicitly determined by the
order of function summaries and their allocation infos being written.
Defined at line 4446 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
SDValue splitVectorOp (SDValue Op, SelectionDAG & DAG, const SDLoc & dl)Break an operation into 2 half sized ops and then concatenate the results.
Defined at line 4453 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void print_layout_map32 (uint32_t p, struct DisassembleInfo * info)Defined at line 4454 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isContiguous (const ConstantRange & A, const ConstantRange & B)Defined at line 4455 of file llvm/lib/IR/Verifier.cpp
-
void writeFunctionHeapProfileRecords (BitstreamWriter & Stream, FunctionSummary * FS, unsigned int CallsiteAbbrev, unsigned int AllocAbbrev, unsigned int ContextIdAbbvId, bool PerModule, function GetValueID, function GetStackIndex, bool WriteContextSizeInfoIndex, DenseMap<CallStackId, LinearCallStackId> & CallStackPos, CallStackId & CallStackCount)Defined at line 4462 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
void print_relative_method_list (uint32_t structSizeAndFlags, uint32_t structCount, uint64_t p, struct DisassembleInfo * info, const char * indent, uint32_t pointerBits)Defined at line 4465 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SDValue simplifySetCCWithCTPOP (const TargetLowering & TLI, EVT VT, SDValue N0, const APInt & C1, CondCode Cond, const SDLoc & dl, SelectionDAG & DAG)Defined at line 4466 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
void PrintParentLoopComment (raw_ostream & OS, const MachineLoop * Loop, unsigned int FunctionNumber)PrintParentLoopComment - Print comments about parent loops of this one.
Defined at line 4467 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
Value * upgradeAArch64IntrinsicCall (StringRef Name, CallBase * CI, Function * F, IRBuilder<> & Builder)Defined at line 4467 of file llvm/lib/IR/AutoUpgrade.cpp
-
bool isFPBPAccess (const MachineInstr & MI, Register FP, Register BP, const TargetRegisterInfo * TRI, bool & AccessFP, bool & AccessBP)Defined at line 4475 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
SDValue splitVectorIntUnary (SDValue Op, SelectionDAG & DAG, const SDLoc & dl)Break an unary integer operation into 2 half sized ops and then
concatenate the result back.
Defined at line 4478 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void PrintChildLoopComment (raw_ostream & OS, const MachineLoop * Loop, unsigned int FunctionNumber)PrintChildLoopComment - Print comments about child loops within
the loop for this basic block, with nesting.
Defined at line 4479 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
bool mergeConditionalStores (BranchInst * PBI, BranchInst * QBI, DomTreeUpdater * DTU, const DataLayout & DL, const TargetTransformInfo & TTI)Defined at line 4479 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void emitBasicBlockLoopComments (const MachineBasicBlock & MBB, const MachineLoopInfo * LI, const AsmPrinter & AP)emitBasicBlockLoopComments - Pretty-print comments for basic blocks.
Defined at line 4492 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
Value * foldICmpWithLowBitMaskedVal (CmpPredicate Pred, Value * Op0, Value * Op1, const SimplifyQuery & Q, InstCombiner & IC)Some comparisons can be simplified.
In this case, we are looking for comparisons that look like
a check for a lossy truncation.
Folds:
icmp SrcPred (x
&
Mask), x to icmp DstPred x, Mask
icmp SrcPred (x
&
~Mask), ~Mask to icmp DstPred x, ~Mask
icmp eq/ne (x
&
~Mask), 0 to icmp DstPred x, Mask
icmp eq/ne (~x | Mask), -1 to icmp DstPred x, Mask
Where Mask is some pattern that produces all-ones in low bits:
(-1 >> y)
((-1
<
<
y) >> y)
<
- non-canonical, has extra uses
~(-1
<
<
y)
((1
<
<
y) + (-1))
<
- non-canonical, has extra uses
The Mask can be a constant, too.
For some predicates, the operands are commutative.
For others, x can only be on a specific side.
Defined at line 4493 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
SDValue splitVectorIntBinary (SDValue Op, SelectionDAG & DAG, const SDLoc & dl)Break a binary integer operation into 2 half sized ops and then
concatenate the result back.
Defined at line 4494 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isInvoke (const MachineInstr & MI, bool InsideEHLabels)Invoke instruction has been lowered to normal function call. We try to figure
out if MI comes from Invoke.
Do we have any better method?
Defined at line 4495 of file llvm/lib/Target/X86/X86FrameLowering.cpp
-
Value * foldFrexpOfSelect (ExtractValueInst & EV, IntrinsicInst * FrexpCall, SelectInst * SelectInst, InstCombiner::BuilderTy & Builder)Defined at line 4498 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
template <typename F>SDValue SplitOpsAndApply (SelectionDAG & DAG, const X86Subtarget & Subtarget, const SDLoc & DL, EVT VT, ArrayRef<SDValue> Ops, F Builder, bool CheckBWI, bool AllowAVX512)Helper for splitting operands of an operation to legal target size and
apply a function on each part.
Useful for operations that are available on SSE2 in 128-bit, on AVX2 in
256-bit and on AVX512BW in 512-bit. The argument VT is the type used for
deciding if/how to split Ops. Ops elements do *not* have to be of type VT.
The argument Builder is a function that will be applied on each split part:
SDValue Builder(SelectionDAG
&G
, SDLoc, ArrayRef
<SDValue
>)
Defined at line 4512 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void collectModes (int & Modes, const TreePatternNode & N)Defined at line 4520 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
Value * upgradeARMIntrinsicCall (StringRef Name, CallBase * CI, Function * F, IRBuilder<> & Builder)Defined at line 4524 of file llvm/lib/IR/AutoUpgrade.cpp
-
SDValue foldSetCCWithRotate (EVT VT, SDValue N0, SDValue N1, CondCode Cond, const SDLoc & dl, SelectionDAG & DAG)Defined at line 4540 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
Value * simplifySelectBitTest (Value * TrueVal, Value * FalseVal, Value * X, const APInt * Y, bool TrueWhenUnset)Try to simplify a select instruction when its condition operand is an
integer comparison where one operand of the compare is a constant.
Defined at line 4547 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void print_method_list64_t (uint64_t p, struct DisassembleInfo * info, const char * indent)Defined at line 4547 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SDValue getAVX512Node (unsigned int Opcode, const SDLoc & DL, MVT VT, ArrayRef<SDValue> Ops, SelectionDAG & DAG, const X86Subtarget & Subtarget)Helper function that extends a non-512-bit vector op to 512-bits on non-VLX
targets.
Defined at line 4555 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Instruction * foldXorToXor (BinaryOperator & I, InstCombiner::BuilderTy & Builder)A ^ B can be specified using other logic ops in a variety of patterns. We
can fold these early and efficiently by morphing an existing instruction.
Defined at line 4577 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
Type * stripAggregateTypeWrapping (const DataLayout & DL, Type * Ty)Strip aggregate type wrapping.
This removes no-op aggregate types wrapping an underlying type. It will
strip as many layers of types as it can without changing either the type
size or the allocated size.
Defined at line 4580 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
SDValue foldSetCCWithFunnelShift (EVT VT, SDValue N0, SDValue N1, CondCode Cond, const SDLoc & dl, SelectionDAG & DAG)Defined at line 4583 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
Value * simplifyCmpSelOfMaxMin (Value * CmpLHS, Value * CmpRHS, CmpPredicate Pred, Value * TVal, Value * FVal)Defined at line 4588 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool tryWidenCondBranchToCondBranch (BranchInst * PBI, BranchInst * BI, DomTreeUpdater * DTU)If the previous block ended with a widenable branch, determine if reusing
the target block is profitable and legal. This will have the effect of
"widening" PBI, but doesn't require us to reason about hosting safety.
Defined at line 4591 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void FindDepVarsOf (TreePatternNode & N, int & DepMap)Defined at line 4610 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
Value * upgradeAMDGCNIntrinsicCall (StringRef Name, CallBase * CI, Function * F, IRBuilder<> & Builder)These are expected to have the arguments:
atomic.intrin (ptr, rmw_value, ordering, scope, isVolatile)
Except for int_amdgcn_ds_fadd_v2bf16 which only has (ptr, rmw_value).
Defined at line 4614 of file llvm/lib/IR/AutoUpgrade.cpp
-
Type * getTypePartition (const DataLayout & DL, Type * Ty, uint64_t Offset, uint64_t Size)Try to find a partition of the aggregate type passed in for a given
offset and size.
This recurses through the aggregate type and tries to compute a subtype
based on the offset and size. When the offset and size span a sub-section
of an array, it will even compute a new array type for that sub-section,
and the same for structs.
Note that this routine is very strict and tries to find a partition of the
type which produces the *exact* right offset and size. It is not forgiving
when the size or offset cause either end of type-based partition to be off.
Also, this is a best-effort routine. It is reasonable to give up and not
return a type if necessary.
Defined at line 4618 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
SDValue insert1BitVector (SDValue Op, SelectionDAG & DAG, const X86Subtarget & Subtarget)Insert i1-subvector to i1-vector.
Defined at line 4619 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void FindDepVars (TreePatternNode & N, int & DepVars)Find dependent variables within child patterns
Defined at line 4621 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
Value * foldICmpWithTruncSignExtendedVal (ICmpInst & I, InstCombiner::BuilderTy & Builder)Some comparisons can be simplified.
In this case, we are looking for comparisons that look like
a check for a lossy signed truncation.
Folds: (MaskedBits is a constant.)
((%x
<
<
MaskedBits) a>> MaskedBits) SrcPred %x
Into:
(add %x, (1
<
<
(KeptBits-1))) DstPred (1
<
<
KeptBits)
Where KeptBits = bitwidth(%x) - MaskedBits
Defined at line 4622 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
const SCEV * MatchNotExpr (const SCEV * Expr)If Expr computes ~A, return A else return nullptr
Defined at line 4632 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void DumpDepVars (int & DepVars)Dump the dependent variable set:
Defined at line 4632 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
bool canUseFastMathLibcall (const SDNode * Node)Return if we can use the FAST_* variant of a math libcall for the node.
FIXME: This is just guessing, we probably should have unique specific sets
flags required per libcall.
Defined at line 4645 of file llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
-
void CombineChildVariants (TreePatternNodePtr Orig, const int & ChildVariants, int & OutVariants, CodeGenDAGPatterns & CDP, const int & DepVars)CombineChildVariants - Given a bunch of permutations of each child of the
'operator' node, put them together in all possible ways.
Defined at line 4647 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
void print_method_list32_t (uint64_t p, struct DisassembleInfo * info, const char * indent)Defined at line 4647 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool SimplifyCondBranchToCondBranch (BranchInst * PBI, BranchInst * BI, DomTreeUpdater * DTU, const DataLayout & DL, const TargetTransformInfo & TTI)If we have a conditional branch as a predecessor of another block,
this function tries to simplify it. We know
that PBI and BI are both conditional branches, and BI is in one of the
successor blocks of PBI - PBI branches to BI.
Defined at line 4648 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool MightBeFoldableInst (Instruction * I)This is a little filter, which returns true if an addressing computation
involving I might be folded into a load/store accessing it.
This doesn't need to be perfect, but needs to accept at least
the set of instructions that MatchOperationAddr can.
Defined at line 4656 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
const MDNode * getRangeMetadata (const Instruction & I)Defined at line 4658 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
Value * simplifySelectWithBitTest (Value * CondVal, Value * TrueVal, Value * FalseVal)An alternative way to test if a bit is set or not.
uses e.g. sgt/slt or trunc instead of eq/ne.
Defined at line 4662 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
std::optional<ConstantRange> getRange (const Instruction & I)Defined at line 4662 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
FPClassTest getNoFPClass (const Instruction & I)Defined at line 4671 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
bool isCatchAll (EHPersonality Personality, Constant * TypeInfo)Return 'true' if the given typeinfo will match anything.
Defined at line 4671 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
Value * simplifySelectWithEquivalence (ArrayRef<std::pair<Value *, Value *>> Replacements, Value * TrueVal, Value * FalseVal, const SimplifyQuery & Q, unsigned int MaxRecurse)Try to simplify a select instruction when its condition operand is an
integer equality or floating-point equivalence comparison.
Defined at line 4673 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool isPromotedInstructionLegal (const TargetLowering & TLI, const DataLayout & DL, Value * Val)Check whether or not
is a legal instruction for
Defined at line 4687 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
ScheduleDAGInstrs * createILPMaxScheduler (MachineSchedContext * C)Defined at line 4688 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
ScheduleDAGInstrs * createILPMinScheduler (MachineSchedContext * C)Defined at line 4691 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
Value * foldShiftIntoShiftInAnotherHandOfAndInICmp (ICmpInst & I, SimplifyQuery SQ, InstCombiner::BuilderTy & Builder)Given pattern:
icmp eq/ne (and ((x shift Q), (y oppositeshift K))), 0
we should move shifts to the same hand of 'and', i.e. rewrite as
icmp eq/ne (and (x shift (Q+K)), y), 0 iff (Q+K) u
<
bitwidth(x)
We are only interested in opposite logical shifts here.
One of the shifts can be truncated.
If we can, we want to end up creating 'lshr' shift.
Defined at line 4696 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
Value * simplifySelectWithICmpCond (Value * CondVal, Value * TrueVal, Value * FalseVal, const SimplifyQuery & Q, unsigned int MaxRecurse)Try to simplify a select instruction when its condition operand is an
integer comparison.
Defined at line 4698 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool shorter_filter (const Value * LHS, const Value * RHS)Defined at line 4700 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
MDNode * unwrapMAVOp (CallBase * CI, unsigned int Op)Helper to unwrap intrinsic call MetadataAsValue operands. Return as a
plain MDNode, as it's the verifier's job to check these are the correct
types later.
Defined at line 4709 of file llvm/lib/IR/AutoUpgrade.cpp
-
void CombineChildVariants (TreePatternNodePtr Orig, const int & LHS, const int & RHS, int & OutVariants, CodeGenDAGPatterns & CDP, const int & DepVars)CombineChildVariants - A helper function for binary operators.
Defined at line 4715 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
bool print_method_list (uint32_t p, struct DisassembleInfo * info)Defined at line 4715 of file llvm/tools/llvm-objdump/MachODump.cpp
-
Metadata * unwrapMAVMetadataOp (CallBase * CI, unsigned int Op)Helper to unwrap Metadata MetadataAsValue operands, such as the Value field.
Defined at line 4721 of file llvm/lib/IR/AutoUpgrade.cpp
-
unsigned int getStoreRegOpcode (Register SrcReg, const TargetRegisterClass * RC, bool IsStackAligned, const X86Subtarget & STI)Defined at line 4724 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
void GatherChildrenOfAssociativeOpcode (TreePatternNodePtr N, int & Children)Defined at line 4727 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
MDNode * getDebugLocSafe (const Instruction * I)Defined at line 4728 of file llvm/lib/IR/AutoUpgrade.cpp
-
bool outputDenormalIsIEEEOrPosZero (const Function & F, const Type * Ty)Defined at line 4728 of file llvm/lib/Analysis/ValueTracking.cpp
-
Value * getParentPad (Value * EHPad)Defined at line 4728 of file llvm/lib/IR/Verifier.cpp
-
basic_string printPhdrFlags (unsigned int Flag)Defined at line 4728 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
unsigned int getLoadRegOpcode (Register DestReg, const TargetRegisterClass * RC, bool IsStackAligned, const X86Subtarget & STI)Defined at line 4731 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool isAMXOpcode (unsigned int Opc)Defined at line 4737 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
template <class ELFT>bool checkTLSSections (const typename ELFT::Phdr & Phdr, const typename ELFT::Shdr & Sec)Defined at line 4737 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
void upgradeDbgIntrinsicToDbgRecord (StringRef Name, CallBase * CI)Convert debug intrinsic calls to non-instruction debug records.
- Final part of the intrinsic name, e.g. 'value' in llvm.dbg.value.
- The debug intrinsic call.
Defined at line 4737 of file llvm/lib/IR/AutoUpgrade.cpp
-
template <class ELFT>bool checkPTDynamic (const typename ELFT::Phdr & Phdr, const typename ELFT::Shdr & Sec)Defined at line 4755 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
void GenerateVariantsOf (TreePatternNodePtr N, int & OutVariants, CodeGenDAGPatterns & CDP, const int & DepVars)GenerateVariantsOf - Given a pattern N, generate all permutations we can of
the (potentially recursive) pattern by using algebraic laws.
Defined at line 4755 of file llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
-
void computeKnownFPClassFromCond (const Value * V, Value * Cond, bool CondIsTrue, const Instruction * CxtI, KnownFPClass & KnownFromContext, unsigned int Depth)Defined at line 4773 of file llvm/lib/Analysis/ValueTracking.cpp
-
Instruction * visitMaskedMerge (BinaryOperator & I, InstCombiner::BuilderTy & Builder)If we have a masked merge, in the canonical form of:
(assuming that A only has one use.)
| A | |B|
((x ^ y)
&
M) ^ y
| D |
* If M is inverted:
| D |
((x ^ y)
&
~M) ^ y
We can canonicalize by swapping the final xor operand
to eliminate the 'not' of the mask.
((x ^ y)
&
M) ^ x
* If M is a constant, and D has one use, we transform to 'and' / 'or' ops
because that shortens the dependency chain and improves analysis:
(x
&
M) | (y
&
~M)
Defined at line 4777 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
ScheduleDAGInstrs * createInstructionShuffler (MachineSchedContext * C)Defined at line 4780 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
bool canNarrowLoad (VPWidenRecipe * WideMember0, unsigned int OpIdx, VPValue * OpV, unsigned int Idx)Returns true if
is VPWidenLoadRecipe or VPInterleaveRecipe that can be
converted to a narrower recipe.
is used by a wide recipe that feeds a
store interleave group at index
is the recipe feeding
the same interleave group at index 0. A VPWidenLoadRecipe can be narrowed to
an index-independent load if it feeds all wide ops at all indices (
must be the operand at index
for both the recipe at lane 0,
A VPInterleaveRecipe can be narrowed to a wide load, if
is defined at
of a load interleave group.
Defined at line 4782 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
SDValue concatSubVectors (SDValue V1, SDValue V2, SelectionDAG & DAG, const SDLoc & dl)Defined at line 4784 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void print_protocol_list64_t (uint64_t p, struct DisassembleInfo * info)Defined at line 4787 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isConsecutiveInterleaveGroup (VPInterleaveRecipe * InterleaveR, ElementCount VF, VPTypeAnalysis & TypeInfo, TypeSize VectorRegWidth)Returns true if
is a full interleave group with factor and number of
members both equal to
The interleave group must also access the full
vector width
Defined at line 4798 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
SDValue getOnesVector (EVT VT, SelectionDAG & DAG, const SDLoc & dl)Returns a vector of specified type with all bits set.
Always build ones vectors as
<
4 x i32>,
<
8 x i32> or
<
16 x i32>.
Then bitcast to their original type, ensuring they get CSE'd.
Defined at line 4799 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getEXTEND_VECTOR_INREG (unsigned int Opcode, const SDLoc & DL, EVT VT, SDValue In, SelectionDAG & DAG)Defined at line 4807 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Instruction * foldNotXor (BinaryOperator & I, InstCombiner::BuilderTy & Builder)Defined at line 4809 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
Value * simplifySelectWithFCmp (Value * Cond, Value * T, Value * F, const SimplifyQuery & Q, unsigned int MaxRecurse)Try to simplify a select instruction when its condition operand is a
floating-point comparison.
Defined at line 4816 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
KnownFPClass computeKnownFPClassFromContext (const Value * V, const SimplifyQuery & Q)Defined at line 4819 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool isAlreadyNarrow (VPValue * VPV)Returns true if
is a narrow VPValue.
Defined at line 4832 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
VPValue * narrowInterleaveGroupOp (VPValue * V, SmallPtrSetImpl<VPValue *> & NarrowedOps)Convert a wide recipe defining a VPValue
feeding an interleave group to
a narrow variant.
Defined at line 4841 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
Instruction * canonicalizeAbs (BinaryOperator & Xor, InstCombiner::BuilderTy & Builder)Canonicalize a shifty way to code absolute value to the more common pattern
that uses negation and select.
Defined at line 4843 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
SDValue getBitSelect (const SDLoc & DL, MVT VT, SDValue LHS, SDValue RHS, SDValue Mask, SelectionDAG & DAG)Create OR(AND(LHS,MASK),AND(RHS,~MASK)) bit select pattern
Defined at line 4848 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool canFreelyInvert (InstCombiner & IC, Value * Op, Instruction * IgnoredUser)Defined at line 4875 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
void computeKnownFPClass (const Value * V, KnownFPClass & Known, FPClassTest InterestedClasses, const SimplifyQuery & Q, unsigned int Depth)Defined at line 4876 of file llvm/lib/Analysis/ValueTracking.cpp
-
Value * freelyInvert (InstCombinerImpl & IC, Value * Op, Instruction * IgnoredUser)Defined at line 4882 of file llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
-
void computeKnownFPClassForFPTrunc (const Operator * Op, const APInt & DemandedElts, FPClassTest InterestedClasses, KnownFPClass & Known, const SimplifyQuery & Q, unsigned int Depth)Defined at line 4885 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool sortIntervals (const ResourceSegments::IntervalTy & A, const ResourceSegments::IntervalTy & B)Sort predicate for the intervals stored in an instance of
ResourceSegments. Intervals are always disjoint (no intersection
for any pairs of intervals), therefore we can sort the totality of
the intervals by looking only at the left boundary.
Defined at line 4886 of file llvm/lib/CodeGen/MachineScheduler.cpp
-
SDValue getVectorShuffle (SelectionDAG & DAG, EVT VT, const SDLoc & dl, SDValue V1, SDValue V2, ArrayRef<int> Mask)Attempt to constant fold, else just create a VECTOR_SHUFFLE.
Defined at line 4887 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void PushDefUseChildren (Instruction * I, SmallVectorImpl<Instruction *> & Worklist, SmallPtrSetImpl<Instruction *> & Visited)Push users of the given Instruction onto the given Worklist.
Defined at line 4892 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
bool isSelectWithIdenticalPHI (PHINode & PN, PHINode & IdenticalPN)Look for the following pattern and simplify %to_fold to %identicalPhi.
Here %phi, %to_fold and %phi.next perform the same functionality as
%identicalPhi and hence the select instruction %to_fold can be folded
into %identicalPhi.
BB1:
%identicalPhi = phi [ X, %BB0 ], [ %identicalPhi.next, %BB1 ]
%phi = phi [ X, %BB0 ], [ %phi.next, %BB1 ]
...
%identicalPhi.next = select %cmp, %val, %identicalPhi
(or select %cmp, %identicalPhi, %val)
%to_fold = select %cmp2, %identicalPhi, %phi
%phi.next = select %cmp, %val, %to_fold
(or select %cmp, %to_fold, %val)
Prove that %phi and %identicalPhi are the same by induction:
Base case: Both %phi and %identicalPhi are equal on entry to the loop.
Inductive case:
Suppose %phi and %identicalPhi are equal at iteration i.
We look at their values at iteration i+1 which are %phi.next and
%identicalPhi.next. They would have become different only when %cmp is
false and the corresponding values %to_fold and %identicalPhi differ
(similar reason for the other "or" case in the bracket).
The only condition when %to_fold and %identicalPh could differ is when %cmp2
is false and %to_fold is %phi, which contradicts our inductive hypothesis
that %phi and %identicalPhi are equal. Thus %phi and %identicalPhi are
always equal at iteration i+1.
Defined at line 4893 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
FunctionCallee getKmpcDistForStaticInitForType (Type * Ty, Module & M, OpenMPIRBuilder & OMPBuilder)Returns an LLVM function to call for initializing loop bounds using OpenMP
static scheduling for composite `distribute parallel for` depending on
`type`. Only i32 and i64 are supported by the runtime. Always interpret
integers as unsigned similarly to CanonicalLoopInfo.
Defined at line 4896 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
unsigned int getVPTESTMOpc (MVT TestVT, bool IsTestN, bool FoldedLoad, bool FoldedBCast, bool Masked)Defined at line 4899 of file llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
-
SDValue getUnpackl (SelectionDAG & DAG, const SDLoc & dl, EVT VT, SDValue V1, SDValue V2)Returns a vector_shuffle node for an unpackl operation.
Defined at line 4908 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
FunctionCallee getKmpcForStaticInitForType (Type * Ty, Module & M, OpenMPIRBuilder & OMPBuilder)Returns an LLVM function to call for initializing loop bounds using OpenMP
static scheduling depending on `type`. Only i32 and i64 are supported by the
runtime. Always interpret integers as unsigned similarly to
CanonicalLoopInfo.
Defined at line 4913 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
SDValue getUnpackh (SelectionDAG & DAG, const SDLoc & dl, EVT VT, SDValue V1, SDValue V2)Returns a vector_shuffle node for an unpackh operation.
Defined at line 4916 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void print_protocol_list32_t (uint32_t p, struct DisassembleInfo * info)Defined at line 4916 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SDValue getPack (SelectionDAG & DAG, const X86Subtarget & Subtarget, const SDLoc & dl, MVT VT, SDValue LHS, SDValue RHS, bool PackHiHalf)Returns a node that packs the LHS + RHS nodes together at half width.
May return X86ISD::PACKSS/PACKUS, packing the top/bottom half.
TODO: Add subvector splitting if/when we have a need for it.
Defined at line 4926 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Register clampVectorIndex (MachineIRBuilder & B, Register IdxReg, LLT VecTy)Defined at line 4931 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
Instruction * foldICmpXNegX (ICmpInst & I, InstCombiner::BuilderTy & Builder)Defined at line 4938 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
template <class ELFT>size_t getMaxDynamicTagSize (const ELFFile<ELFT> & Obj, typename ELFT::DynRange Tags)Defined at line 4959 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
Instruction * foldICmpAndXX (ICmpInst & I, const SimplifyQuery & Q, InstCombinerImpl & IC)Defined at line 4970 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
bool getUniformBase (const Value * Ptr, SDValue & Base, SDValue & Index, SDValue & Scale, SelectionDAGBuilder * SDB, const BasicBlock * CurBB, uint64_t ElemSize)Get a uniform base for the Gather/Scatter intrinsic.
The first argument of the Gather/Scatter intrinsic is a vector of pointers.
We try to represent it as a base pointer + vector of indices.
Usually, the vector of pointers comes from a 'getelementptr' instruction.
The first operand of the GEP may be a single pointer or a vector of pointers
Example:
%gep.ptr = getelementptr i32,
<
8 x i32*> %vptr,
<
8 x i32> %ind
or
%gep.ptr = getelementptr i32, i32* %ptr,
<
8 x i32> %ind
%res = call
<
8 x i32>
.masked.gather.v8i32(
<
8 x i32*> %gep.ptr, ..
When the first GEP operand is a single pointer - it is the uniform base we
are looking for. If first operand of the GEP is a splat vector - we
extract the splat value and use it as a uniform base.
In all other cases the function returns 'false'.
Defined at line 4973 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
bool hasSameNumEltsOnAllVectorOperands (GenericMachineInstr & MI, MachineRegisterInfo & MRI, std::initializer_list<unsigned int> NonVecOpIndices)Check that all vector operands have same number of elements. Other operands
should be listed in NonVecOp.
Defined at line 4981 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
bool isDivRemLibcallAvailable (SDNode * Node, bool isSigned, const TargetLowering & TLI)Return true if divmod libcall is available.
Defined at line 4988 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
void print_indent (uint32_t indent)Defined at line 4992 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SDValue getShuffleVectorZeroOrUndef (SDValue V2, int Idx, bool IsZero, const X86Subtarget & Subtarget, SelectionDAG & DAG)Return a vector_shuffle of the specified vector of zero or undef vector.
This produces a shuffle where the low element of V2 is swizzled into the
zero/undef vector, landing at element Idx.
This produces a shuffle mask like 4,1,2,3 (idx=0) or 0,1,2,4 (idx=3).
Defined at line 4993 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isDefConvertible (const MachineInstr & MI, bool & NoSignFlag, bool & ClearsOverflowFlag)Check whether the definition can be converted
to remove a comparison against zero.
Defined at line 4998 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool print_method_description_list (uint32_t p, uint32_t indent, struct DisassembleInfo * info)Defined at line 5005 of file llvm/tools/llvm-objdump/MachODump.cpp
-
ConstantPoolSDNode * getTargetConstantPoolFromBasePtr (SDValue Ptr)Defined at line 5008 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
const Constant * getTargetConstantFromBasePtr (SDValue Ptr)TODO: Add support for non-zero offsets.
Defined at line 5016 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void makeDstOps (SmallVectorImpl<DstOp> & DstOps, LLT Ty, unsigned int NumElts)Fill
with DstOps that have same number of elements combined as
the Ty. These DstOps have either scalar type when
= 1 or are
vectors with
elements. When Ty.getNumElements() is not multiple
of
last DstOp (leftover) has fewer then
elements.
Defined at line 5019 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
const Constant * getTargetConstantFromNode (LoadSDNode * Load)Defined at line 5023 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
const Constant * getTargetConstantFromNode (SDValue Op)Defined at line 5029 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Instruction * foldICmpOrXX (ICmpInst & I, const SimplifyQuery & Q, InstCombinerImpl & IC)Defined at line 5032 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
void broadcastSrcOp (SmallVectorImpl<SrcOp> & Ops, unsigned int N, MachineOperand & Op)Operand
is used on
sub-instructions. Fill
with
SrcOps
made from
depending on operand type.
Defined at line 5041 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
void applyParallelAccessesMetadata (CanonicalLoopInfo * CLI, LLVMContext & Ctx, Loop * Loop, LoopInfo & LoopInfo, int & LoopMDList)Defined at line 5050 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
bool getTargetConstantBitsFromNode (SDValue Op, unsigned int EltSizeInBits, APInt & UndefElts, SmallVectorImpl<APInt> & EltBits, bool AllowWholeUndefs, bool AllowPartialUndefs)Extract raw constant bits from constant pools.
Defined at line 5051 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
VPValue * tryToComputeEndValueForInduction (VPWidenInductionRecipe * WideIV, VPBuilder & VectorPHBuilder, VPTypeAnalysis & TypeInfo, VPValue * VectorTC)Compute and return the end value for
unless it is truncated. If
the induction recipe is not canonical, creates a VPDerivedIVRecipe to
compute the end value of the induction.
Defined at line 5055 of file llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
-
Instruction * foldICmpXorXX (ICmpInst & I, const SimplifyQuery & Q, InstCombinerImpl & IC)Defined at line 5067 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
SDValue simplifyDivRem (SDNode * N, SelectionDAG & DAG)Defined at line 5075 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool print_protocol (uint32_t p, uint32_t indent, struct DisassembleInfo * info)Defined at line 5075 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isMultipleOf (Value * X, const APInt & C, const SimplifyQuery & Q)Return true if X is a multiple of C.
TODO: Handle non-power-of-2 factors.
Defined at line 5113 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
void LLVMInitializeX86AsmParser ()Force static initialization.
Defined at line 5118 of file llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
-
void LLVMParseCommandLineOptions (int argc, const char *const * argv, const char * Overview)This function parses the given arguments using the LLVM command line parser.
Note that the only stable thing about this function is its signature; you
cannot rely on any particular set of command line arguments being interpreted
the same way across LLVM versions.
Defined at line 2868 of file llvm/lib/Support/CommandLine.cpp
-
Value * simplifyICmpInst (CmpPredicate Predicate, Value * LHS, Value * RHS, const SimplifyQuery & Q, unsigned int MaxRecurse)Given operands for an ICmpInst, see if we can fold the result.
If not, this returns null.
Defined at line 3790 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Value * simplifyCastInst (unsigned int , Value * , Type * , const SimplifyQuery & , unsigned int )Defined at line 5503 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Value * simplifyGEPInst (Type * , Value * , ArrayRef , GEPNoWrapFlags , const SimplifyQuery & , unsigned int )Given operands for an GetElementPtrInst, see if we can fold the result.
If not, this returns null.
Defined at line 5140 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Value * simplifySelectInst (Value * , Value * , Value * , const SimplifyQuery & , unsigned int )Given operands for a SelectInst, see if we can fold the result.
If not, this returns null.
Defined at line 4949 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void stripNonValidData (Module & M)The IR fed into RewriteStatepointsForGC may have had attributes and
metadata implying dereferenceability that are no longer valid/correct after
RewriteStatepointsForGC has run. This is because semantically, after
RewriteStatepointsForGC runs, all calls to gc.statepoint "free" the entire
heap. stripNonValidData (conservatively) restores
correctness by erasing all attributes in the module that externally imply
dereferenceability. Similar reasoning also applies to the noalias
attributes and metadata. gc.statepoint can touch the entire heap including
noalias objects.
Apart from attributes and metadata, we also remove instructions that imply
constant physical memory: llvm.invariant.start.
Defined at line 3016 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
int findGCStrategy (Function & F)Find the GC strategy for a function, or null if it doesn't have one.
Defined at line 2996 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool shouldRewriteStatepointsIn (Function & F)Returns true if this function should be rewritten by this pass. The main
point of this function is as an extension point for custom logic.
Defined at line 3005 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool inSubLoop (BasicBlock * BB, Loop * CurLoop, LoopInfo * LI)Little predicate that returns true if the specified basic block is in
a subloop of the current one, not the current one itself.
Defined at line 2979 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
bool hoistArithmetics (Instruction & I, Loop & L, ICFLoopSafetyInfo & SafetyInfo, MemorySSAUpdater & MSSAU, AssumptionCache * AC, DominatorTree * DT)Aggregates various functions for hoisting computations out of loop.
Defined at line 2930 of file llvm/lib/Transforms/Scalar/LICM.cpp
-
void computeLiveInValues (DominatorTree & DT, Function & F, GCPtrLivenessData & Data, GCStrategy * GC)Compute the live-in set for every basic block in the function
Defined at line 3277 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void findLiveSetAtInst (Instruction * inst, GCPtrLivenessData & Data, int & out, GCStrategy * GC)Given results from the dataflow liveness computation, find the set of live
Values at a particular instruction.
Defined at line 3344 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
bool isKnownNonZero (const Value * V, const APInt & DemandedElts, const SimplifyQuery & Q, unsigned int Depth)Return true if the given value is known to be non-zero when defined. For
vectors, return true if every demanded element is known to be non-zero when
defined. For pointers, if the context instruction and dominator tree are
specified, perform context-sensitive analysis and return true if the
pointer couldn't possibly be null at the specified instruction.
Supports values with integer or pointer type and vectors of integers.
Defined at line 3646 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool isKnownNonEqual (const Value * V1, const Value * V2, const APInt & DemandedElts, const SimplifyQuery & Q, unsigned int Depth)Return true if it is known that V1 != V2.
Defined at line 4092 of file llvm/lib/Analysis/ValueTracking.cpp
-
unsigned int ComputeNumSignBits (const Value * V, const APInt & DemandedElts, const SimplifyQuery & Q, unsigned int Depth)Defined at line 4199 of file llvm/lib/Analysis/ValueTracking.cpp
-
Error addSelfRelocations (LinkGraph & G)Defined at line 2748 of file llvm/tools/llvm-jitlink/llvm-jitlink.cpp
-
void recomputeLiveInValues (GCPtrLivenessData & RevisedLivenessData, CallBase * Call, PartiallyConstructedSafepointRecord & result, int & PointerToBase, GCStrategy * GC)Given an updated version of the dataflow liveness results, update the
liveset and base pointer maps for the call site CS.
Defined at line 3362 of file llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
-
void initCommonOptions ()Defined at line 2683 of file llvm/lib/Support/CommandLine.cpp
-
void writeAsOperandInternal (raw_ostream & Out, const Value * V, AsmWriterContext & WriterCtx, bool PrintType)Full implementation of printing a Value as an operand with support for
TypePrinting, etc.
Defined at line 2721 of file llvm/lib/IR/AsmWriter.cpp
-
void writeAsOperandInternal (raw_ostream & Out, const Metadata * MD, AsmWriterContext & WriterCtx, bool FromValue)Defined at line 2806 of file llvm/lib/IR/AsmWriter.cpp
-
Value * simplifyWithOpReplaced (Value * V, Value * Op, Value * RepOp, const SimplifyQuery & Q, bool AllowRefinement, SmallVectorImpl<Instruction *> * DropFlags, unsigned int MaxRecurse)Defined at line 4523 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void LLVMRemoveStringAttributeAtIndex (LLVMValueRef F, LLVMAttributeIndex Idx, const char * K, unsigned int KLen)Defined at line 2638 of file llvm/lib/IR/Core.cpp
-
void LLVMAddTargetDependentFunctionAttr (LLVMValueRef Fn, const char * A, const char * V)Add a target-dependent attribute to a function
Defined at line 2643 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMCountParams (LLVMValueRef Fn)Obtain the number of parameters in a function.
Defined at line 2652 of file llvm/lib/IR/Core.cpp
-
void LLVMGetParams (LLVMValueRef Fn, LLVMValueRef * Params)Obtain the parameters in a function.
The takes a pointer to a pre-allocated array of LLVMValueRef that is
at least LLVMCountParams() long. This array will be filled with
LLVMValueRef instances which correspond to the parameters the
function receives. Each LLVMValueRef corresponds to a llvm::Argument
instance.
Defined at line 2658 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetParam (LLVMValueRef Fn, unsigned int Index)Obtain the parameter at the specified index.
Parameters are indexed from 0.
Defined at line 2664 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetParamParent (LLVMValueRef Inst)Obtain the function to which this argument belongs.
Unlike other functions in this group, this one takes an LLVMValueRef
that corresponds to a llvm::Attribute.
The returned LLVMValueRef is the llvm::Function to which this
argument belongs.
Defined at line 2669 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetFirstParam (LLVMValueRef Fn)Obtain the first parameter to a function.
Defined at line 2673 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetLastParam (LLVMValueRef Fn)Obtain the last parameter to a function.
Defined at line 2681 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetNextParam (LLVMValueRef Arg)Obtain the next parameter to a function.
This takes an LLVMValueRef obtained from LLVMGetFirstParam() (which is
actually a wrapped iterator) and obtains the next parameter from the
underlying iterator.
Defined at line 2689 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetPreviousParam (LLVMValueRef Arg)Obtain the previous parameter to a function.
This is the opposite of LLVMGetNextParam().
Defined at line 2697 of file llvm/lib/IR/Core.cpp
-
void LLVMSetParamAlignment (LLVMValueRef Arg, unsigned int Align)Set the alignment for a function parameter.
Defined at line 2704 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMAddGlobalIFunc (LLVMModuleRef M, const char * Name, size_t NameLen, LLVMTypeRef Ty, unsigned int AddrSpace, LLVMValueRef Resolver)Add a global indirect function to a module under a specified name.
Defined at line 2711 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetNamedGlobalIFunc (LLVMModuleRef M, const char * Name, size_t NameLen)Obtain a GlobalIFunc value from a Module by its name.
The returned value corresponds to a llvm::GlobalIFunc value.
Defined at line 2721 of file llvm/lib/IR/Core.cpp
-
bool isReportingError (Function * Callee, CallInst * CI, int StreamArg)===----------------------------------------------------------------------===//
Formatting and IO Library Call Optimizations
===----------------------------------------------------------------------===//
Defined at line 3343 of file llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
-
LLVMValueRef LLVMGetFirstGlobalIFunc (LLVMModuleRef M)Obtain an iterator to the first GlobalIFunc in a Module.
Defined at line 2726 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetLastGlobalIFunc (LLVMModuleRef M)Obtain an iterator to the last GlobalIFunc in a Module.
Defined at line 2734 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetNextGlobalIFunc (LLVMValueRef IFunc)Advance a GlobalIFunc iterator to the next GlobalIFunc.
Returns NULL if the iterator was already at the end and there are no more
global aliases.
Defined at line 2742 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetPreviousGlobalIFunc (LLVMValueRef IFunc)Decrement a GlobalIFunc iterator to the previous GlobalIFunc.
Returns NULL if the iterator was already at the beginning and there are
no previous global aliases.
Defined at line 2750 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetGlobalIFuncResolver (LLVMValueRef IFunc)Retrieves the resolver function associated with this indirect function, or
NULL if it doesn't not exist.
Defined at line 2758 of file llvm/lib/IR/Core.cpp
-
void LLVMSetGlobalIFuncResolver (LLVMValueRef IFunc, LLVMValueRef Resolver)Sets the resolver function associated with this indirect function.
Defined at line 2762 of file llvm/lib/IR/Core.cpp
-
void LLVMEraseGlobalIFunc (LLVMValueRef IFunc)Remove a global indirect function from its parent module and delete it.
Defined at line 2766 of file llvm/lib/IR/Core.cpp
-
void LLVMRemoveGlobalIFunc (LLVMValueRef IFunc)Remove a global indirect function from its parent module.
This unlinks the global indirect function from its containing module but
keeps it alive.
Defined at line 2770 of file llvm/lib/IR/Core.cpp
-
LLVMOperandBundleRef LLVMCreateOperandBundle (const char * Tag, size_t TagLen, LLVMValueRef * Args, unsigned int NumArgs)Create a new operand bundle.
Every invocation should be paired with LLVMDisposeOperandBundle() or memory
will be leaked.
Parameters
Tag Tag name of the operand bundleTagLen Length of TagArgs Memory address of an array of bundle operandsNumArgs Length of ArgsDefined at line 2776 of file llvm/lib/IR/Core.cpp
-
void LLVMDisposeOperandBundle (LLVMOperandBundleRef Bundle)Destroy an operand bundle.
This must be called for every created operand bundle or memory will be
leaked.
Defined at line 2783 of file llvm/lib/IR/Core.cpp
-
const char * LLVMGetOperandBundleTag (LLVMOperandBundleRef Bundle, size_t * Len)Obtain the tag of an operand bundle as a string.
Parameters
Bundle Operand bundle to obtain tag of.Len Out parameter which holds the length of the returned string.Returns
The tag name of Bundle.
Defined at line 2787 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetNumOperandBundleArgs (LLVMOperandBundleRef Bundle)Obtain the number of operands for an operand bundle.
Parameters
Bundle Operand bundle to obtain operand count of.Returns
The number of operands.
Defined at line 2793 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetOperandBundleArgAtIndex (LLVMOperandBundleRef Bundle, unsigned int Index)Obtain the operand for an operand bundle at the given index.
Parameters
Bundle Operand bundle to obtain operand of.Index An operand index, must be less than LLVMGetNumOperandBundleArgs().Returns
The operand.
Defined at line 2797 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBasicBlockAsValue (LLVMBasicBlockRef BB)Convert a basic block instance to a value type.
Defined at line 2804 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMValueIsBasicBlock (LLVMValueRef Val)Determine whether an LLVMValueRef is itself a basic block.
Defined at line 2808 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMValueAsBasicBlock (LLVMValueRef Val)Convert an LLVMValueRef to an LLVMBasicBlockRef instance.
Defined at line 2812 of file llvm/lib/IR/Core.cpp
-
const char * LLVMGetBasicBlockName (LLVMBasicBlockRef BB)Obtain the string name of a basic block.
Defined at line 2816 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetBasicBlockParent (LLVMBasicBlockRef BB)Obtain the function to which a basic block belongs.
Defined at line 2820 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetBasicBlockTerminator (LLVMBasicBlockRef BB)Obtain the terminator instruction for a basic block.
If the basic block does not have a terminator (it is not well-formed
if it doesn't), then NULL is returned.
The returned LLVMValueRef corresponds to an llvm::Instruction.
Defined at line 2824 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMCountBasicBlocks (LLVMValueRef Fn)Obtain the number of basic blocks in a function.
Parameters
Fn Function value to operate on.Defined at line 2828 of file llvm/lib/IR/Core.cpp
-
void LLVMGetBasicBlocks (LLVMValueRef Fn, LLVMBasicBlockRef * BasicBlocks)Obtain all of the basic blocks in a function.
This operates on a function value. The BasicBlocks parameter is a
pointer to a pre-allocated array of LLVMBasicBlockRef of at least
LLVMCountBasicBlocks() in length. This array is populated with
LLVMBasicBlockRef instances.
Defined at line 2832 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMGetFirstBasicBlock (LLVMValueRef Fn)Obtain the first basic block in a function.
The returned basic block can be used as an iterator. You will likely
eventually call into LLVMGetNextBasicBlock() with it.
Defined at line 2842 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMGetLastBasicBlock (LLVMValueRef Fn)Obtain the last basic block in a function.
Defined at line 2850 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMGetNextBasicBlock (LLVMBasicBlockRef BB)Advance a basic block iterator.
Defined at line 2858 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMGetPreviousBasicBlock (LLVMBasicBlockRef BB)Go backwards in a basic block iterator.
Defined at line 2866 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMGetEntryBasicBlock (LLVMValueRef Fn)Obtain the basic block that corresponds to the entry point of a
function.
Defined at line 2838 of file llvm/lib/IR/Core.cpp
-
void LLVMInsertExistingBasicBlockAfterInsertBlock (LLVMBuilderRef Builder, LLVMBasicBlockRef BB)Insert the given basic block after the insertion point of the given builder.
The insertion point must be valid.
Defined at line 2879 of file llvm/lib/IR/Core.cpp
-
void LLVMAppendExistingBasicBlock (LLVMValueRef Fn, LLVMBasicBlockRef BB)Append the given basic block to the basic block list of the given function.
Defined at line 2887 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMCreateBasicBlockInContext (LLVMContextRef C, const char * Name)Create a new basic block without inserting it into a function.
Defined at line 2874 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMAppendBasicBlockInContext (LLVMContextRef C, LLVMValueRef Fn, const char * Name)Append a basic block to the end of a function.
Defined at line 2892 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMAppendBasicBlock (LLVMValueRef Fn, const char * Name)Append a basic block to the end of a function using the global
context.
Defined at line 2898 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMInsertBasicBlockInContext (LLVMContextRef C, LLVMBasicBlockRef BB, const char * Name)Insert a basic block in a function before another basic block.
The function to add to is determined by the function of the
passed basic block.
Defined at line 2902 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMInsertBasicBlock (LLVMBasicBlockRef InsertBeforeBB, const char * Name)Insert a basic block in a function using the global context.
Defined at line 2909 of file llvm/lib/IR/Core.cpp
-
void LLVMDeleteBasicBlock (LLVMBasicBlockRef BB)Remove a basic block from a function and delete it.
This deletes the basic block from its containing function and deletes
the basic block itself.
Defined at line 2914 of file llvm/lib/IR/Core.cpp
-
void LLVMRemoveBasicBlockFromParent (LLVMBasicBlockRef BB)Remove a basic block from a function.
This deletes the basic block from its containing function but keep
the basic block alive.
Defined at line 2918 of file llvm/lib/IR/Core.cpp
-
void LLVMMoveBasicBlockBefore (LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos)Move a basic block to before another one.
Defined at line 2922 of file llvm/lib/IR/Core.cpp
-
void LLVMMoveBasicBlockAfter (LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos)Move a basic block to after another one.
Defined at line 2926 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetFirstInstruction (LLVMBasicBlockRef BB)Obtain the first instruction in a basic block.
The returned LLVMValueRef corresponds to a llvm::Instruction
instance.
Defined at line 2936 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetLastInstruction (LLVMBasicBlockRef BB)Obtain the last instruction in a basic block.
The returned LLVMValueRef corresponds to an LLVM:Instruction.
Defined at line 2944 of file llvm/lib/IR/Core.cpp
-
void emitGlobalConstantImpl (const DataLayout & DL, const Constant * C, AsmPrinter & AP, const Constant * BaseCV, uint64_t Offset, int * AliasList)Defined at line 4237 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
LLVMBasicBlockRef LLVMGetInstructionParent (LLVMValueRef Inst)Obtain the basic block to which an instruction belongs.
Defined at line 2932 of file llvm/lib/IR/Core.cpp
-
void emitGlobalConstantFP (const ConstantFP * CFP, AsmPrinter & AP)Defined at line 4090 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
void emitGlobalConstantFP (APFloat APF, Type * ET, AsmPrinter & AP)Defined at line 4046 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
LLVMValueRef LLVMGetNextInstruction (LLVMValueRef Inst)Obtain the instruction that occurs after the one specified.
The next instruction will be from the same basic block.
If this is the last instruction in a basic block, NULL will be
returned.
Defined at line 2952 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetPreviousInstruction (LLVMValueRef Inst)Obtain the instruction that occurred before this one.
If the instruction is the first instruction in a basic block, NULL
will be returned.
Defined at line 2960 of file llvm/lib/IR/Core.cpp
-
void LLVMInstructionRemoveFromParent (LLVMValueRef Inst)Remove an instruction.
The instruction specified is removed from its containing building
block but is kept alive.
Defined at line 2968 of file llvm/lib/IR/Core.cpp
-
void LLVMInstructionEraseFromParent (LLVMValueRef Inst)Remove and delete an instruction.
The instruction specified is removed from its containing building
block and then deleted.
Defined at line 2972 of file llvm/lib/IR/Core.cpp
-
void LLVMDeleteInstruction (LLVMValueRef Inst)Delete an instruction.
The instruction specified is deleted. It must have previously been
removed from its containing building block.
Defined at line 2976 of file llvm/lib/IR/Core.cpp
-
LLVMGetInstructionOpcode (LLVMValueRef Inst)Obtain the code opcode for an individual instruction.
Defined at line 3000 of file llvm/lib/IR/Core.cpp
-
LLVMGetICmpPredicate (LLVMValueRef Inst)Obtain the predicate of an instruction.
This is only valid for instructions that correspond to llvm::ICmpInst.
Defined at line 2980 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMGetICmpSameSign (LLVMValueRef Inst)Get whether or not an icmp instruction has the samesign flag.
This is only valid for instructions that correspond to llvm::ICmpInst.
Defined at line 2986 of file llvm/lib/IR/Core.cpp
-
void LLVMSetICmpSameSign (LLVMValueRef Inst, LLVMBool SameSign)Set the samesign flag on an icmp instruction.
This is only valid for instructions that correspond to llvm::ICmpInst.
Defined at line 2990 of file llvm/lib/IR/Core.cpp
-
LLVMGetFCmpPredicate (LLVMValueRef Inst)Obtain the float predicate of an instruction.
This is only valid for instructions that correspond to llvm::FCmpInst.
Defined at line 2994 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMInstructionClone (LLVMValueRef Inst)Create a copy of 'this' instruction that is identical in all ways
except the following:
* The instruction has no parent
* The instruction has no name
Defined at line 3006 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMIsATerminatorInst (LLVMValueRef Inst)Determine whether an instruction is a terminator. This routine is named to
be compatible with historical functions that did this by querying the
underlying C++ type.
Defined at line 3012 of file llvm/lib/IR/Core.cpp
-
LLVMDbgRecordRef LLVMGetFirstDbgRecord (LLVMValueRef Inst)Obtain the first debug record attached to an instruction.
Use LLVMGetNextDbgRecord() and LLVMGetPreviousDbgRecord() to traverse the
sequence of DbgRecords.
Return the first DbgRecord attached to Inst or NULL if there are none.
Defined at line 3017 of file llvm/lib/IR/Core.cpp
-
void emitGlobalConstantLargeInt (const ConstantInt * CI, AsmPrinter & AP)Defined at line 4094 of file llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
-
LLVMDbgRecordRef LLVMGetLastDbgRecord (LLVMValueRef Inst)Obtain the last debug record attached to an instruction.
Return the last DbgRecord attached to Inst or NULL if there are none.
Defined at line 3027 of file llvm/lib/IR/Core.cpp
-
LLVMDbgRecordRef LLVMGetNextDbgRecord (LLVMDbgRecordRef DbgRecord)Obtain the next DbgRecord in the sequence or NULL if there are no more.
Defined at line 3037 of file llvm/lib/IR/Core.cpp
-
LLVMDbgRecordRef LLVMGetPreviousDbgRecord (LLVMDbgRecordRef DbgRecord)Obtain the previous DbgRecord in the sequence or NULL if there are no more.
Defined at line 3045 of file llvm/lib/IR/Core.cpp
-
LLVMMetadataRef LLVMDbgRecordGetDebugLoc (LLVMDbgRecordRef Rec)Get the debug location attached to the debug record.
Defined at line 3053 of file llvm/lib/IR/Core.cpp
-
LLVMDbgRecordGetKind (LLVMDbgRecordRef Rec)Defined at line 3057 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMDbgVariableRecordGetValue (LLVMDbgRecordRef Rec, unsigned int OpIdx)Get the value of the DbgVariableRecord.
Defined at line 3071 of file llvm/lib/IR/Core.cpp
-
LLVMMetadataRef LLVMDbgVariableRecordGetVariable (LLVMDbgRecordRef Rec)Get the debug info variable of the DbgVariableRecord.
Defined at line 3076 of file llvm/lib/IR/Core.cpp
-
LLVMMetadataRef LLVMDbgVariableRecordGetExpression (LLVMDbgRecordRef Rec)Get the debug info expression of the DbgVariableRecord.
Defined at line 3080 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetNumArgOperands (LLVMValueRef Instr)Obtain the argument count for a call instruction.
This expects an LLVMValueRef that corresponds to a llvm::CallInst,
llvm::InvokeInst, or llvm:FuncletPadInst.
Defined at line 3084 of file llvm/lib/IR/Core.cpp
-
void LLVMSetInstructionCallConv (LLVMValueRef Instr, unsigned int CC)Set the calling convention for a call instruction.
This expects an LLVMValueRef that corresponds to a llvm::CallInst or
llvm::InvokeInst.
Defined at line 3097 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetInstructionCallConv (LLVMValueRef Instr)Obtain the calling convention for a call instruction.
This is the opposite of LLVMSetInstructionCallConv(). Reads its
usage.
Defined at line 3093 of file llvm/lib/IR/Core.cpp
-
void LLVMSetInstrParamAlignment (LLVMValueRef Instr, LLVMAttributeIndex Idx, unsigned int Align)Defined at line 3102 of file llvm/lib/IR/Core.cpp
-
void LLVMAddCallSiteAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, LLVMAttributeRef A)Defined at line 3110 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetCallSiteAttributeCount (LLVMValueRef C, LLVMAttributeIndex Idx)Defined at line 3115 of file llvm/lib/IR/Core.cpp
-
void LLVMGetCallSiteAttributes (LLVMValueRef C, LLVMAttributeIndex Idx, LLVMAttributeRef * Attrs)Defined at line 3122 of file llvm/lib/IR/Core.cpp
-
LLVMAttributeRef LLVMGetCallSiteEnumAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, unsigned int KindID)Defined at line 3130 of file llvm/lib/IR/Core.cpp
-
LLVMAttributeRef LLVMGetCallSiteStringAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, const char * K, unsigned int KLen)Defined at line 3137 of file llvm/lib/IR/Core.cpp
-
void LLVMRemoveCallSiteEnumAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, unsigned int KindID)Defined at line 3144 of file llvm/lib/IR/Core.cpp
-
void LLVMRemoveCallSiteStringAttribute (LLVMValueRef C, LLVMAttributeIndex Idx, const char * K, unsigned int KLen)Defined at line 3149 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMGetCalledFunctionType (LLVMValueRef C)Obtain the function type called by this instruction.
Defined at line 3158 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetCalledValue (LLVMValueRef Instr)Obtain the pointer to the function invoked by this instruction.
This expects an LLVMValueRef that corresponds to a llvm::CallInst or
llvm::InvokeInst.
Defined at line 3154 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetNumOperandBundles (LLVMValueRef C)Obtain the number of operand bundles attached to this instruction.
This only works on llvm::CallInst and llvm::InvokeInst instructions.
Defined at line 3162 of file llvm/lib/IR/Core.cpp
-
LLVMOperandBundleRef LLVMGetOperandBundleAtIndex (LLVMValueRef C, unsigned int Index)Obtain the operand bundle attached to this instruction at the given index.
Use LLVMDisposeOperandBundle to free the operand bundle.
This only works on llvm::CallInst and llvm::InvokeInst instructions.
Defined at line 3166 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsTailCall (LLVMValueRef CallInst)Obtain whether a call instruction is a tail call.
This only works on llvm::CallInst instructions.
Defined at line 3174 of file llvm/lib/IR/Core.cpp
-
void LLVMSetTailCall (LLVMValueRef CallInst, LLVMBool IsTailCall)Set whether a call instruction is a tail call.
This only works on llvm::CallInst instructions.
Defined at line 3178 of file llvm/lib/IR/Core.cpp
-
LLVMGetTailCallKind (LLVMValueRef CallInst)Obtain a tail call kind of the call instruction.
Defined at line 3182 of file llvm/lib/IR/Core.cpp
-
void LLVMSetTailCallKind (LLVMValueRef CallInst, kind)Set the call kind of the call instruction.
Defined at line 3186 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMGetNormalDest (LLVMValueRef InvokeInst)Return the normal destination basic block.
This only works on llvm::InvokeInst instructions.
Defined at line 3192 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMGetUnwindDest (LLVMValueRef InvokeInst)Return the unwind destination basic block.
Works on llvm::InvokeInst, llvm::CleanupReturnInst, and
llvm::CatchSwitchInst instructions.
Defined at line 3196 of file llvm/lib/IR/Core.cpp
-
void LLVMSetNormalDest (LLVMValueRef InvokeInst, LLVMBasicBlockRef B)Set the normal destination basic block.
This only works on llvm::InvokeInst instructions.
Defined at line 3205 of file llvm/lib/IR/Core.cpp
-
unsigned int ComputeNumSignBitsImpl (const Value * V, const APInt & DemandedElts, const SimplifyQuery & Q, unsigned int Depth)Return the number of times the sign bit of the register is replicated into
the other bits. We know that at least 1 bit is always equal to the sign bit
(itself), but other cases can give us information. For example, immediately
after an "ashr X, 2", we know that the top 3 bits are all equal to each
other, so we return 3. For vectors, return the number of sign bits for the
vector element with the minimum number of known sign bits of the demanded
elements in the vector specified by DemandedElts.
Defined at line 4213 of file llvm/lib/Analysis/ValueTracking.cpp
-
void LLVMSetUnwindDest (LLVMValueRef InvokeInst, LLVMBasicBlockRef B)Set the unwind destination basic block.
Works on llvm::InvokeInst, llvm::CleanupReturnInst, and
llvm::CatchSwitchInst instructions.
Defined at line 3209 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMGetCallBrDefaultDest (LLVMValueRef CallBr)Get the default destination of a CallBr instruction.
Defined at line 3218 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetCallBrNumIndirectDests (LLVMValueRef CallBr)Get the number of indirect destinations of a CallBr instruction.
Defined at line 3222 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMGetCallBrIndirectDest (LLVMValueRef CallBr, unsigned int Idx)Get the indirect destination of a CallBr instruction at the given index.
Defined at line 3226 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetNumSuccessors (LLVMValueRef Term)Return the number of successors that this terminator has.
Defined at line 3232 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMGetSuccessor (LLVMValueRef Term, unsigned int i)Return the specified successor.
Defined at line 3236 of file llvm/lib/IR/Core.cpp
-
void LLVMSetSuccessor (LLVMValueRef Term, unsigned int i, LLVMBasicBlockRef block)Update the specified successor to point at the provided block.
Defined at line 3240 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsConditional (LLVMValueRef Branch)Return if a branch is conditional.
This only works on llvm::BranchInst instructions.
Defined at line 3246 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetCondition (LLVMValueRef Branch)Return the condition of a branch instruction.
This only works on llvm::BranchInst instructions.
Defined at line 3250 of file llvm/lib/IR/Core.cpp
-
void LLVMSetCondition (LLVMValueRef Branch, LLVMValueRef Cond)Set the condition of a branch instruction.
This only works on llvm::BranchInst instructions.
Defined at line 3254 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMGetSwitchDefaultDest (LLVMValueRef SwitchInstr)Obtain the default destination basic block of a switch instruction.
This only works on llvm::SwitchInst instructions.
Defined at line 3260 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetSwitchCaseValue (LLVMValueRef SwitchInstr, unsigned int i)Obtain the case value for a successor of a switch instruction. i corresponds
to the successor index. The first successor is the default destination, so i
must be greater than zero.
This only works on llvm::SwitchInst instructions.
Defined at line 3264 of file llvm/lib/IR/Core.cpp
-
void LLVMSetSwitchCaseValue (LLVMValueRef SwitchInstr, unsigned int i, LLVMValueRef CaseValue)Set the case value for a successor of a switch instruction. i corresponds to
the successor index. The first successor is the default destination, so i
must be greater than zero.
This only works on llvm::SwitchInst instructions.
Defined at line 3270 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMGetAllocatedType (LLVMValueRef Alloca)Obtain the type that is being allocated by the alloca instruction.
Defined at line 3279 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsInBounds (LLVMValueRef GEP)Check whether the given GEP operator is inbounds.
Defined at line 3285 of file llvm/lib/IR/Core.cpp
-
void LLVMSetIsInBounds (LLVMValueRef GEP, LLVMBool InBounds)Set the given GEP instruction to be inbounds or not.
Defined at line 3289 of file llvm/lib/IR/Core.cpp
-
LLVMTypeRef LLVMGetGEPSourceElementType (LLVMValueRef GEP)Get the source element type of the given GEP operator.
Defined at line 3293 of file llvm/lib/IR/Core.cpp
-
LLVMGEPNoWrapFlags LLVMGEPGetNoWrapFlags (LLVMValueRef GEP)Get the no-wrap related flags for the given GEP instruction.
Defined at line 3297 of file llvm/lib/IR/Core.cpp
-
void LLVMGEPSetNoWrapFlags (LLVMValueRef GEP, LLVMGEPNoWrapFlags NoWrapFlags)Set the no-wrap related flags for the given GEP instruction.
Defined at line 3302 of file llvm/lib/IR/Core.cpp
-
void LLVMAddIncoming (LLVMValueRef PhiNode, LLVMValueRef * IncomingValues, LLVMBasicBlockRef * IncomingBlocks, unsigned int Count)Add an incoming value to the end of a PHI list.
Defined at line 3309 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMCountIncoming (LLVMValueRef PhiNode)Obtain the number of incoming basic blocks to a PHI node.
Defined at line 3316 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetIncomingValue (LLVMValueRef PhiNode, unsigned int Index)Obtain an incoming value to a PHI node as an LLVMValueRef.
Defined at line 3320 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMGetIncomingBlock (LLVMValueRef PhiNode, unsigned int Index)Obtain an incoming value to a PHI node as an LLVMBasicBlockRef.
Defined at line 3324 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetNumIndices (LLVMValueRef Inst)Obtain the number of indices.
NB: This also works on GEP operators.
Defined at line 3330 of file llvm/lib/IR/Core.cpp
-
const unsigned int * LLVMGetIndices (LLVMValueRef Inst)Obtain the indices as an array.
Defined at line 3342 of file llvm/lib/IR/Core.cpp
-
LLVMBuilderRef LLVMCreateBuilderInContext (LLVMContextRef C)An instruction builder represents a point within a basic block and is
the exclusive means of building instructions using the C interface.
@
{
Defined at line 3355 of file llvm/lib/IR/Core.cpp
-
LLVMBuilderRef LLVMCreateBuilder ()Defined at line 3359 of file llvm/lib/IR/Core.cpp
-
void LLVMPositionBuilder (LLVMBuilderRef Builder, LLVMBasicBlockRef Block, LLVMValueRef Instr)Set the builder position before Instr but after any attached debug records,
or if Instr is null set the position to the end of Block.
Defined at line 3370 of file llvm/lib/IR/Core.cpp
-
void LLVMPositionBuilderBeforeDbgRecords (LLVMBuilderRef Builder, LLVMBasicBlockRef Block, LLVMValueRef Inst)Set the builder position before Instr and any attached debug records,
or if Instr is null set the position to the end of Block.
Defined at line 3376 of file llvm/lib/IR/Core.cpp
-
void LLVMPositionBuilderBefore (LLVMBuilderRef Builder, LLVMValueRef Instr)Set the builder position before Instr but after any attached debug records.
Defined at line 3383 of file llvm/lib/IR/Core.cpp
-
void LLVMPositionBuilderBeforeInstrAndDbgRecords (LLVMBuilderRef Builder, LLVMValueRef Instr)Set the builder position before Instr and any attached debug records.
Defined at line 3388 of file llvm/lib/IR/Core.cpp
-
void LLVMPositionBuilderAtEnd (LLVMBuilderRef Builder, LLVMBasicBlockRef Block)Defined at line 3394 of file llvm/lib/IR/Core.cpp
-
LLVMBasicBlockRef LLVMGetInsertBlock (LLVMBuilderRef Builder)Defined at line 3399 of file llvm/lib/IR/Core.cpp
-
void LLVMClearInsertionPosition (LLVMBuilderRef Builder)Defined at line 3403 of file llvm/lib/IR/Core.cpp
-
void LLVMInsertIntoBuilder (LLVMBuilderRef Builder, LLVMValueRef Instr)Defined at line 3407 of file llvm/lib/IR/Core.cpp
-
void LLVMInsertIntoBuilderWithName (LLVMBuilderRef Builder, LLVMValueRef Instr, const char * Name)Defined at line 3411 of file llvm/lib/IR/Core.cpp
-
void LLVMDisposeBuilder (LLVMBuilderRef Builder)Defined at line 3416 of file llvm/lib/IR/Core.cpp
-
LLVMMetadataRef LLVMGetCurrentDebugLocation2 (LLVMBuilderRef Builder)Get location information used by debugging information.
Defined at line 3422 of file llvm/lib/IR/Core.cpp
-
void LLVMSetCurrentDebugLocation2 (LLVMBuilderRef Builder, LLVMMetadataRef Loc)Set location information used by debugging information.
To clear the location metadata of the given instruction, pass NULL to
Defined at line 3426 of file llvm/lib/IR/Core.cpp
-
void LLVMSetInstDebugLocation (LLVMBuilderRef Builder, LLVMValueRef Inst)Attempts to set the debug location for the given instruction using the
current debug location for the given builder. If the builder has no current
debug location, this function is a no-op.
Defined at line 3445 of file llvm/lib/IR/Core.cpp
-
void LLVMAddMetadataToInst (LLVMBuilderRef Builder, LLVMValueRef Inst)Adds the metadata registered with the given builder to the given instruction.
Defined at line 3449 of file llvm/lib/IR/Core.cpp
-
LLVMMetadataRef LLVMBuilderGetDefaultFPMathTag (LLVMBuilderRef Builder)Get the dafult floating-point math metadata for a given builder.
Defined at line 3465 of file llvm/lib/IR/Core.cpp
-
void LLVMBuilderSetDefaultFPMathTag (LLVMBuilderRef Builder, LLVMMetadataRef FPMathTag)Set the default floating-point math metadata for the given builder.
To clear the metadata, pass NULL to
Defined at line 3453 of file llvm/lib/IR/Core.cpp
-
LLVMContextRef LLVMGetBuilderContext (LLVMBuilderRef Builder)Obtain the context to which this builder is associated.
Defined at line 3461 of file llvm/lib/IR/Core.cpp
-
void LLVMSetCurrentDebugLocation (LLVMBuilderRef Builder, LLVMValueRef L)Deprecated: Passing the NULL location will crash.
Use LLVMGetCurrentDebugLocation2 instead.
Defined at line 3433 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetCurrentDebugLocation (LLVMBuilderRef Builder)Deprecated: Returning the NULL location will crash.
Use LLVMGetCurrentDebugLocation2 instead.
Defined at line 3439 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildRetVoid (LLVMBuilderRef )Terminators
Defined at line 3471 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildRet (LLVMBuilderRef , LLVMValueRef V)Defined at line 3475 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildAggregateRet (LLVMBuilderRef , LLVMValueRef * RetVals, unsigned int N)Defined at line 3479 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildBr (LLVMBuilderRef , LLVMBasicBlockRef Dest)Defined at line 3484 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildCondBr (LLVMBuilderRef , LLVMValueRef If, LLVMBasicBlockRef Then, LLVMBasicBlockRef Else)Defined at line 3488 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildSwitch (LLVMBuilderRef , LLVMValueRef V, LLVMBasicBlockRef Else, unsigned int NumCases)Defined at line 3493 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildIndirectBr (LLVMBuilderRef B, LLVMValueRef Addr, unsigned int NumDests)Defined at line 3498 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildCallBr (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Fn, LLVMBasicBlockRef DefaultDest, LLVMBasicBlockRef * IndirectDests, unsigned int NumIndirectDests, LLVMValueRef * Args, unsigned int NumArgs, LLVMOperandBundleRef * Bundles, unsigned int NumBundles, const char * Name)Defined at line 3503 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildInvoke2 (LLVMBuilderRef , LLVMTypeRef Ty, LLVMValueRef Fn, LLVMValueRef * Args, unsigned int NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, const char * Name)Defined at line 3522 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildInvokeWithOperandBundles (LLVMBuilderRef , LLVMTypeRef Ty, LLVMValueRef Fn, LLVMValueRef * Args, unsigned int NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch, LLVMOperandBundleRef * Bundles, unsigned int NumBundles, const char * Name)Defined at line 3531 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildUnreachable (LLVMBuilderRef )Defined at line 3602 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildResume (LLVMBuilderRef B, LLVMValueRef Exn)Exception Handling
Defined at line 3575 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildLandingPad (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef PersFn, unsigned int NumClauses, const char * Name)Defined at line 3545 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildCleanupRet (LLVMBuilderRef B, LLVMValueRef CatchPad, LLVMBasicBlockRef BB)Defined at line 3596 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildCatchRet (LLVMBuilderRef B, LLVMValueRef CatchPad, LLVMBasicBlockRef BB)Defined at line 3590 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildCatchPad (LLVMBuilderRef B, LLVMValueRef ParentPad, LLVMValueRef * Args, unsigned int NumArgs, const char * Name)Defined at line 3557 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildCleanupPad (LLVMBuilderRef B, LLVMValueRef ParentPad, LLVMValueRef * Args, unsigned int NumArgs, const char * Name)Defined at line 3564 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildCatchSwitch (LLVMBuilderRef B, LLVMValueRef ParentPad, LLVMBasicBlockRef UnwindBB, unsigned int NumHandlers, const char * Name)Defined at line 3579 of file llvm/lib/IR/Core.cpp
-
void LLVMAddCase (LLVMValueRef Switch, LLVMValueRef OnVal, LLVMBasicBlockRef Dest)Add a case to the switch instruction
Defined at line 3606 of file llvm/lib/IR/Core.cpp
-
void LLVMAddDestination (LLVMValueRef IndirectBr, LLVMBasicBlockRef Dest)Add a destination to the indirectbr instruction
Defined at line 3611 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetNumClauses (LLVMValueRef LandingPad)Get the number of clauses on the landingpad instruction
Defined at line 3615 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetClause (LLVMValueRef LandingPad, unsigned int Idx)Get the value of the clause at index Idx on the landingpad instruction
Defined at line 3619 of file llvm/lib/IR/Core.cpp
-
void LLVMAddClause (LLVMValueRef LandingPad, LLVMValueRef ClauseVal)Add a catch or filter clause to the landingpad instruction
Defined at line 3623 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsCleanup (LLVMValueRef LandingPad)Get the 'cleanup' flag in the landingpad instruction
Defined at line 3627 of file llvm/lib/IR/Core.cpp
-
void LLVMSetCleanup (LLVMValueRef LandingPad, LLVMBool Val)Set the 'cleanup' flag in the landingpad instruction
Defined at line 3631 of file llvm/lib/IR/Core.cpp
-
void LLVMAddHandler (LLVMValueRef CatchSwitch, LLVMBasicBlockRef Dest)Add a destination to the catchswitch instruction
Defined at line 3635 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetNumHandlers (LLVMValueRef CatchSwitch)Get the number of handlers on the catchswitch instruction
Defined at line 3639 of file llvm/lib/IR/Core.cpp
-
void LLVMGetHandlers (LLVMValueRef CatchSwitch, LLVMBasicBlockRef * Handlers)Obtain the basic blocks acting as handlers for a catchswitch instruction.
The Handlers parameter should point to a pre-allocated array of
LLVMBasicBlockRefs at least LLVMGetNumHandlers() large. On return, the
first LLVMGetNumHandlers() entries in the array will be populated
with LLVMBasicBlockRef instances.
Parameters
CatchSwitch The catchswitch instruction to operate on.Handlers Memory address of an array to be filled with basic blocks.Defined at line 3643 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetArgOperand (LLVMValueRef Funclet, unsigned int i)Get the number of funcletpad arguments.
Defined at line 3660 of file llvm/lib/IR/Core.cpp
-
void LLVMSetArgOperand (LLVMValueRef Funclet, unsigned int i, LLVMValueRef value)Set a funcletpad argument at the given index.
Defined at line 3664 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMGetParentCatchSwitch (LLVMValueRef CatchPad)Get the parent catchswitch instruction of a catchpad instruction.
This only works on llvm::CatchPadInst instructions.
Defined at line 3649 of file llvm/lib/IR/Core.cpp
-
void LLVMSetParentCatchSwitch (LLVMValueRef CatchPad, LLVMValueRef CatchSwitch)Set the parent catchswitch instruction of a catchpad instruction.
This only works on llvm::CatchPadInst instructions.
Defined at line 3653 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildAdd (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Arithmetic
Defined at line 3703 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildNSWAdd (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3708 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildNUWAdd (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3713 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFAdd (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3718 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildSub (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3723 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildNSWSub (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3728 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildNUWSub (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3733 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFSub (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3738 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildMul (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3743 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildNSWMul (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3748 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildNUWMul (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3753 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFMul (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3758 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildUDiv (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3763 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildExactUDiv (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3768 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildSDiv (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3773 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildExactSDiv (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3778 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFDiv (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3783 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildURem (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3788 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildSRem (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3793 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFRem (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3798 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildShl (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3803 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildLShr (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3808 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildAShr (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3813 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildAnd (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3818 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildOr (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3823 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildXor (LLVMBuilderRef , LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3828 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildBinOp (LLVMBuilderRef B, Op, LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 3833 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildNeg (LLVMBuilderRef , LLVMValueRef V, const char * Name)Defined at line 3840 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildNSWNeg (LLVMBuilderRef B, LLVMValueRef V, const char * Name)Defined at line 3844 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildNUWNeg (LLVMBuilderRef B, LLVMValueRef V, const char * Name)Defined at line 3849 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFNeg (LLVMBuilderRef , LLVMValueRef V, const char * Name)Defined at line 3857 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildNot (LLVMBuilderRef , LLVMValueRef V, const char * Name)Defined at line 3861 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMGetNUW (LLVMValueRef ArithInst)Defined at line 3865 of file llvm/lib/IR/Core.cpp
-
void LLVMSetNUW (LLVMValueRef ArithInst, LLVMBool HasNUW)Defined at line 3870 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMGetNSW (LLVMValueRef ArithInst)Defined at line 3875 of file llvm/lib/IR/Core.cpp
-
void LLVMSetNSW (LLVMValueRef ArithInst, LLVMBool HasNSW)Defined at line 3880 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMGetExact (LLVMValueRef DivOrShrInst)Defined at line 3885 of file llvm/lib/IR/Core.cpp
-
void LLVMSetExact (LLVMValueRef DivOrShrInst, LLVMBool IsExact)Defined at line 3890 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMGetNNeg (LLVMValueRef NonNegInst)Gets if the instruction has the non-negative flag set.
Only valid for zext instructions.
Defined at line 3895 of file llvm/lib/IR/Core.cpp
-
void LLVMSetNNeg (LLVMValueRef NonNegInst, LLVMBool IsNonNeg)Sets the non-negative flag for the instruction.
Only valid for zext instructions.
Defined at line 3900 of file llvm/lib/IR/Core.cpp
-
LLVMFastMathFlags LLVMGetFastMathFlags (LLVMValueRef FPMathInst)Get the flags for which fast-math-style optimizations are allowed for this
value.
Only valid on floating point instructions.
Defined at line 3905 of file llvm/lib/IR/Core.cpp
-
void LLVMSetFastMathFlags (LLVMValueRef FPMathInst, LLVMFastMathFlags FMF)Sets the flags for which fast-math-style optimizations are allowed for this
value.
Only valid on floating point instructions.
Defined at line 3911 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMCanValueUseFastMathFlags (LLVMValueRef Inst)Check if a given value can potentially have fast math flags.
Will return true for floating point arithmetic instructions, and for select,
phi, and call instructions whose type is a floating point type, or a vector
or array thereof. See https://llvm.org/docs/LangRef.html#fast-math-flags
Defined at line 3916 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMGetIsDisjoint (LLVMValueRef Inst)Gets whether the instruction has the disjoint flag set.
Only valid for or instructions.
Defined at line 3921 of file llvm/lib/IR/Core.cpp
-
void LLVMSetIsDisjoint (LLVMValueRef Inst, LLVMBool IsDisjoint)Sets the disjoint flag for the instruction.
Only valid for or instructions.
Defined at line 3926 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildMalloc (LLVMBuilderRef , LLVMTypeRef Ty, const char * Name)Memory
Defined at line 3933 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildArrayMalloc (LLVMBuilderRef , LLVMTypeRef Ty, LLVMValueRef Val, const char * Name)Defined at line 3942 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildMemSet (LLVMBuilderRef B, LLVMValueRef Ptr, LLVMValueRef Val, LLVMValueRef Len, unsigned int Align)Creates and inserts a memset to the specified pointer and the
specified value.
Defined at line 3951 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildMemCpy (LLVMBuilderRef B, LLVMValueRef Dst, unsigned int DstAlign, LLVMValueRef Src, unsigned int SrcAlign, LLVMValueRef Size)Creates and inserts a memcpy between the specified pointers.
Defined at line 3958 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildMemMove (LLVMBuilderRef B, LLVMValueRef Dst, unsigned int DstAlign, LLVMValueRef Src, unsigned int SrcAlign, LLVMValueRef Size)Creates and inserts a memmove between the specified pointers.
Defined at line 3967 of file llvm/lib/IR/Core.cpp
-
void computeKnownFPClass (const Value * V, const APInt & DemandedElts, FPClassTest InterestedClasses, KnownFPClass & Known, const SimplifyQuery & Q, unsigned int Depth)Defined at line 4909 of file llvm/lib/Analysis/ValueTracking.cpp
-
LLVMValueRef LLVMBuildAlloca (LLVMBuilderRef , LLVMTypeRef Ty, const char * Name)Defined at line 3976 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildArrayAlloca (LLVMBuilderRef , LLVMTypeRef Ty, LLVMValueRef Val, const char * Name)Defined at line 3981 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFree (LLVMBuilderRef , LLVMValueRef PointerVal)Defined at line 3986 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildLoad2 (LLVMBuilderRef , LLVMTypeRef Ty, LLVMValueRef PointerVal, const char * Name)Defined at line 3990 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildStore (LLVMBuilderRef , LLVMValueRef Val, LLVMValueRef Ptr)Defined at line 3995 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildGEP2 (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, LLVMValueRef * Indices, unsigned int NumIndices, const char * Name)Defined at line 4117 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildInBoundsGEP2 (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, LLVMValueRef * Indices, unsigned int NumIndices, const char * Name)Defined at line 4124 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildGEPWithNoWrapFlags (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, LLVMValueRef * Indices, unsigned int NumIndices, const char * Name, LLVMGEPNoWrapFlags NoWrapFlags)Creates a GetElementPtr instruction. Similar to LLVMBuildGEP2, but allows
specifying the no-wrap flags.
Defined at line 4132 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildStructGEP2 (LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer, unsigned int Idx, const char * Name)Defined at line 4142 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildGlobalString (LLVMBuilderRef B, const char * Str, const char * Name)Defined at line 4149 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildGlobalStringPtr (LLVMBuilderRef B, const char * Str, const char * Name)Deprecated: Use LLVMBuildGlobalString instead, which has identical behavior.
Defined at line 4154 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMGetVolatile (LLVMValueRef Inst)Defined at line 4159 of file llvm/lib/IR/Core.cpp
-
void LLVMSetVolatile (LLVMValueRef MemoryAccessInst, LLVMBool IsVolatile)Defined at line 4163 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMGetWeak (LLVMValueRef CmpXchgInst)Defined at line 4174 of file llvm/lib/IR/Core.cpp
-
void LLVMSetWeak (LLVMValueRef CmpXchgInst, LLVMBool IsWeak)Defined at line 4178 of file llvm/lib/IR/Core.cpp
-
LLVMGetOrdering (LLVMValueRef MemoryAccessInst)Defined at line 4182 of file llvm/lib/IR/Core.cpp
-
void LLVMSetOrdering (LLVMValueRef MemoryAccessInst, Ordering)Defined at line 4196 of file llvm/lib/IR/Core.cpp
-
LLVMGetAtomicRMWBinOp (LLVMValueRef AtomicRMWInst)Defined at line 4209 of file llvm/lib/IR/Core.cpp
-
void LLVMSetAtomicRMWBinOp (LLVMValueRef AtomicRMWInst, BinOp)Defined at line 4213 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildTrunc (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Casts
Defined at line 4219 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildZExt (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4224 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildSExt (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4229 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFPToUI (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4234 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFPToSI (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4239 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildUIToFP (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4244 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildSIToFP (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4249 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFPTrunc (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4254 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFPExt (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4259 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildPtrToInt (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4264 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildIntToPtr (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4269 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildBitCast (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4274 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildAddrSpaceCast (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4279 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildZExtOrBitCast (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4284 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildSExtOrBitCast (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4290 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildTruncOrBitCast (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4296 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildCast (LLVMBuilderRef B, Op, LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4302 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildPointerCast (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4308 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildIntCast2 (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, LLVMBool IsSigned, const char * Name)Defined at line 4313 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFPCast (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Defined at line 4326 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildIntCast (LLVMBuilderRef , LLVMValueRef Val, LLVMTypeRef DestTy, const char * Name)Deprecated: This cast is always signed. Use LLVMBuildIntCast2 instead.
Defined at line 4320 of file llvm/lib/IR/Core.cpp
-
LLVMGetCastOpcode (LLVMValueRef Src, LLVMBool SrcIsSigned, LLVMTypeRef DestTy, LLVMBool DestIsSigned)Defined at line 4331 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildICmp (LLVMBuilderRef , Op, LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Comparisons
Defined at line 4339 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFCmp (LLVMBuilderRef , Op, LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 4346 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildPhi (LLVMBuilderRef , LLVMTypeRef Ty, const char * Name)Miscellaneous instructions
Defined at line 4355 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildCall2 (LLVMBuilderRef , LLVMTypeRef , LLVMValueRef Fn, LLVMValueRef * Args, unsigned int NumArgs, const char * Name)Defined at line 4359 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildCallWithOperandBundles (LLVMBuilderRef , LLVMTypeRef , LLVMValueRef Fn, LLVMValueRef * Args, unsigned int NumArgs, LLVMOperandBundleRef * Bundles, unsigned int NumBundles, const char * Name)Defined at line 4367 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildSelect (LLVMBuilderRef , LLVMValueRef If, LLVMValueRef Then, LLVMValueRef Else, const char * Name)Defined at line 4382 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildVAArg (LLVMBuilderRef , LLVMValueRef List, LLVMTypeRef Ty, const char * Name)Defined at line 4389 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildExtractElement (LLVMBuilderRef , LLVMValueRef VecVal, LLVMValueRef Index, const char * Name)Defined at line 4394 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildInsertElement (LLVMBuilderRef , LLVMValueRef VecVal, LLVMValueRef EltVal, LLVMValueRef Index, const char * Name)Defined at line 4400 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildShuffleVector (LLVMBuilderRef , LLVMValueRef V1, LLVMValueRef V2, LLVMValueRef Mask, const char * Name)Defined at line 4407 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildExtractValue (LLVMBuilderRef , LLVMValueRef AggVal, unsigned int Index, const char * Name)Defined at line 4414 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildInsertValue (LLVMBuilderRef , LLVMValueRef AggVal, LLVMValueRef EltVal, unsigned int Index, const char * Name)Defined at line 4419 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFreeze (LLVMBuilderRef , LLVMValueRef Val, const char * Name)Defined at line 4426 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildIsNull (LLVMBuilderRef , LLVMValueRef Val, const char * Name)Defined at line 4431 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildIsNotNull (LLVMBuilderRef , LLVMValueRef Val, const char * Name)Defined at line 4436 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildPtrDiff2 (LLVMBuilderRef , LLVMTypeRef ElemTy, LLVMValueRef LHS, LLVMValueRef RHS, const char * Name)Defined at line 4441 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFence (LLVMBuilderRef B, ordering, LLVMBool singleThread, const char * Name)Defined at line 4101 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildFenceSyncScope (LLVMBuilderRef B, ordering, unsigned int SSID, const char * Name)Defined at line 4110 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildAtomicRMW (LLVMBuilderRef B, op, LLVMValueRef PTR, LLVMValueRef Val, ordering, LLVMBool singleThread)Defined at line 4448 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildAtomicRMWSyncScope (LLVMBuilderRef B, op, LLVMValueRef PTR, LLVMValueRef Val, ordering, unsigned int SSID)Defined at line 4459 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildAtomicCmpXchg (LLVMBuilderRef B, LLVMValueRef Ptr, LLVMValueRef Cmp, LLVMValueRef New, SuccessOrdering, FailureOrdering, LLVMBool SingleThread)Defined at line 4470 of file llvm/lib/IR/Core.cpp
-
LLVMValueRef LLVMBuildAtomicCmpXchgSyncScope (LLVMBuilderRef B, LLVMValueRef Ptr, LLVMValueRef Cmp, LLVMValueRef New, SuccessOrdering, FailureOrdering, unsigned int SSID)Defined at line 4483 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetNumMaskElements (LLVMValueRef ShuffleVectorInst)Get the number of elements in the mask of a ShuffleVector instruction.
Defined at line 4494 of file llvm/lib/IR/Core.cpp
-
bool print_protocol_list (uint32_t p, uint32_t indent, struct DisassembleInfo * info)Defined at line 5135 of file llvm/tools/llvm-objdump/MachODump.cpp
-
int LLVMGetUndefMaskElem ()Defined at line 4506 of file llvm/lib/IR/Core.cpp
-
int LLVMGetMaskValue (LLVMValueRef ShuffleVectorInst, unsigned int Elt)Get the mask value at position Elt in the mask of a ShuffleVector
instruction.
Defined at line 4500 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsAtomicSingleThread (LLVMValueRef AtomicInst)Defined at line 4512 of file llvm/lib/IR/Core.cpp
-
void LLVMSetAtomicSingleThread (LLVMValueRef AtomicInst, LLVMBool SingleThread)Defined at line 4521 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsAtomic (LLVMValueRef Inst)Returns whether an instruction is an atomic instruction, e.g., atomicrmw,
cmpxchg, fence, or loads and stores with atomic ordering.
Defined at line 4508 of file llvm/lib/IR/Core.cpp
-
unsigned int LLVMGetAtomicSyncScopeID (LLVMValueRef AtomicInst)Returns the synchronization scope ID of an atomic instruction.
Defined at line 4531 of file llvm/lib/IR/Core.cpp
-
void LLVMSetAtomicSyncScopeID (LLVMValueRef AtomicInst, unsigned int SSID)Sets the synchronization scope ID of an atomic instruction.
Defined at line 4537 of file llvm/lib/IR/Core.cpp
-
LLVMGetCmpXchgSuccessOrdering (LLVMValueRef CmpXchgInst)Defined at line 4543 of file llvm/lib/IR/Core.cpp
-
void LLVMSetCmpXchgSuccessOrdering (LLVMValueRef CmpXchgInst, Ordering)Defined at line 4548 of file llvm/lib/IR/Core.cpp
-
LLVMGetCmpXchgFailureOrdering (LLVMValueRef CmpXchgInst)Defined at line 4556 of file llvm/lib/IR/Core.cpp
-
void LLVMSetCmpXchgFailureOrdering (LLVMValueRef CmpXchgInst, Ordering)Defined at line 4561 of file llvm/lib/IR/Core.cpp
-
LLVMModuleProviderRef LLVMCreateModuleProviderForExistingModule (LLVMModuleRef M)Changes the type of M so it can be passed to FunctionPassManagers and the
JIT. They take ModuleProviders for historical reasons.
Defined at line 4571 of file llvm/lib/IR/Core.cpp
-
void LLVMDisposeModuleProvider (LLVMModuleProviderRef M)Destroys the module M.
Defined at line 4576 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMCreateMemoryBufferWithContentsOfFile (const char * Path, LLVMMemoryBufferRef * OutMemBuf, char ** OutMessage)@
{
Defined at line 4583 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMCreateMemoryBufferWithSTDIN (LLVMMemoryBufferRef * OutMemBuf, char ** OutMessage)Defined at line 4597 of file llvm/lib/IR/Core.cpp
-
LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRange (const char * InputData, size_t InputDataLength, const char * BufferName, LLVMBool RequiresNullTerminator)Defined at line 4608 of file llvm/lib/IR/Core.cpp
-
LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRangeCopy (const char * InputData, size_t InputDataLength, const char * BufferName)Defined at line 4619 of file llvm/lib/IR/Core.cpp
-
const char * LLVMGetBufferStart (LLVMMemoryBufferRef MemBuf)Defined at line 4629 of file llvm/lib/IR/Core.cpp
-
size_t LLVMGetBufferSize (LLVMMemoryBufferRef MemBuf)Defined at line 4633 of file llvm/lib/IR/Core.cpp
-
void LLVMDisposeMemoryBuffer (LLVMMemoryBufferRef MemBuf)Defined at line 4637 of file llvm/lib/IR/Core.cpp
-
LLVMPassManagerRef LLVMCreatePassManager ()Constructs a new whole-module pass pipeline. This type of pipeline is
suitable for link-time optimization and whole-module transformations.
Defined at line 4643 of file llvm/lib/IR/Core.cpp
-
LLVMPassManagerRef LLVMCreateFunctionPassManagerForModule (LLVMModuleRef M)Constructs a new function-by-function pass pipeline over the module
provider. It does not take ownership of the module provider. This type of
pipeline is suitable for code generation and JIT compilation tasks.
Defined at line 4647 of file llvm/lib/IR/Core.cpp
-
LLVMPassManagerRef LLVMCreateFunctionPassManager (LLVMModuleProviderRef MP)Deprecated: Use LLVMCreateFunctionPassManagerForModule instead.
Defined at line 4651 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMRunPassManager (LLVMPassManagerRef PM, LLVMModuleRef M)Initializes, executes on the provided module, and finalizes all of the
passes scheduled in the pass manager. Returns 1 if any of the passes
modified the module, 0 otherwise.
Defined at line 4656 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMInitializeFunctionPassManager (LLVMPassManagerRef FPM)Initializes all of the function passes scheduled in the function pass
manager. Returns 1 if any of the passes modified the module, 0 otherwise.
Defined at line 4660 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMRunFunctionPassManager (LLVMPassManagerRef FPM, LLVMValueRef F)Executes all of the function passes scheduled in the function pass manager
on the provided function. Returns 1 if any of the passes modified the
function, false otherwise.
Defined at line 4664 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMFinalizeFunctionPassManager (LLVMPassManagerRef FPM)Finalizes all of the function passes scheduled in the function pass
manager. Returns 1 if any of the passes modified the module, 0 otherwise.
Defined at line 4668 of file llvm/lib/IR/Core.cpp
-
void LLVMDisposePassManager (LLVMPassManagerRef PM)Frees the memory of a pass pipeline. For function pipelines, does not free
the module provider.
Defined at line 4672 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMStartMultithreaded ()Deprecated: Multi-threading can only be enabled/disabled with the compile
time define LLVM_ENABLE_THREADS. This function always returns
LLVMIsMultithreaded().
Defined at line 4678 of file llvm/lib/IR/Core.cpp
-
void LLVMStopMultithreaded ()Deprecated: Multi-threading can only be enabled/disabled with the compile
time define LLVM_ENABLE_THREADS.
Defined at line 4682 of file llvm/lib/IR/Core.cpp
-
LLVMBool LLVMIsMultithreaded ()Check whether LLVM is executing in thread-safe mode or not.
Defined at line 4685 of file llvm/lib/IR/Core.cpp
-
bool isReferencingMDNode (const Instruction & I)Defined at line 5149 of file llvm/lib/IR/AsmWriter.cpp
-
template <typename T>int getEncodedOrdinal (T Value)The special library ordinals have a negative value, but they are encoded in
an unsigned bitfield, so we need to sign extend the value.
Defined at line 5161 of file llvm/lib/Object/MachOObjectFile.cpp
-
basic_string versionFlagToString (unsigned int Flags)Defined at line 5169 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
template <typename T, unsigned N>std::array<T, N> getArray (const MachOObjectFile & O, const void * Ptr)Defined at line 5170 of file llvm/lib/Object/MachOObjectFile.cpp
-
void print_ivar_list64_t (uint64_t p, struct DisassembleInfo * info)Defined at line 5182 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isDivisorPowerOfTwo (SDValue Divisor)Defined at line 5187 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool isUsedWithinShuffleVector (Value * V)Check if any direct or bitcast user of this value is a shuffle instruction.
Defined at line 5192 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
const SCEV * getAddressAccessSCEV (Value * Ptr, LoopVectorizationLegality * Legal, PredicatedScalarEvolution & PSE, const Loop * TheLoop)Gets Address Access SCEV after verifying that the access pattern
is loop invariant except the induction variable dependence.
This SCEV can be sent to the Target in order to estimate the address
calculation cost.
Defined at line 5206 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
tuple selectPartitionType (Partition & P, const DataLayout & DL, AllocaInst & AI, LLVMContext & C)Select a partition type for an alloca partition.
Try to compute a friendly type for this partition of the alloca. This
won't always succeed, in which case we fall back to a legal integer type
or an i8 array of an appropriate size.
Defined at line 5236 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
std::pair<X86::CondCode, unsigned int> isUseDefConvertible (const MachineInstr & MI)Check whether the use can be converted to remove a comparison against zero.
Returns the EFLAGS condition and the operand that we are comparing against zero.
Defined at line 5243 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
SDValue CollectOpsToWiden (SelectionDAG & DAG, const TargetLowering & TLI, SmallVectorImpl<SDValue> & ConcatOps, unsigned int ConcatEnd, EVT VT, EVT MaxVT, EVT WidenVT)Given a vector of operations that have been broken up to widen, see
if we can collect them together into the next widest legal VT. This
implementation is trap-safe.
Defined at line 5259 of file llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
-
Expected toULEB128Array (ArrayRef Data)Defined at line 5270 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
FunctionCallee getKmpcForStaticLoopForType (Type * Ty, OpenMPIRBuilder * OMPBuilder, WorksharingLoopType LoopType)Returns an LLVM function to call for executing an OpenMP static worksharing
for loop depending on `type`. Only i32 and i64 are supported by the runtime.
Always interpret integers as unsigned similarly to CanonicalLoopInfo.
Defined at line 5270 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
Value * simplifyInsertValueInst (Value * Agg, Value * Val, ArrayRef Idxs, const SimplifyQuery & Q, unsigned int )Given operands for an InsertValueInst, see if we can fold the result.
If not, this returns null.
Defined at line 5278 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool printWithoutType (const Value & V, raw_ostream & O, SlotTracker * Machine, const Module * M)Print without a type, skipping the TypePrinting object.
Returns
iff printing was successful.
Defined at line 5281 of file llvm/lib/IR/AsmWriter.cpp
-
void print_ivar_list32_t (uint32_t p, struct DisassembleInfo * info)Defined at line 5283 of file llvm/tools/llvm-objdump/MachODump.cpp
-
template <class ELFT>Expected decodeAddrsigSection (const ELFFile<ELFT> & Obj, const typename ELFT::Shdr & Sec)Defined at line 5286 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
void printAsOperandImpl (const Value & V, raw_ostream & O, bool PrintType, ModuleSlotTracker & MST)Defined at line 5292 of file llvm/lib/IR/AsmWriter.cpp
-
std::optional<BinaryOp> MatchBinaryOp (Value * V, const DataLayout & DL, AssumptionCache & AC, const DominatorTree & DT, const Instruction * CxtI)Try to map
into a BinaryOp, and return
on failure.
Defined at line 5292 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void createTargetLoopWorkshareCall (OpenMPIRBuilder * OMPBuilder, WorksharingLoopType LoopType, BasicBlock * InsertBlock, Value * Ident, Value * LoopBodyArg, Value * TripCount, Function & LoopBodyFn, bool NoLoop)Inserts a call to proper OpenMP Device RTL function which handles
loop worksharing.
Defined at line 5309 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
void writeIdentificationBlock (BitstreamWriter & Stream)Create the "IDENTIFICATION_BLOCK_ID" containing a single string with the
current llvm version, and a record for the epoch number.
Defined at line 5312 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool IsSimplerBaseSCEVForTarget (const TargetTransformInfo & TTI, ScalarEvolution & SE, const SCEV * Best, const SCEV * Reg, MemAccessTy AccessType)Check if Best and Reg are SCEVs separated by a constant amount C, and if so
would the addressing offset +C would be legal where the negative offset -C is
not.
Defined at line 5319 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
void printMetadataImplRec (raw_ostream & ROS, const Metadata & MD, AsmWriterContext & WriterCtx)Recursive version of printMetadataImpl.
Defined at line 5324 of file llvm/lib/IR/AsmWriter.cpp
-
bool SoleWriteToDeadLocal (Instruction * I, TargetLibraryInfo & TLI)Check for case where the call writes to an otherwise dead alloca. This
shows up for unused out-params in idiomatic C/C++ code. Note that this
helper *only* analyzes the write; doesn't check any other legality aspect.
Defined at line 5326 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
template <class ELFT>bool printAArch64PAuthABICoreInfo (raw_ostream & OS, uint32_t DataSize, ArrayRef Desc)Defined at line 5328 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
void workshareLoopTargetCallback (OpenMPIRBuilder * OMPIRBuilder, CanonicalLoopInfo * CLI, Value * Ident, Function & OutlinedFn, const SmallVector<Instruction *, 4> & ToBeDeleted, WorksharingLoopType LoopType, bool NoLoop)Defined at line 5349 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
void print_objc_property_list64 (uint64_t p, struct DisassembleInfo * info)Defined at line 5351 of file llvm/tools/llvm-objdump/MachODump.cpp
-
Value * simplifyExtractValueInst (Value * Agg, ArrayRef Idxs, const SimplifyQuery & , unsigned int )Given operands for an ExtractValueInst, see if we can fold the result.
If not, this returns null.
Defined at line 5357 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void printMetadataImpl (raw_ostream & ROS, const Metadata & MD, ModuleSlotTracker & MST, const Module * M, bool OnlyAsOperand, bool PrintAsTree)Defined at line 5380 of file llvm/lib/IR/AsmWriter.cpp
-
MVT getPromotedVectorElementType (const TargetLowering & TLI, MVT EltVT, MVT NewEltVT)Determine the vector type to use in place of an original scalar element when
promoting equally sized vectors.
Defined at line 5381 of file llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
-
bool isConstantIntMetadataOperand (const Metadata * MD)Defined at line 5391 of file llvm/lib/IR/Verifier.cpp
-
Type * isSimpleCastedPHI (const SCEV * Op, const SCEVUnknown * SymbolicPHI, bool & Signed, ScalarEvolution & SE)Helper function to createAddRecFromPHIWithCasts. We have a phi
node whose symbolic (unknown) SCEV is
which is updated via
the loop backedge by a SCEVAddExpr, possibly also with a few casts on the
way. This function checks if
an operand of this SCEVAddExpr,
follows one of the following patterns:
Op == (SExt ix (Trunc iy (%SymbolicPHI) to ix) to iy)
Op == (ZExt ix (Trunc iy (%SymbolicPHI) to ix) to iy)
If the SCEV expression of
conforms with one of the expected patterns
we return the type of the truncation operation, and indicate whether the
truncated type should be treated as signed/unsigned by setting
to true/false, respectively.
Defined at line 5398 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
Value * simplifyExtractElementInst (Value * Vec, Value * Idx, const SimplifyQuery & Q, unsigned int )Given operands for an ExtractElementInst, see if we can fold the result.
If not, this returns null.
Defined at line 5400 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool isCleanupBlockEmpty (iterator_range R)Check if cleanup block is empty
Defined at line 5402 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
template <typename ELFT>basic_string getGNUProperty (uint32_t Type, uint32_t DataSize, ArrayRef Data, typename ELFT::Half EMachine)Defined at line 5403 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
void writeInt32ToBuffer (uint32_t Value, SmallVectorImpl<char> & Buffer, uint32_t & Position)Defined at line 5417 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool getTargetShuffleMaskIndices (SDValue MaskNode, unsigned int MaskEltSizeInBits, SmallVectorImpl<uint64_t> & RawMask, APInt & UndefElts)Defined at line 5425 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
const Loop * isIntegerLoopHeaderPHI (const PHINode * PN, LoopInfo & LI)Defined at line 5429 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
uint64_t ComputeHash (const FunctionSummary * FS, unsigned int I)Compute a SHA1 hash of the callsite and alloc version information of clone I
in the summary, to use in detection of duplicate clones.
Defined at line 5430 of file llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
-
void print_objc_property_list32 (uint32_t p, struct DisassembleInfo * info)Defined at line 5430 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void emitDarwinBCHeaderAndTrailer (SmallVectorImpl<char> & Buffer, const Triple & TT)If generating a bc file on darwin, we have to emit a
header and trailer to make it compatible with the system archiver. To do
this we emit the following header, and then emit a trailer that pads the
file out to be a multiple of 16 bytes.
struct bc_header {
uint32_t Magic; // 0x0B17C0DE
uint32_t Version; // Version, currently always 0.
uint32_t BitcodeOffset; // Offset to traditional bitcode file.
uint32_t BitcodeSize; // Size of traditional bitcode file.
uint32_t CPUType; // CPU specifier.
... potentially more later ...
};
Defined at line 5436 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool isConstantPowerOf2 (SDValue V, unsigned int EltSizeInBIts, bool AllowUndefs)Defined at line 5443 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Value * simplifyPHINode (PHINode * PN, ArrayRef IncomingValues, const SimplifyQuery & Q)See if we can fold the given phi. If not, returns null.
Defined at line 5451 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
SDValue IsNOT (SDValue V, SelectionDAG & DAG)Helper to attempt to return a cheaper, bit-inverted version of
Defined at line 5459 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SmallVector createFunctionClones (Function & F, unsigned int NumClones, Module & M, OptimizationRemarkEmitter & ORE, std::map<const Function *, SmallPtrSet<const GlobalAlias *, 1>> & FuncToAliasMap, FunctionSummary * FS)Defined at line 5462 of file llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
-
bool isKillAddress (const DbgVariableRecord * DVR)There isn't a shared interface to get the "address" parts out of a
dbg.declare and dbg.assign, so provide some wrappers.
Defined at line 5465 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
const DIExpression * getAddressExpression (const DbgVariableRecord * DVR)Defined at line 5471 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
void writeBitcodeHeader (BitstreamWriter & Stream)Helper to write the header common to all bitcode files.
Defined at line 5483 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool print_class_ro64_t (uint64_t p, struct DisassembleInfo * info, bool & is_meta_class)Defined at line 5485 of file llvm/tools/llvm-objdump/MachODump.cpp
-
DIExpression * createOrReplaceFragment (const DIExpression * Expr, DbgVariableFragmentInfo Frag, int64_t BitExtractOffset)Create or replace an existing fragment in a DIExpression with
If the expression already contains a DW_OP_LLVM_extract_bits_[sz]ext
operation, add
to the offset part.
Returns the new expression, or nullptr if this fails (see details below).
This function is similar to DIExpression::createFragmentExpression except
for 3 important distinctions:
1. The new fragment isn't relative to an existing fragment.
2. It assumes the computed location is a memory location. This means we
don't need to perform checks that creating the fragment preserves the
expression semantics.
3. Existing extract_bits are modified independently of fragment changes
using
A change to the fragment offset or size
may affect a bit extract. But a bit extract offset can change
independently of the fragment dimensions.
Returns the new expression, or nullptr if one couldn't be created.
Ideally this is only used to signal that a bit-extract has become
zero-sized (and thus the new debug record has no size and can be
dropped), however, it fails for other reasons too - see the FIXME below.
FIXME: To keep the change that introduces this function NFC it bails
in some situations unecessarily, e.g. when fragment and bit extract
sizes differ.
Defined at line 5502 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
bool removeEmptyCleanup (CleanupReturnInst * RI, DomTreeUpdater * DTU)Defined at line 5515 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool IsOperandAMemoryOperand (CallInst * CI, InlineAsm * IA, Value * OpVal, const TargetLowering & TLI, const TargetRegisterInfo & TRI)Check to see if all uses of OpVal by the specified inline asm call are due
to memory operands. If so, return true, otherwise return false.
Defined at line 5522 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
void createPackShuffleMask (MVT VT, SmallVectorImpl<int> & Mask, bool Unary, unsigned int NumStages)Create a shuffle mask that matches the PACKSS/PACKUS truncation.
A multi-stage pack shuffle mask is created by specifying NumStages > 1.
Note: This ignores saturation, so inputs must be checked first.
Defined at line 5534 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
template <typename ELFT>SmallVector getGNUPropertyList (ArrayRef Arr, typename ELFT::Half EMachine)Defined at line 5536 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
SDValue GetSignificand (SelectionDAG & DAG, SDValue Op, const SDLoc & dl)GetSignificand - Get the significand and build it into a floating-point
number with exponent of 1:
Op = (Op
&
0x007fffff) | 0x3f800000;
where Op is the hexadecimal representation of floating point value.
Defined at line 5543 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
Value * foldIdentityShuffles (int DestElt, Value * Op0, Value * Op1, int MaskVal, Value * RootVec, unsigned int MaxRecurse)For the given destination element of a shuffle, peek through shuffles to
match a root vector source operand that contains that element in the same
vector lane (ie, the same mask index), so we can eliminate the shuffle(s).
Defined at line 5547 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool FindAllMemoryUses (Instruction * I, SmallVectorImpl<std::pair<Use *, Type *>> & MemoryUses, SmallPtrSetImpl<Instruction *> & ConsideredInsts, const TargetLowering & TLI, const TargetRegisterInfo & TRI, bool OptSize, ProfileSummaryInfo * PSI, BlockFrequencyInfo * BFI, unsigned int & SeenInsts)Recursively walk all the uses of I until we find a memory use.
If we find an obviously non-foldable instruction, return true.
Add accessed addresses and types to MemoryUses.
Defined at line 5547 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
SDValue GetExponent (SelectionDAG & DAG, SDValue Op, const TargetLowering & TLI, const SDLoc & dl)GetExponent - Get the exponent:
(float)(int)(((Op
&
0x7f800000) >> 23) - 127);
where Op is the hexadecimal representation of floating point value.
Defined at line 5556 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
void getPackDemandedElts (EVT VT, const APInt & DemandedElts, APInt & DemandedLHS, APInt & DemandedRHS)Split the demanded elts of a PACKSS/PACKUS node between its operands.
Defined at line 5556 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void insertNewDbgInst (DIBuilder & DIB, DbgVariableRecord * Orig, AllocaInst * NewAddr, DIExpression * NewAddrExpr, Instruction * BeforeInst, optional NewFragment, int64_t BitExtractAdjustment)Insert a new DbgRecord.
Original to copy record type, debug loc and variable from, and
additionally value and value expression for dbg_assign records.
Location's new base address.
New expression to apply to address.
Insert position.
New fragment (absolute, non-relative).
Offset to apply to any extract_bits op.
Defined at line 5566 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
SDValue getF32Constant (SelectionDAG & DAG, unsigned int Flt, const SDLoc & dl)getF32Constant - Get 32-bit floating point constant.
Defined at line 5568 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
FunctionCallee getKmpcForDynamicInitForType (Type * Ty, Module & M, OpenMPIRBuilder & OMPBuilder)Returns an LLVM function to call for initializing loop bounds using OpenMP
dynamic scheduling depending on `type`. Only i32 and i64 are supported by
the runtime. Always interpret integers as unsigned similarly to
CanonicalLoopInfo.
Defined at line 5571 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
template <typename ELFT>GNUAbiTag getGNUAbiTag (ArrayRef Desc)Defined at line 5572 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
SDValue getLimitedPrecisionExp2 (SDValue t0, const SDLoc & dl, SelectionDAG & DAG)Defined at line 5574 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
ValueInfo findValueInfoForFunc (const Function & F, const Module & M, const ModuleSummaryIndex * ImportSummary, const Function * CallingFunc)Locate the summary for F. This is complicated by the fact that it might
have been internalized or promoted.
Defined at line 5575 of file llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
-
void getHorizDemandedElts (EVT VT, const APInt & DemandedElts, APInt & DemandedLHS, APInt & DemandedRHS)Split the demanded elts of a HADD/HSUB node between its operands.
Defined at line 5581 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
FunctionCallee getKmpcForDynamicNextForType (Type * Ty, Module & M, OpenMPIRBuilder & OMPBuilder)Returns an LLVM function to call for updating the next loop using OpenMP
dynamic scheduling depending on `type`. Only i32 and i64 are supported by
the runtime. Always interpret integers as unsigned similarly to
CanonicalLoopInfo.
Defined at line 5587 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
Value * simplifyShuffleVectorInst (Value * Op0, Value * Op1, ArrayRef Mask, Type * RetTy, const SimplifyQuery & Q, unsigned int MaxRecurse)Defined at line 5592 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
basic_string getGNUBuildId (ArrayRef Desc)Defined at line 5594 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool getTargetShuffleMask (SDValue N, bool AllowSentinelZero, SmallVectorImpl<SDValue> & Ops, SmallVectorImpl<int> & Mask, bool & IsUnary)Calculates the shuffle mask corresponding to the target-specific opcode.
If the mask could be calculated, returns it in
returns the shuffle
operands in
and returns true.
Sets
to true if only one source is used. Note that this will set
IsUnary for shuffles which use a single input multiple times, and in those
cases it will adjust the mask to only have indices within that single input.
It is an error to call this with non-empty Mask/Ops vectors.
Defined at line 5596 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
template <typename SubclassT, sandboxir::Instruction::Opcode OpcodeT>void testCastInst (llvm::Module & M, llvm::Type * LLVMSrcTy, llvm::Type * LLVMDstTy)CastInst's subclasses are very similar so we can use a common test function
for them.
Defined at line 5601 of file llvm/unittests/SandboxIR/SandboxIRTest.cpp
-
StringRef getDescAsStringRef (ArrayRef Desc)Defined at line 5602 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
FunctionCallee getKmpcForDynamicFiniForType (Type * Ty, Module & M, OpenMPIRBuilder & OMPBuilder)Returns an LLVM function to call for finalizing the dynamic loop using
depending on `type`. Only i32 and i64 are supported by the runtime. Always
interpret integers as unsigned similarly to CanonicalLoopInfo.
Defined at line 5602 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
template <typename ELFT>bool printGNUNote (raw_ostream & OS, uint32_t NoteType, ArrayRef Desc, typename ELFT::Half EMachine)Defined at line 5607 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool print_class_ro32_t (uint32_t p, struct DisassembleInfo * info, bool & is_meta_class)Defined at line 5619 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool mergeCleanupPad (CleanupReturnInst * RI)Try to merge two cleanuppads together.
Defined at line 5632 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool FindAllMemoryUses (Instruction * I, SmallVectorImpl<std::pair<Use *, Type *>> & MemoryUses, const TargetLowering & TLI, const TargetRegisterInfo & TRI, bool OptSize, ProfileSummaryInfo * PSI, BlockFrequencyInfo * BFI)Defined at line 5633 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
vector getAndroidNoteProperties (uint32_t NoteType, ArrayRef Desc)Defined at line 5639 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
SDValue expandExp (const SDLoc & dl, SDValue Op, SelectionDAG & DAG, const TargetLowering & TLI, SDNodeFlags Flags)expandExp - Lower an exp intrinsic. Handles the special sequences for
limited-precision mode.
Defined at line 5664 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
void checkAllocContextIds (const AllocInfo & AllocNode, const MDNode * MemProfMD, const CallStack<MDNode, MDNode::op_iterator> & CallsiteContext, const ModuleSummaryIndex * ImportSummary)Sanity check that the MIB stack ids match between the summary and
instruction metadata.
Defined at line 5665 of file llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
-
bool printAndroidNote (raw_ostream & OS, uint32_t NoteType, ArrayRef Desc)Defined at line 5677 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
void print_class64_t (uint64_t p, struct DisassembleInfo * info)Defined at line 5683 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void upgradeNVVMFnVectorAttr (StringRef Attr, const char DimC, GlobalValue * GV, const Metadata * V)Defined at line 5684 of file llvm/lib/IR/AutoUpgrade.cpp
-
SDValue expandLog (const SDLoc & dl, SDValue Op, SelectionDAG & DAG, const TargetLowering & TLI, SDNodeFlags Flags)expandLog - Lower a log intrinsic. Handles the special sequences for
limited-precision mode.
Defined at line 5686 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
bool canConvert2Copy (unsigned int Opc)Defined at line 5691 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
unsigned int convertALUrr2ALUri (unsigned int Opc)Convert an ALUrr opcode to corresponding ALUri opcode. Such as
ADD32rr ==> ADD32ri
Defined at line 5709 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
Constant * foldConstant (UnaryOps Opcode, Value *& Op, const SimplifyQuery & Q)Defined at line 5714 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
template <typename ELFT>bool printLLVMOMPOFFLOADNote (raw_ostream & OS, uint32_t NoteType, ArrayRef Desc)Defined at line 5716 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool isXYZ (StringRef S)Defined at line 5717 of file llvm/lib/IR/AutoUpgrade.cpp
-
bool upgradeSingleNVVMAnnotation (GlobalValue * GV, StringRef K, const Metadata * V)Defined at line 5721 of file llvm/lib/IR/AutoUpgrade.cpp
-
Value * simplifyFNegInst (Value * Op, FastMathFlags FMF, const SimplifyQuery & Q, unsigned int MaxRecurse)Given the operand for an FNeg, see if we can fold the result. If not, this
returns null.
Defined at line 5723 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
int rewritesSort (const AsmRewrite * AsmRewriteA, const AsmRewrite * AsmRewriteB)We are comparing pointers, but the pointers are relative to a single string.
Thus, this should always be deterministic.
Defined at line 5732 of file llvm/lib/MC/MCParser/MasmParser.cpp
-
Constant * propagateNaN (Constant * In)Try to propagate existing NaN values when possible. If not, replace the
constant or elements in the constant with a canonical NaN.
Defined at line 5743 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void redirectAllPredecessorsTo (BasicBlock * OldTarget, BasicBlock * NewTarget, DebugLoc DL)Redirect all edges that branch to
to
That is,
after this
will be orphaned.
Defined at line 5749 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
template <typename ELFT>optional getFreeBSDNote (uint32_t NoteType, ArrayRef Desc, bool IsCore)Defined at line 5750 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
void removeUnusedBlocksFromParent (ArrayRef BBs)Determine which blocks in
are reachable from outside and remove the
ones that are not reachable from the function.
Defined at line 5757 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
void print_class32_t (uint32_t p, struct DisassembleInfo * info)Defined at line 5764 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool IsNonLocalValue (Value * V, BasicBlock * BB)Return true if the specified values are defined in a
different basic block than BB.
Defined at line 5779 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
Constant * simplifyFPOp (ArrayRef Ops, FastMathFlags FMF, const SimplifyQuery & Q, ExceptionBehavior ExBehavior, RoundingMode Rounding)Perform folds that are common to any floating-point operation. This implies
transforms based on poison/undef/NaN because the operation itself makes no
difference to the result.
Defined at line 5785 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
SDValue expandLog2 (const SDLoc & dl, SDValue Op, SelectionDAG & DAG, const TargetLowering & TLI, SDNodeFlags Flags)expandLog2 - Lower a log2 intrinsic. Handles the special sequences for
limited-precision mode.
Defined at line 5785 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
template <typename ELFT>AMDNote getAMDNote (uint32_t NoteType, ArrayRef Desc)Defined at line 5786 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
ilist_iterator_w_bits findInsertPos (Value * Addr, Instruction * MemoryInst, Value * SunkAddr)Find an insert position of Addr for MemoryInst. We can't guarantee MemoryInst
is the first instruction that will use Addr. So we need to find the first
user of Addr in current BB.
Defined at line 5788 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
const char * getSectionNameForBitcode (const Triple & T)Defined at line 5820 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
bool upgradeRetainReleaseMarker (Module & M)This checks for objc retain release marker which should be upgraded. It
returns true if module is modified.
Defined at line 5823 of file llvm/lib/IR/AutoUpgrade.cpp
-
Instruction * foldICmpPow2Test (ICmpInst & I, InstCombiner::BuilderTy & Builder)Canonicalize checking for a power-of-2-or-zero value:
Defined at line 5824 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
Value * simplifyFAddInst (Value * Op0, Value * Op1, FastMathFlags FMF, const SimplifyQuery & Q, unsigned int MaxRecurse, ExceptionBehavior ExBehavior, RoundingMode Rounding)Given operands for an FAdd, see if we can fold the result. If not, this
returns null.
Defined at line 5826 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void print_objc_class_t (struct objc_class_t * objc_class, struct DisassembleInfo * info)Defined at line 5830 of file llvm/tools/llvm-objdump/MachODump.cpp
-
const char * getSectionNameForCommandline (const Triple & T)Defined at line 5847 of file llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
-
int rewritesSort (const AsmRewrite * AsmRewriteA, const AsmRewrite * AsmRewriteB)We are comparing pointers, but the pointers are relative to a single string.
Thus, this should always be deterministic.
Defined at line 5857 of file llvm/lib/MC/MCParser/AsmParser.cpp
-
optional findContiguousCases (Value * Condition, SmallVectorImpl<ConstantInt *> & Cases, SmallVectorImpl<ConstantInt *> & OtherCases, BasicBlock * Dest, BasicBlock * OtherDest)Defined at line 5873 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void collectOffsetOp (Value * V, SmallVectorImpl<OffsetOp> & Offsets, bool AllowRecursion)Defined at line 5878 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
SDValue expandLog10 (const SDLoc & dl, SDValue Op, SelectionDAG & DAG, const TargetLowering & TLI, SDNodeFlags Flags)expandLog10 - Lower a log10 intrinsic. Handles the special sequences for
limited-precision mode.
Defined at line 5882 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
template <typename ELFT>AMDGPUNote getAMDGPUNote (uint32_t NoteType, ArrayRef Desc)Defined at line 5890 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
Value * simplifyFSubInst (Value * Op0, Value * Op1, FastMathFlags FMF, const SimplifyQuery & Q, unsigned int MaxRecurse, ExceptionBehavior ExBehavior, RoundingMode Rounding)Given operands for an FSub, see if we can fold the result. If not, this
returns null.
Defined at line 5892 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void createUnreachableSwitchDefault (SwitchInst * Switch, DomTreeUpdater * DTU, bool RemoveOrigDefaultBlock)Defined at line 5926 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
Expected readCoreNote (DataExtractor Desc)Defined at line 5936 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool getTargetShuffleMask (SDValue N, bool AllowSentinelZero, SmallVectorImpl<SDValue> & Ops, SmallVectorImpl<int> & Mask)Wrapper for getTargetShuffleMask with InUnary;
Defined at line 5945 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool Expand2AddrUndef (MachineInstrBuilder & MIB, const MCInstrDesc & Desc)Expand a single-def pseudo instruction to a two-addr
instruction with two undef reads of the register being defined.
This is used for mapping:
%xmm4 = V_SET0
to:
%xmm4 = PXORrr undef %xmm4, undef %xmm4
Defined at line 5945 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
Instruction * foldICmpEqualityWithOffset (ICmpInst & I, InstCombiner::BuilderTy & Builder, const SimplifyQuery & SQ)Offset both sides of an equality icmp to see if we can save some
instructions: icmp eq/ne X, Y -> icmp eq/ne X op Z, Y op Z.
Note: This operation should not introduce poison.
Defined at line 5945 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
void print_objc_objc_category_t (struct objc_category_t * objc_category, struct DisassembleInfo * info)Defined at line 5949 of file llvm/tools/llvm-objdump/MachODump.cpp
-
Value * simplifyFMAFMul (Value * Op0, Value * Op1, FastMathFlags FMF, const SimplifyQuery & Q, unsigned int MaxRecurse, ExceptionBehavior ExBehavior, RoundingMode Rounding)Defined at line 5959 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void computeZeroableShuffleElements (ArrayRef<int> Mask, SDValue V1, SDValue V2, APInt & KnownUndef, APInt & KnownZero)Compute whether each element of a shuffle is zeroable.
A "zeroable" vector shuffle element is one which can be lowered to zero.
Either it is an undef element in the shuffle mask, the element of the input
referenced is undef, or the element of the input referenced is known to be
zero. Many x86 shuffles can zero lanes cheaply and we often want to handle
as many lanes with this technique as possible to simplify the remaining
shuffle.
Defined at line 5960 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool Expand2AddrKreg (MachineInstrBuilder & MIB, const MCInstrDesc & Desc, Register Reg)Expand a single-def pseudo instruction to a two-addr
instruction with two %k0 reads.
This is used for mapping:
%k4 = K_SET1
to:
%k4 = KXNORrr %k0, %k0
Defined at line 5965 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
SDValue expandExp2 (const SDLoc & dl, SDValue Op, SelectionDAG & DAG, const TargetLowering & TLI, SDNodeFlags Flags)expandExp2 - Lower an exp2 intrinsic. Handles the special sequences for
limited-precision mode.
Defined at line 5972 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
bool expandMOV32r1 (MachineInstrBuilder & MIB, const TargetInstrInfo & TII, bool MinusOne)Defined at line 5973 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool combineInstructionsOverFunction (Function & F, InstructionWorklist & Worklist, AliasAnalysis * AA, AssumptionCache & AC, TargetLibraryInfo & TLI, TargetTransformInfo & TTI, DominatorTree & DT, OptimizationRemarkEmitter & ORE, BlockFrequencyInfo * BFI, BranchProbabilityInfo * BPI, ProfileSummaryInfo * PSI, const InstCombineOptions & Opts)Defined at line 5980 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
SDValue expandPow (const SDLoc & dl, SDValue LHS, SDValue RHS, SelectionDAG & DAG, const TargetLowering & TLI, SDNodeFlags Flags)visitPow - Lower a pow intrinsic. Handles the special sequences for
limited-precision mode with x == 10.0f.
Defined at line 5984 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
template <typename ELFT>void printCoreNote (raw_ostream & OS, const CoreNote & Note)Defined at line 5987 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool BrPHIToSelect (DominatorTree & DT, BranchInst * BI, PHINode * Merge, Value *& C, Value *& LHS, Value *& RHS)Try to match a control flow sequence that branches out at BI and merges back
at Merge into a "C ? LHS : RHS" select pattern. Return true on a successful
match.
Defined at line 5988 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void checkSwapOperands (sandboxir::Context & Ctx, llvm::sandboxir::CmpInst * Cmp, llvm::CmpInst * LLVMCmp)Defined at line 5989 of file llvm/unittests/SandboxIR/SandboxIRTest.cpp
-
void print_category64_t (uint64_t p, struct DisassembleInfo * info)Defined at line 5990 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool ExpandMOVImmSExti8 (MachineInstrBuilder & MIB, const TargetInstrInfo & TII, const X86Subtarget & Subtarget)Defined at line 5991 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
void checkCommonPredicates (sandboxir::CmpInst * Cmp, llvm::CmpInst * LLVMCmp)Defined at line 6007 of file llvm/unittests/SandboxIR/SandboxIRTest.cpp
-
Value * simplifyFMulInst (Value * Op0, Value * Op1, FastMathFlags FMF, const SimplifyQuery & Q, unsigned int MaxRecurse, ExceptionBehavior ExBehavior, RoundingMode Rounding)Given the operands for an FMul, see if we can fold the result
Defined at line 6009 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
SDValue ExpandPowI (const SDLoc & DL, SDValue LHS, SDValue RHS, SelectionDAG & DAG)ExpandPowI - Expand a llvm.powi intrinsic.
Defined at line 6013 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
SDValue isSaturatingMinMax (SDValue N0, SDValue N1, SDValue N2, SDValue N3, CondCode CC, unsigned int & BW, bool & Unsigned, SelectionDAG & DAG)Function to calculate whether the Min/Max pair of SDNodes (potentially
swapped around) make a signed saturate pattern, clamping to between a signed
saturate of -2^(BW-1) and 2^(BW-1)-1, or an unsigned saturate of 0 and 2^BW.
Returns the node being clamped and the bitwidth of the clamp in BW. Should
work with both SMIN/SMAX nodes and setcc/select combo. The operands are the
same as SimplifySelectCC. N0
<N1
? N2 : N3.
Defined at line 6013 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
Instruction * getFixupInsertPos (const TargetTransformInfo & TTI, const LSRFixup & Fixup, const LSRUse & LU, Instruction * IVIncInsertPos, DominatorTree & DT)Determine where to insert the transformed IV increment instruction for this
fixup. By default this is the default insert position, but if this is a
postincrement opportunity then we try to insert it in the same block as the
fixup user instruction, as this is needed for a postincrement instruction to
be generated.
Defined at line 6041 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
bool getTargetShuffleAndZeroables (SDValue N, SmallVectorImpl<int> & Mask, SmallVectorImpl<SDValue> & Ops, APInt & KnownUndef, APInt & KnownZero)Decode a target shuffle mask and inputs and see if any values are
known to be undef or zero from their inputs.
Returns true if the target shuffle mask was decoded.
FIXME: Merge this with computeZeroableShuffleElements?
Defined at line 6043 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void expandLoadStackGuard (MachineInstrBuilder & MIB, const TargetInstrInfo & TII)LoadStackGuard has so far only been implemented for 64-bit MachO. Different
code sequence is needed for other targets.
Defined at line 6051 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
Value * simplifyFDivInst (Value * Op0, Value * Op1, FastMathFlags FMF, const SimplifyQuery & Q, unsigned int , ExceptionBehavior ExBehavior, RoundingMode Rounding)Defined at line 6054 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
SDValue expandDivFix (unsigned int Opcode, const SDLoc & DL, SDValue LHS, SDValue RHS, SDValue Scale, SelectionDAG & DAG, const TargetLowering & TLI)Defined at line 6064 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
bool expandXorFP (MachineInstrBuilder & MIB, const TargetInstrInfo & TII)Defined at line 6077 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool expandNOVLXLoad (MachineInstrBuilder & MIB, const TargetRegisterInfo * TRI, const MCInstrDesc & LoadDesc, const MCInstrDesc & BroadcastDesc, unsigned int SubIdx)This is used to handle spills for 128/256-bit registers when we have AVX512,
but not VLX. If it uses an extended register we need to use an instruction
that loads the lower 128/256-bit, but is available with only AVX512F.
Defined at line 6092 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
void addBasicBlockMetadata (BasicBlock * BB, ArrayRef Properties)Attach metadata
to the basic block described by
If the
basic block already has metadata, the basic block properties are appended.
Defined at line 6101 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
bool SCEVMinMaxExprContains (const SCEV * Root, const SCEV * OperandToFind, SCEVTypes RootKind)Defined at line 6107 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void print_category32_t (uint32_t p, struct DisassembleInfo * info)Defined at line 6110 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool eliminateDeadSwitchCases (SwitchInst * SI, DomTreeUpdater * DTU, AssumptionCache * AC, const DataLayout & DL)Compute masked bits for the condition of a switch
and use it to remove dead cases.
Defined at line 6110 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
Value * simplifyFRemInst (Value * Op0, Value * Op1, FastMathFlags FMF, const SimplifyQuery & Q, unsigned int , ExceptionBehavior ExBehavior, RoundingMode Rounding)Defined at line 6113 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool expandNOVLXStore (MachineInstrBuilder & MIB, const TargetRegisterInfo * TRI, const MCInstrDesc & StoreDesc, const MCInstrDesc & ExtractDesc, unsigned int SubIdx)This is used to handle spills for 128/256-bit registers when we have AVX512,
but not VLX. If it uses an extended register we need to use an instruction
that stores the lower 128/256-bit, but is available with only AVX512F.
Defined at line 6114 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
SDValue PerformMinMaxFpToSatCombine (SDValue N0, SDValue N1, SDValue N2, SDValue N3, CondCode CC, SelectionDAG & DAG)Defined at line 6116 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
unsigned int getConstraintPiority (ConstraintType CT)Return a number indicating our preference for chosing a type of constraint
over another, for the purpose of sorting them. Immediates are almost always
preferrable (when they can be emitted). A higher return value means a
stronger preference for one constraint type relative to another.
FIXME: We should prefer registers over memory but doing so may lead to
unrecoverable register exhaustion later.
https://github.com/llvm/llvm-project/issues/20571
Defined at line 6117 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
void addLoopMetadata (CanonicalLoopInfo * Loop, ArrayRef Properties)Attach loop metadata
to the loop described by
If the
loop already has metadata, the loop properties are appended.
Defined at line 6125 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
void getUnderlyingArgRegs (SmallVectorImpl<std::pair<Register, TypeSize>> & Regs, const SDValue & N)getUnderlyingArgRegs - Find underlying registers used for a truncated,
bitcasted, or split argument. Returns a list of
<Register
, size in bits>
Defined at line 6126 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
bool expandSHXDROT (MachineInstrBuilder & MIB, const MCInstrDesc & Desc)Defined at line 6135 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
void addAccessGroupMetadata (BasicBlock * Block, MDNode * AccessGroup, LoopInfo & LI)Attach llvm.access.group metadata to the memref instructions of
Defined at line 6136 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
SDValue PerformUMinFpToSatCombine (SDValue N0, SDValue N1, SDValue N2, SDValue N3, CondCode CC, SelectionDAG & DAG)Defined at line 6138 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
void resolveTargetShuffleFromZeroables (SmallVectorImpl<int> & Mask, const APInt & KnownUndef, const APInt & KnownZero, bool ResolveKnownZeros)Replace target shuffle mask elements with known undef/zero sentinels.
Defined at line 6145 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool expandMOVSHP (MachineInstrBuilder & MIB, MachineInstr & MI, const TargetInstrInfo & TII, bool HasAVX)Defined at line 6147 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
void initializeInstructionCombiningPassPassOnce (PassRegistry & Registry)Defined at line 6154 of file llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
-
Value * simplifyUnOp (unsigned int , Value * , const SimplifyQuery & , unsigned int )Given the operand for a UnaryOperator, see if we can fold the result.
If not, this returns null.
Defined at line 6155 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void print_message_refs64 (SectionRef S, struct DisassembleInfo * info)Defined at line 6156 of file llvm/tools/llvm-objdump/MachODump.cpp
-
template <class ELFT>StringRef getNoteTypeName (const typename ELFT::Note & Note, unsigned int ELFType)Defined at line 6161 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
void resolveZeroablesFromTargetShuffle (const SmallVectorImpl<int> & Mask, APInt & KnownUndef, APInt & KnownZero)Extract target shuffle mask sentinel elements to known undef/zero bitmasks.
Defined at line 6162 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Value * simplifyFPUnOp (unsigned int , Value * , const FastMathFlags & , const SimplifyQuery & , unsigned int )Given the operand for a UnaryOperator, see if we can fold the result.
If not, this returns null.
Try to use FastMathFlags when folding the result.
Defined at line 6168 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool createShuffleMaskFromVSELECT (SmallVectorImpl<int> & Mask, SDValue Cond, bool IsBLENDV)Attempt to create a shuffle mask from a VSELECT/BLENDV condition mask.
Defined at line 6178 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Value * simplifyBinOp (unsigned int , Value * , Value * , const SimplifyQuery & , unsigned int )Given operands for a BinaryOperator, see if we can fold the result.
If not, this returns null.
Defined at line 6190 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool isContractableFMul (MachineInstr & MI, bool AllowFusionGlobally)Checks if
is TargetOpcode::G_FMUL and contractable either
due to global flags or MachineInstr flags.
Defined at line 6197 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
bool hasMoreUses (const MachineInstr & MI0, const MachineInstr & MI1, const MachineRegisterInfo & MRI)Defined at line 6203 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
template <class ELFT>void processNotesHelper (const ELFDumper<ELFT> & Dumper, llvm::function_ref<void (std::optional<StringRef>, typename ELFT::Off, typename ELFT::Addr, size_t)> StartNotesFn, llvm::function_ref<Error (const typename ELFT::Note &, bool)> ProcessNoteFn, function_ref FinishNotesFn)Defined at line 6212 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool getFauxShuffleMask (SDValue N, const APInt & DemandedElts, SmallVectorImpl<int> & Mask, SmallVectorImpl<SDValue> & Ops, const SelectionDAG & DAG, unsigned int Depth, bool ResolveKnownElts)Attempt to decode ops that could be represented as a shuffle mask.
The decoded shuffle mask may contain a different number of elements to the
destination value type.
TODO: Merge into getTargetShuffleInputs()
Defined at line 6217 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
PHINode * findPHIForConditionForwarding (ConstantInt * CaseValue, BasicBlock * BB, int * PhiIndex)If BB would be eligible for simplification by
TryToSimplifyUncondBranchFromEmptyBlock (i.e. it is empty and terminated
by an unconditional branch), look at the phi node for BB in the successor
block and see if the incoming value is equal to CaseValue. If so, return
the phi node, and set PhiIndex to BB's index in the phi node.
Defined at line 6225 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void print_message_refs32 (SectionRef S, struct DisassembleInfo * info)Defined at line 6226 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void setFunctionAttrIfNotSet (Function & F, StringRef FnAttrName, StringRef Value)Check if the function attribute is not present and set it.
Defined at line 6228 of file llvm/lib/IR/AutoUpgrade.cpp
-
void ConvertFunctionAttr (Function & F, bool Set, StringRef FnAttrName)Check if the function attribute is not present and set it if needed.
If the attribute is "false" then removes it.
If the attribute is "true" resets it to a valueless attribute.
Defined at line 6237 of file llvm/lib/IR/AutoUpgrade.cpp
-
void initializeSROALegacyPassPassOnce (PassRegistry & Registry)Defined at line 6239 of file llvm/lib/Transforms/Scalar/SROA.cpp
-
Value * simplifyBinOp (unsigned int , Value * , Value * , const FastMathFlags & , const SimplifyQuery & , unsigned int )Given operands for a BinaryOperator, see if we can fold the result.
If not, this returns null.
Try to use FastMathFlags when folding the result.
Defined at line 6241 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void reorderReuses (SmallVectorImpl<int> & Reuses, ArrayRef Mask)Reorders the given
mask according to the given
contains original mask for the scalars reused in the node. Procedure
transform this mask in accordance with the given
Defined at line 6248 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
std::optional<const SCEV *> createNodeForSelectViaUMinSeq (ScalarEvolution * SE, const SCEV * CondExpr, const SCEV * TrueExpr, const SCEV * FalseExpr)Defined at line 6250 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
bool forwardSwitchConditionToPHI (SwitchInst * SI)Try to forward the condition of a switch instruction to a phi node
dominated by the switch, if that would mean that some of the destination
blocks of the switch can be folded away. Return true if a change is made.
Defined at line 6256 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool haveNoCommonBitsSetCommutative (SDValue A, SDValue B)Defined at line 6257 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
void reorderOrder (SmallVectorImpl<unsigned int> & Order, ArrayRef Mask, bool BottomOrder)Reorders the given
according to the given
- is
the original order of the scalars. Procedure transforms the provided order
in accordance with the given
If the resulting
is just an
identity order,
is cleared.
Defined at line 6262 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool lowerImmediateIfPossible (TargetLowering::ConstraintPair & P, SDValue Op, SelectionDAG * DAG, const TargetLowering & TLI)If we have an immediate, see if we can lower it. Return true if we can,
false otherwise.
Defined at line 6263 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
Value * simplifyCmpInst (CmpPredicate , Value * , Value * , const SimplifyQuery & , unsigned int )Given operands for a CmpInst, see if we can fold the result.
Defined at line 6269 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void print_image_info64 (SectionRef S, struct DisassembleInfo * info)Defined at line 6277 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isIdempotent (Intrinsic::ID ID)Defined at line 6281 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
std::optional<const SCEV *> createNodeForSelectViaUMinSeq (ScalarEvolution * SE, Value * Cond, Value * TrueVal, Value * FalseVal)Defined at line 6283 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
SDValue FoldSTEP_VECTOR (const SDLoc & DL, EVT VT, SDValue Step, SelectionDAG & DAG)Defined at line 6300 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
bool removesFPFraction (Intrinsic::ID ID)Return true if the intrinsic rounds a floating-point value to an integral
floating-point value (not an integer type).
Defined at line 6303 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
SDValue FoldBUILD_VECTOR (const SDLoc & DL, EVT VT, ArrayRef<SDValue> Ops, SelectionDAG & DAG)Defined at line 6308 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
bool validLookupTableConstant (Constant * C, const TargetTransformInfo & TTI)Return true if the backend will be able to handle
initializing an array of constants like C.
Defined at line 6314 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool isLegalMaskedLoadStore (Type * ScalarTy, const X86Subtarget * ST)Defined at line 6318 of file llvm/lib/Target/X86/X86TargetTransformInfo.cpp
-
Value * simplifyRelativeLoad (Constant * Ptr, Constant * Offset, const DataLayout & DL)Defined at line 6319 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void print_image_info32 (SectionRef S, struct DisassembleInfo * info)Defined at line 6340 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SDValue BuildExactSDIV (const TargetLowering & TLI, SDNode * N, const SDLoc & dl, SelectionDAG & DAG, SmallVectorImpl<SDNode *> & Created)Given an exact SDIV by a constant, create a multiplication
with the multiplicative inverse of the constant.
Ref: "Hacker's Delight" by Henry Warren, 2nd Edition, p. 242
Defined at line 6340 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
Constant * lookupConstant (Value * V, const SmallDenseMap<Value *, Constant *> & ConstantPool)If V is a Constant, return it. Otherwise, try to look up
its constant value in ConstantPool, returning 0 if it's not there.
Defined at line 6341 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool isOldLoopArgument (Metadata * MD)Defined at line 6341 of file llvm/lib/IR/AutoUpgrade.cpp
-
SDValue foldCONCAT_VECTORS (const SDLoc & DL, EVT VT, ArrayRef<SDValue> Ops, SelectionDAG & DAG)Try to simplify vector concatenation to an input value, undef, or build
vector.
Defined at line 6344 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
MDString * upgradeLoopTag (LLVMContext & C, StringRef OldTag)Defined at line 6353 of file llvm/lib/IR/AutoUpgrade.cpp
-
Constant * constantFold (Instruction * I, const DataLayout & DL, const SmallDenseMap<Value *, Constant *> & ConstantPool)Try to fold instruction I into a constant. This works for
simple instructions such as binary operations where both operands are
constant or can be replaced by constants from the ConstantPool. Returns the
resulting constant on success, 0 otherwise.
Defined at line 6353 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
Metadata * upgradeLoopArgument (Metadata * MD)Defined at line 6365 of file llvm/lib/IR/AutoUpgrade.cpp
-
Value * simplifyLdexp (Value * Op0, Value * Op1, const SimplifyQuery & Q, bool IsStrict)TODO: Need to pass in FastMathFlags
Defined at line 6372 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
int createTargetMachine (Function * F, CodeGenOptLevel OptLevel)Create the TargetMachine object to query the backend for optimization
preferences.
Ideally, this would be passed from the front-end to the OpenMPBuilder, but
e.g. Clang does not pass it to its CodeGen layer and creates it only when
needed for the LLVM pass pipline. We use some default options to avoid
having to pass too many settings from the frontend that probably do not
matter.
Currently, TargetMachine is only used sometimes by the unrollLoopPartial
method. If we are going to use TargetMachine for more purposes, especially
those that are sensitive to TargetOptions, RelocModel and CodeModel, it
might become be worth requiring front-ends to pass on their TargetMachine,
or at least cache it between methods. Note that while fontends such as Clang
have just a single main TargetMachine per translation unit, "target-cpu" and
"target-features" that determine the TargetMachine are per-function and can
be overrided using __attribute__((target("OPTIONS"))).
Defined at line 6375 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
bool getCaseResults (SwitchInst * SI, ConstantInt * CaseVal, BasicBlock * CaseDest, BasicBlock ** CommonDest, SmallVectorImpl<std::pair<PHINode *, Constant *>> & Res, const DataLayout & DL, const TargetTransformInfo & TTI)Try to determine the resulting constant values in phi nodes
at the common destination basic block, *CommonDest, for one of the case
destionations CaseDest corresponding to value CaseVal (0 for the default
case), of a switch instruction SI.
Defined at line 6382 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
int32_t computeHeuristicUnrollFactor (CanonicalLoopInfo * CLI)Heuristically determine the best-performant unroll factor for
This
depends on the target processor. We are re-using the same heuristics as the
LoopUnrollPass.
Defined at line 6397 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
void print_image_info (SectionRef S, struct DisassembleInfo * info)Defined at line 6398 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool matchOverflowPattern (Instruction *& I, ExtractValueInst *& MulExtract, ExtractValueInst *& OverflowExtract)This is a helper for CodeGenPrepare::optimizeMulWithOverflow.
Check the pattern we are interested in where there are maximum 2 uses
of the intrinsic which are the extract instructions.
Defined at line 6402 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
SDValue BuildExactUDIV (const TargetLowering & TLI, SDNode * N, const SDLoc & dl, SelectionDAG & DAG, SmallVectorImpl<SDNode *> & Created)Given an exact UDIV by a constant, create a multiplication
with the multiplicative inverse of the constant.
Ref: "Hacker's Delight" by Henry Warren, 2nd Edition, p. 242
Defined at line 6402 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
unsigned int FixedPointIntrinsicToOpcode (unsigned int Intrinsic)Defined at line 6405 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
Value * simplifyUnaryIntrinsic (Function * F, Value * Op0, const SimplifyQuery & Q, const CallBase * Call)Defined at line 6421 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
const CallBase * FindPreallocatedCall (const Value * PreallocatedSetup)Given a
.call.preallocated.setup, return the corresponding
preallocated call.
Defined at line 6430 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
void printObjc2_64bit_MetaData (MachOObjectFile * O, bool verbose)Defined at line 6438 of file llvm/tools/llvm-objdump/MachODump.cpp
-
size_t mapCaseToResult (ConstantInt * CaseVal, SwitchCaseResultVectorTy & UniqueResults, Constant * Result)Helper function used to add CaseVal to the list of cases that generate
Result. Returns the updated number of cases that generate this result.
Defined at line 6454 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool hasPartialRegUpdate (unsigned int Opcode, const X86Subtarget & Subtarget, bool ForLoadFold)Return true for all instructions that only update
the first 32 or 64-bits of the destination register and leave the rest
unmodified. This can be used to avoid folding loads if the instructions
only update part of the destination register, and the non-updated part is
not needed. e.g. cvtss2sd, sqrtss. Unfolding the load from these
instructions breaks the partial register dependency and it can improve
performance. e.g.:
movss (%rdi), %xmm0
cvtss2sd %xmm0, %xmm0
Instead of
cvtss2sd (%rdi), %xmm0
FIXME: This should be turned into a TSFlags.
Defined at line 6457 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool initializeUniqueCases (SwitchInst * SI, PHINode *& PHI, BasicBlock *& CommonDest, SwitchCaseResultVectorTy & UniqueResults, Constant *& DefaultResult, const DataLayout & DL, const TargetTransformInfo & TTI, uintptr_t MaxUniqueResults)Helper function that initializes a map containing
results for the PHI node of the common destination block for a switch
instruction. Returns false if multiple PHI nodes have been found or if
there is not a common destination block for the switch.
Defined at line 6472 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
optional GetRangeFromMetadata (Value * V)Helper method to assign a range to V from metadata present in the IR.
Defined at line 6473 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
bool arePointersCompatible (Value * Ptr1, Value * Ptr2, const TargetLibraryInfo & TLI, bool CompareOpcodes)Defined at line 6492 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
Value * BuildSubAggregate (Value * From, Value * To, Type * IndexedType, SmallVectorImpl<unsigned int> & Idxs, unsigned int IdxSkip, ilist_iterator_w_bits InsertBefore)This is the recursive version of BuildSubAggregate. It takes a few different
arguments. Idxs is the index within the nested struct From that we are
looking at now (which is of type IndexedType). IdxSkip is the number of
indices from Idxs that should be left out when inserting into the resulting
struct. To is the result struct built so far, new insertvalue instructions
build on that.
Defined at line 6501 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool isNeutralValue (BinaryOps BinaryOp, Value * RHS, bool IsSigned)Defined at line 6503 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
template <typename T>Align computeCommonAlignment (ArrayRef VL)Calculates minimal alignment as a common alignment.
Defined at line 6511 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool isReverseOrder (ArrayRef Order)Check if
represents reverse order.
Defined at line 6519 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void printObjc2_32bit_MetaData (MachOObjectFile * O, bool verbose)Defined at line 6519 of file llvm/tools/llvm-objdump/MachODump.cpp
-
Value * foldSwitchToSelect (const SwitchCaseResultVectorTy & ResultVector, Constant * DefaultResult, Value * Condition, IRBuilder<> & Builder, const DataLayout & DL, ArrayRef BranchWeights)Helper function that checks if it is possible to transform a switch with only
two cases (or two cases + default) that produces a result into a select.
TODO: Handle switches with more than 2 cases that map to the same result.
The branch weights correspond to the provided Condition (i.e. if Condition is
modified from the original SwitchInst, the caller must adjust the weights)
Defined at line 6527 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
Value * foldMinMaxSharedOp (Intrinsic::ID IID, Value * Op0, Value * Op1)Given a min/max intrinsic, see if it can be removed based on having an
operand that is another min/max intrinsic with shared operand(s). The caller
is expected to swap the operand arguments to handle commutation.
Defined at line 6530 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
const SCEV * calculateRtStride (ArrayRef PointerOps, Type * ElemTy, const DataLayout & DL, ScalarEvolution & SE, SmallVectorImpl<unsigned int> & SortedIndices)Checks if the provided list of pointers
represents the strided
pointers for type ElemTy. If they are not, nullptr is returned.
Otherwise, SCEV* of the stride value is returned.
Defined at line 6531 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
Value * foldMinimumMaximumSharedOp (Intrinsic::ID IID, Value * Op0, Value * Op1)Given a min/max intrinsic, see if it can be removed based on having an
operand that is another min/max intrinsic with shared operand(s). The caller
is expected to swap the operand arguments to handle commutation.
Defined at line 6555 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Value * BuildSubAggregate (Value * From, ArrayRef idx_range, ilist_iterator_w_bits InsertBefore)This helper takes a nested struct and extracts a part of it (which is again a
struct) into a new value. For example, given the struct:
{ a, { b, { c, d }, e } }
and the indices "1, 1" this returns
{ c, d }.
It does this by inserting an insertvalue for each element in the resulting
struct, as opposed to just inserting a single struct. This will only work if
each of the elements of the substruct are known (ie, inserted into From by an
insertvalue instruction somewhere).
All inserted insertvalue instructions are inserted before InsertBefore
Defined at line 6560 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool arebothOperandsNotSNan (SDValue Operand1, SDValue Operand2, SelectionDAG & DAG)Defined at line 6597 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool printObjc1_32bit_MetaData (MachOObjectFile * O, bool verbose)Defined at line 6600 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool arebothOperandsNotNan (SDValue Operand1, SDValue Operand2, SelectionDAG & DAG)Defined at line 6602 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool hasSameExtUse (Value * Val, const TargetLowering & TLI)Check if all the uses of
are equivalent (or free) zero or
sign extensions.
Defined at line 6603 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
Instruction * processUMulZExtIdiom (ICmpInst & I, Value * MulVal, const APInt * OtherVal, InstCombinerImpl & IC)Recognize and process idiom involving test for multiplication
overflow.
The caller has matched a pattern of the form:
I = cmp u (mul(zext A, zext B), V
The function checks if this is a test for overflow and if so replaces
multiplication with call to 'mul.with.overflow' intrinsic.
Parameters
I Compare instruction.MulVal Result of 'mult' instruction. It is one of the arguments of the compare instruction. Must be of integer type.OtherVal The other argument of compare instruction.Defined at line 6605 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
unsigned int getMinMaxOpcodeForFP (SDValue Operand1, SDValue Operand2, CondCode CC, unsigned int OrAndOpcode, SelectionDAG & DAG, bool isFMAXNUMFMINNUM_IEEE, bool isFMAXNUMFMINNUM)FIXME: use FMINIMUMNUM if possible, such as for RISC-V.
Defined at line 6608 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
MinMaxOptResult OptimizeConstMinMax (const Constant * RHSConst, const Intrinsic::ID IID, const CallBase * Call, Constant ** OutNewConstVal)Get the optimized value for a min/max instruction with a single constant
input (either undef or scalar constantFP). The result may indicate to
use the non-const LHS value, use a new constant value instead (with NaNs
quieted), or to choose either option in the case of undef/poison.
Defined at line 6610 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool isSETCCOp (unsigned int Opcode)Return true is this is a SETCC node or a strict version of it.
Defined at line 6620 of file llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
-
bool isLogicalMaskOp (unsigned int Opcode)Return true if this is a node that could have two SETCCs as operands.
Defined at line 6631 of file llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
-
EVT getSETCCOperandType (SDValue N)If N is a SETCC or a strict variant of it, return the type
of the compare operands.
Defined at line 6643 of file llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
-
InstructionCost getShuffleCost (const TargetTransformInfo & TTI, ShuffleKind Kind, VectorType * Tp, ArrayRef Mask, TargetCostKind CostKind, int Index, VectorType * SubTp, ArrayRef<const Value *> Args)Returns the cost of the shuffle instructions with the given
vector
type
and optional
Adds SLP-specifc cost estimation for insert
subvector pattern.
Defined at line 6647 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool isSETCCorConvertedSETCC (SDValue N)Defined at line 6651 of file llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
-
SDValue foldAndOrOfSETCC (SDNode * LogicOp, SelectionDAG & DAG)Defined at line 6666 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
Value * simplifySVEIntReduction (Intrinsic::ID IID, Type * ReturnType, Value * Op0, Value * Op1)Defined at line 6673 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
InstructionCost getScalarizationOverhead (const TargetTransformInfo & TTI, Type * ScalarTy, VectorType * Ty, const APInt & DemandedElts, bool Insert, bool Extract, TargetCostKind CostKind, bool ForPoisonSrc, ArrayRef VL)This is similar to TargetTransformInfo::getScalarizationOverhead, but if
ScalarTy is a FixedVectorType, a vector will be inserted or extracted
instead of a scalar.
Defined at line 6676 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void removeSwitchAfterSelectFold (SwitchInst * SI, PHINode * PHI, Value * SelectValue, IRBuilder<> & Builder, DomTreeUpdater * DTU)Helper function to cleanup a switch instruction that has been converted into
a select, fixing up PHI nodes and basic blocks.
Defined at line 6683 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
ElementCount determineVPlanVF (const TargetTransformInfo & TTI, LoopVectorizationCostModel & CM)This function will select a scalable VF if the target supports scalable
vectors and a fixed one otherwise.
TODO: we could return a pair of values that specify the max VF and
min VF, to be used in `buildVPlans(MinVF, MaxVF)` instead of
`buildVPlans(VF, VF)`. We cannot do it because VPLAN at the moment
doesn't have a cost model that can choose which plan to execute if
more than one is generated.
Defined at line 6686 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
unsigned int numLLVMArgOps (SmallVectorImpl<uint64_t> & Expr)Returns the total number of DW_OP_llvm_arg operands in the expression.
This helps in determining if a DIArglist is necessary or can be omitted from
the dbg.value.
Defined at line 6692 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
template <typename T>void updateDVIWithLocation (T & DbgVal, Value * Location, SmallVectorImpl<uint64_t> & Ops)Overwrites DVI with the location and Ops as the DIExpression. This will
create an invalid expression if Ops has any dwarf::DW_OP_llvm_arg operands,
because a DIArglist is not created for the first argument of the dbg.value.
Defined at line 6705 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
bool isOldDbgFormatIntrinsic (StringRef Name)Defined at line 6709 of file llvm/lib/AsmParser/LLParser.cpp
-
InstructionCost getVectorInstrCost (const TargetTransformInfo & TTI, Type * ScalarTy, unsigned int Opcode, Type * Val, TargetCostKind CostKind, unsigned int Index, Value * Scalar, ArrayRef<std::tuple<Value *, User *, int>> ScalarUserAndIdx)This is similar to TargetTransformInfo::getVectorInstrCost, but if ScalarTy
is a FixedVectorType, a vector will be extracted instead of a scalar.
Defined at line 6710 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
template <typename T>void updateDVIWithLocations (T & DbgVal, SmallVectorImpl<Value *> & Locations, SmallVectorImpl<uint64_t> & Ops)Overwrite DVI with locations placed into a DIArglist.
Defined at line 6716 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
bool trySwitchToSelect (SwitchInst * SI, IRBuilder<> & Builder, DomTreeUpdater * DTU, const DataLayout & DL, const TargetTransformInfo & TTI)If a switch is only used to initialize one or more phi nodes in a common
successor block with only two different constant values, try to replace the
switch with a select. Returns true if the fold was made.
Defined at line 6720 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
InstructionCost getExtractWithExtendCost (const TargetTransformInfo & TTI, unsigned int Opcode, Type * Dst, VectorType * VecTy, unsigned int Index, TargetCostKind CostKind)This is similar to TargetTransformInfo::getExtractWithExtendCost, but if Dst
is a FixedVectorType, a vector will be extracted instead of a scalar.
Defined at line 6729 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void UpdateDbgValue (DVIRecoveryRec & DVIRec, SmallVectorImpl<Value *> & NewLocationOps, SmallVectorImpl<uint64_t> & NewExpr)Write the new expression and new location ops for the dbg.value. If possible
reduce the szie of the dbg.value by omitting DIArglist. This
can be omitted if:
1. There is only a single location, refenced by a single DW_OP_llvm_arg.
2. The DW_OP_LLVM_arg is the first operand in the expression.
Defined at line 6735 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
void resolveTargetShuffleInputsAndMask (SmallVectorImpl<SDValue> & Inputs, SmallVectorImpl<int> & Mask)Removes unused/repeated shuffle source inputs and adjusts the shuffle mask.
Defined at line 6744 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Value * createInsertVector (IRBuilderBase & Builder, Value * Vec, Value * V, unsigned int Index, function_ref<Value *(Value *, Value *, ArrayRef<int>)> Generator)Creates subvector insert. Generates shuffle using
or
using default shuffle.
Defined at line 6747 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
APInt getDemandedBitsLHSMask (ICmpInst & I, unsigned int BitWidth)When performing a comparison against a constant, it is possible that not all
the bits in the LHS are demanded. This helper method computes the mask that
IS demanded.
Defined at line 6752 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
Value * getValueOrPoison (WeakVH & VH, LLVMContext & C)Cached location ops may be erased during LSR, in which case a poison is
required when restoring from the cache. The type of that location is no
longer available, so just use int8. The poison will be replaced by one or
more locations later when a SCEVDbgValueBuilder selects alternative
locations to use for the salvage.
Defined at line 6770 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
void DumpProtocolSection (MachOObjectFile * O, const char * sect, uint32_t size, uint32_t addr)Defined at line 6770 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void restorePreTransformState (DVIRecoveryRec & DVIRec)Restore the DVI's pre-LSR arguments. Substitute undef for any erased values.
Defined at line 6775 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
Value * createExtractVector (IRBuilderBase & Builder, Value * Vec, unsigned int SubVecVF, unsigned int Index)Generates subvector extract using
or using default shuffle.
Defined at line 6777 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool buildCompressMask (ArrayRef PointerOps, ArrayRef Order, Type * ScalarTy, const DataLayout & DL, ScalarEvolution & SE, SmallVectorImpl<int> & CompressMask)Builds compress-like mask for shuffles for the given
ordered
with
Returns
true if the mask represents strided access, false - otherwise.
Defined at line 6787 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool getTargetShuffleInputs (SDValue Op, const APInt & DemandedElts, SmallVectorImpl<SDValue> & Inputs, SmallVectorImpl<int> & Mask, APInt & KnownUndef, APInt & KnownZero, const SelectionDAG & DAG, unsigned int Depth, bool ResolveKnownElts)Calls getTargetShuffleAndZeroables to resolve a target shuffle mask's inputs
and then sets the SM_SentinelUndef and SM_SentinelZero values.
Returns true if the target shuffle mask was decoded.
Defined at line 6788 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void printObjcMetaData (MachOObjectFile * O, bool verbose)Defined at line 6800 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool SalvageDVI (llvm::Loop * L, ScalarEvolution & SE, llvm::PHINode * LSRInductionVar, DVIRecoveryRec & DVIRec, const SCEV * SCEVInductionVar, SCEVDbgValueBuilder IterCountExpr)Defined at line 6806 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
uint64_t GetStringLengthH (const Value * V, SmallPtrSetImpl<const PHINode *> & PHIs, unsigned int CharSize)If we can compute the length of the string pointed to by
the specified pointer, return 'len+1'. If we can't, return 0.
Defined at line 6807 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool isChainSelectCmpBranch (const SelectInst * SI)Return true when the instruction sequence within a block is select-cmp-br.
Defined at line 6813 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
bool getTargetShuffleInputs (SDValue Op, const APInt & DemandedElts, SmallVectorImpl<SDValue> & Inputs, SmallVectorImpl<int> & Mask, const SelectionDAG & DAG, unsigned int Depth, bool ResolveKnownElts)Forward declaration (for getFauxShuffleMask recursive check).
Defined at line 6814 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool hasUndefRegUpdate (unsigned int Opcode, unsigned int OpNum, bool ForLoadFold)Return true for any instruction the copies the high bits of the first source
operand into the unused high bits of the destination operand.
Also returns true for instructions that have two inputs where one may
be undef and we want it to use the same register as the other input.
Defined at line 6816 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool isMaskedLoadCompress (ArrayRef VL, ArrayRef PointerOps, ArrayRef Order, const TargetTransformInfo & TTI, const DataLayout & DL, ScalarEvolution & SE, AssumptionCache & AC, const DominatorTree & DT, const TargetLibraryInfo & TLI, const function_ref<bool (Value *)> AreAllUsersVectorized, bool & IsMasked, unsigned int & InterleaveFactor, SmallVectorImpl<int> & CompressMask, VectorType *& LoadVecTy)Checks if the
can be transformed to a (masked)load + compress or
(masked) interleaved load.
Defined at line 6820 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool getTargetShuffleInputs (SDValue Op, SmallVectorImpl<SDValue> & Inputs, SmallVectorImpl<int> & Mask, const SelectionDAG & DAG, unsigned int Depth, bool ResolveKnownElts)Defined at line 6824 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
std::optional<APInt> FoldValue (unsigned int Opcode, const APInt & C1, const APInt & C2)Defined at line 6836 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
const char * GuessLiteralPointer (uint64_t ReferenceValue, uint64_t ReferencePC, uint64_t * ReferenceType, struct DisassembleInfo * info)GuessLiteralPointer returns a string which for the item in the Mach-O file
for the address passed in as ReferenceValue for printing as a comment with
the instruction and also returns the corresponding type of that item
indirectly through ReferenceType.
If ReferenceValue is an address of literal cstring then a pointer to the
cstring is returned and ReferenceType is set to
LLVMDisassembler_ReferenceType_Out_LitPool_CstrAddr .
If ReferenceValue is an address of an Objective-C CFString, Selector ref or
Class ref that name is returned and the ReferenceType is set accordingly.
Lastly, literals which are Symbol address in a literal pool are looked for
and if found the symbol name is returned and ReferenceType is set to
LLVMDisassembler_ReferenceType_Out_LitPool_SymAddr .
If there is no item in the Mach-O file for the address passed in as
ReferenceValue nullptr is returned and ReferenceType is unchanged.
Defined at line 6838 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SDValue getBROADCAST_LOAD (unsigned int Opcode, const SDLoc & DL, EVT VT, EVT MemVT, MemSDNode * Mem, unsigned int Offset, SelectionDAG & DAG)Attempt to create a scalar/subvector broadcast from the base MemSDNode.
Defined at line 6839 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSelectAsExtAnd (SDValue Cond, SDValue T, SDValue F, const SDLoc & DL, SelectionDAG & DAG)Combine `(select c, (X
&
1), 0)` -> `(and (zext c), X)`.
We canonicalize to the `select` form in the middle end, but the `and` form
gets better codegen and all tested targets (arm, x86, riscv)
Defined at line 6859 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue getShuffleScalarElt (SDValue Op, unsigned int Index, SelectionDAG & DAG, unsigned int Depth)Returns the scalar element that will make up the i'th
element of the result of the vector shuffle.
Defined at line 6864 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
std::optional<APInt> FoldValueWithUndef (unsigned int Opcode, const APInt & C1, bool IsUndef1, const APInt & C2, bool IsUndef2)Handle constant folding with UNDEF.
TODO: Handle more cases.
Defined at line 6897 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
void DbgRewriteSalvageableDVIs (llvm::Loop * L, ScalarEvolution & SE, llvm::PHINode * LSRInductionVar, int & DVIToUpdate)Obtain an expression for the iteration count, then attempt to salvage the
dbg.value intrinsics.
Defined at line 6912 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
void turnVectorIntoSplatVector (MutableArrayRef<SDValue> Values, std::function<bool (SDValue)> Predicate, SDValue AlternativeReplacement)If all values in Values that *don't* match the predicate are same 'splat'
value, then replace all values with that splat value.
Else, if AlternativeReplacement was provided, then replace all values that
do match predicate with AlternativeReplacement value.
Defined at line 6914 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
bool isSameUnderlyingObjectInLoop (const PHINode * PN, const LoopInfo * LI)defines a loop-variant pointer to an object. Check if the
previous iteration of the loop was referring to the same object as
Defined at line 6928 of file llvm/lib/Analysis/ValueTracking.cpp
-
void DbgGatherSalvagableDVI (Loop * L, ScalarEvolution & SE, int & SalvageableDVISCEVs)Identify and cache salvageable DVI locations and expressions along with the
corresponding SCEV(s). Also ensure that the DVI is not deleted between
cacheing and salvaging.
Defined at line 6950 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
bool isMaskedLoadCompress (ArrayRef VL, ArrayRef PointerOps, ArrayRef Order, const TargetTransformInfo & TTI, const DataLayout & DL, ScalarEvolution & SE, AssumptionCache & AC, const DominatorTree & DT, const TargetLibraryInfo & TLI, const function_ref<bool (Value *)> AreAllUsersVectorized)Checks if the
can be transformed to a (masked)load + compress or
(masked) interleaved load.
Defined at line 6952 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue LowerBuildVectorAsInsert (SDValue Op, const SDLoc & DL, const APInt & NonZeroMask, unsigned int NumNonZero, unsigned int NumZero, SelectionDAG & DAG, const X86Subtarget & Subtarget)Use PINSRB/PINSRW/PINSRD to create a build vector.
Defined at line 6965 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
const char * SymbolizerSymbolLookUp (void * DisInfo, uint64_t ReferenceValue, uint64_t * ReferenceType, uint64_t ReferencePC, const char ** ReferenceName)SymbolizerSymbolLookUp is the symbol lookup function passed when creating
the Symbolizer. It looks up the ReferenceValue using the info passed via the
pointer to the struct DisassembleInfo that was passed when MCSymbolizer
is created and returns the symbol name that matches the ReferenceValue or
nullptr if none. The ReferenceType is passed in for the IN type of
reference the instruction is making from the values in defined in the header
"llvm-c/Disassembler.h". On return the ReferenceType can set to a specific
Out type and the ReferenceName will also be set which is added as a comment
to the disassembled instruction.
If the symbol name is a C++ mangled name then the demangled name is
returned through ReferenceName and ReferenceType is set to
LLVMDisassembler_ReferenceType_DeMangled_Name .
When this is called to get a symbol name for a branch target then the
ReferenceType will be LLVMDisassembler_ReferenceType_In_Branch and then
SymbolValue will be looked for in the indirect symbol table to determine if
it is an address for a symbol stub. If so then the symbol name for that
stub is returned indirectly through ReferenceName and then ReferenceType is
set to LLVMDisassembler_ReferenceType_Out_SymbolStub.
When this is called with an value loaded via a PC relative load then
ReferenceType will be LLVMDisassembler_ReferenceType_In_PCrel_Load then the
SymbolValue is checked to be an address of literal pointer, symbol pointer,
or an Objective-C meta data reference. If so the output ReferenceType is
set to correspond to that as well as setting the ReferenceName.
Defined at line 6974 of file llvm/tools/llvm-objdump/MachODump.cpp
-
llvm::PHINode * GetInductionVariable (const Loop & L, ScalarEvolution & SE, const LSRInstance & LSR)Ideally pick the PHI IV inserted by ScalarEvolutionExpander. As a fallback
any PHi from the loop header is usable, but may have less chance of
surviving subsequent transforms.
Defined at line 7005 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
SDValue LowerBuildVectorv16i8 (SDValue Op, const SDLoc & DL, const APInt & NonZeroMask, unsigned int NumNonZero, unsigned int NumZero, SelectionDAG & DAG, const X86Subtarget & Subtarget)Custom lower build_vector of v16i8.
Defined at line 7007 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool planContainsAdditionalSimplifications (VPlan & Plan, VPCostContext & CostCtx, Loop * TheLoop, ElementCount VF)Return true if the original loop
\
TheLoop contains any instructions that do
not have corresponding recipes in
and are not marked to be ignored
in
This means the VPlan contains simplification that the legacy
cost-model did not account for.
Defined at line 7018 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
bool ReduceLoopStrength (Loop * L, IVUsers & IU, ScalarEvolution & SE, DominatorTree & DT, LoopInfo & LI, const TargetTransformInfo & TTI, AssumptionCache & AC, TargetLibraryInfo & TLI, MemorySSA * MSSA)Defined at line 7037 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
ConstantRange getRangeForAffineARHelper (APInt Step, const ConstantRange & StartRange, const APInt & MaxBECount, bool Signed)Given a StartRange, Step and MaxBECount for an expression compute a range of
values that the expression can take. Initially, the expression has a value
from StartRange and then is changed by Step up to MaxBECount times. Signed
argument defines if we treat Step as signed or unsigned.
Defined at line 7038 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
bool isTypeLegalForLookupTable (Type * Ty, const TargetTransformInfo & TTI, const DataLayout & DL)Defined at line 7052 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool isSwitchDense (uint64_t NumCases, uint64_t CaseRange)Defined at line 7079 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
DISubprogram * getSubprogram (Metadata * LocalScope)Carefully grab the subprogram from a local scope.
This carefully grabs the subprogram from a local scope, avoiding the
built-in assertions that would typically fire.
Defined at line 7086 of file llvm/lib/IR/Verifier.cpp
-
const Value * getUnderlyingObjectFromInt (const Value * V)This is the function that does the work of looking through basic
ptrtoint+arithmetic+inttoptr sequences.
Defined at line 7086 of file llvm/lib/Analysis/ValueTracking.cpp
-
SDValue LowerBuildVectorv8i16 (SDValue Op, const SDLoc & DL, const APInt & NonZeroMask, unsigned int NumNonZero, unsigned int NumZero, SelectionDAG & DAG, const X86Subtarget & Subtarget)Custom lower build_vector of v8i16.
Defined at line 7089 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isSwitchDense (ArrayRef Values)Defined at line 7091 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
SDValue LowerBuildVectorv4x32 (SDValue Op, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Custom lower build_vector of v4i32 or v4f32.
Defined at line 7103 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
std::optional<unsigned int> getMinUselessShift (KnownBits ValueKB, unsigned int Opcode, std::optional<int64_t> & Result)Return the minimum useless shift amount that results in complete loss of the
source value. Return std::nullopt when it cannot determine a value.
Defined at line 7105 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
bool shouldBuildLookupTable (SwitchInst * SI, uint64_t TableSize, const TargetTransformInfo & TTI, const DataLayout & DL, const SmallVector<Type *> & ResultTypes)Determine whether a lookup table should be built for this switch, based on
the number of cases, size of the table, and the types of the results.
TODO: We could support larger than legal types by limiting based on the
number of loads required and/or table size. If the constants are small we
could use smaller table entries and extend after the load.
Defined at line 7105 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
Value * simplifyIntrinsic (CallBase * Call, Value * Callee, ArrayRef Args, const SimplifyQuery & Q)Defined at line 7106 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
void emitComments (raw_svector_ostream & CommentStream, SmallString<128> & CommentsToEmit, formatted_raw_ostream & FormattedOS, const MCAsmInfo & MAI)Emits the comments that are stored in the CommentStream.
Each comment in the CommentStream must end with a newline.
Defined at line 7117 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool shouldUseSwitchConditionAsTableIndex (ConstantInt & MinCaseVal, const ConstantInt & MaxCaseVal, bool HasDefaultResults, const SmallVector<Type *> & ResultTypes, const DataLayout & DL, const TargetTransformInfo & TTI)Defined at line 7141 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void initializeLoopStrengthReducePassOnce (PassRegistry & Registry)Defined at line 7151 of file llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
-
void reuseTableCompare (User * PhiUser, BasicBlock * PhiBlock, BranchInst * RangeCheckBranch, Constant * DefaultValue, const SmallVectorImpl<std::pair<ConstantInt *, Constant *>> & Values)Try to reuse the switch table index compare. Following pattern:
Is optimized to:
Jump threading will then eliminate the second if(cond).
Code
if (idx < tablesize) r = table[idx]; // table does not contain default_value else r = default_value; if (r != default_value) ...cond = idx < tablesize; if (cond) r = table[idx]; else r = default_value; if (cond) ...Defined at line 7177 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool onlyUsedByLifetimeMarkersOrDroppableInstsHelper (const Value * V, bool AllowLifetime, bool AllowDroppable)Defined at line 7193 of file llvm/lib/Analysis/ValueTracking.cpp
-
ICmpInst * canonicalizeCmpWithConstant (ICmpInst & I)If we have an icmp le or icmp ge instruction with a constant operand, turn
it into the appropriate icmp lt or icmp gt instruction. This transform
allows them to be folded in visitICmpInst.
Defined at line 7196 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
SDValue getVShift (bool isLeft, EVT VT, SDValue SrcOp, unsigned int NumBits, SelectionDAG & DAG, const TargetLowering & TLI, const SDLoc & dl)Return a vector logical shift node.
Defined at line 7230 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Instruction * canonicalizeICmpBool (ICmpInst & I, InstCombiner::BuilderTy & Builder)Integer compare with boolean values can always be turned into bitwise ops.
Defined at line 7239 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
void addOperands (MachineInstrBuilder & MIB, ArrayRef<MachineOperand> MOs, int PtrOffset)Defined at line 7242 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
SDValue LowerAsSplatVectorLoad (SDValue SrcOp, MVT VT, const SDLoc & dl, SelectionDAG & DAG)Defined at line 7242 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool simplifySwitchLookup (SwitchInst * SI, IRBuilder<> & Builder, DomTreeUpdater * DTU, const DataLayout & DL, const TargetTransformInfo & TTI, bool ConvertSwitchToLookupTable)If the switch is only used to initialize one or more phi nodes in a common
successor block with different constant values, replace the switch with
lookup tables.
Defined at line 7242 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void updateOperandRegConstraints (MachineFunction & MF, MachineInstr & NewMI, const TargetInstrInfo & TII)Defined at line 7266 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
void updateNVPTXAttr (Function & Kernel, StringRef Name, int32_t Value, bool Min)Defined at line 7279 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
Value * getStartValueFromReductionResult (VPInstruction * RdxResult)Defined at line 7281 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
SDValue combineShiftAnd1ToBitTest (SDNode * And, SelectionDAG & DAG)Try to replace shift/logic that tests if a bit is clear with mask + setcc.
For a target with a bit test, this is expected to become test + set and save
at least 1 instruction.
Defined at line 7289 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
MachineInstr * fuseTwoAddrInst (MachineFunction & MF, unsigned int Opcode, ArrayRef<MachineOperand> MOs, int InsertPt, MachineInstr & MI, const TargetInstrInfo & TII)Defined at line 7291 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
void fixReductionScalarResumeWhenVectorizingEpilog (VPPhi * EpiResumePhiR, PHINode & EpiResumePhi, BasicBlock * BypassBlock)If
is resume VPPhi for a reduction when vectorizing the
epilog loop, fix the reduction's scalar PHI node by adding the incoming value
from the main vector loop.
Defined at line 7293 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
template <class ELFT>Expected<const Elf_Mips_ABIFlags<ELFT> *> getMipsAbiFlagsSection (const ELFDumper<ELFT> & Dumper)Defined at line 7301 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
Value * tryConstantFoldCall (CallBase * Call, Value * Callee, ArrayRef Args, const SimplifyQuery & Q)Defined at line 7317 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool findEltLoadSrc (SDValue Elt, LoadSDNode *& Ld, int64_t & ByteOffset)Recurse to find a LoadSDNode source and the accumulated ByteOffest.
Defined at line 7317 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Instruction * foldICmpWithHighBitMask (ICmpInst & Cmp, InstCombiner::BuilderTy & Builder)Transform pattern like:
(1
<
<
Y) u
<
= X or ~(-1
<
<
Y) u
<
X or ((1
<
<
Y)+(-1)) u
<
X
(1
<
<
Y) u> X or ~(-1
<
<
Y) u>= X or ((1
<
<
Y)+(-1)) u>= X
Into:
(X l>> Y) != 0
(X l>> Y) == 0
Defined at line 7318 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
MachineInstr * fuseInst (MachineFunction & MF, unsigned int Opcode, unsigned int OpNo, ArrayRef<MachineOperand> MOs, int InsertPt, MachineInstr & MI, const TargetInstrInfo & TII, int PtrOffset)Defined at line 7320 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
MachineInstr * makeM0Inst (const TargetInstrInfo & TII, unsigned int Opcode, ArrayRef<MachineOperand> MOs, int InsertPt, MachineInstr & MI)Defined at line 7352 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
OverflowResult mapOverflowResult (OverflowResult OR)Convert ConstantRange OverflowResult into ValueTracking OverflowResult.
Defined at line 7361 of file llvm/lib/Analysis/ValueTracking.cpp
-
Instruction * foldVectorCmp (CmpInst & Cmp, InstCombiner::BuilderTy & Builder)Defined at line 7361 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
SDValue foldAndToUsubsat (SDNode * N, SelectionDAG & DAG, const SDLoc & DL)For targets that support usubsat, match a bit-hack form of that operation
that ends in 'and' and convert it.
Defined at line 7363 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue EltsFromConsecutiveLoads (EVT VT, ArrayRef<SDValue> Elts, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget, bool IsAfterLegalize, unsigned int Depth)Given the initializing elements 'Elts' of a vector of type 'VT', see if the
elements can be replaced by a single large load which has the same value as
a build_vector or insert_subvector whose loaded operands are 'Elts'.
Example:
<load
i32 *a, load i32 *a+4, zero, undef> -> zextload a
Defined at line 7364 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Value * simplifyFreezeInst (Value * Op0, const SimplifyQuery & Q)Given operands for a Freeze, see if we can fold the result.
Defined at line 7376 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
SDValue foldLogicOfShifts (SDNode * N, SDValue LogicOp, SDValue ShiftOp, SelectionDAG & DAG)Given a bitwise logic operation N with a matching bitwise logic operand,
fold a pattern where 2 of the source operands are identically shifted
values. For example:
((X0
<
<
Y) | Z) | (X1
<
<
Y) --> ((X0 | X1)
<
<
Y) | Z
Defined at line 7388 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
Value * simplifyInstructionWithOperands (Instruction * I, ArrayRef NewOps, const SimplifyQuery & SQ, unsigned int MaxRecurse)See if we can compute a simplified version of this instruction.
If not, this returns null.
Defined at line 7427 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
Instruction * foldICmpOfUAddOv (ICmpInst & I)extract(uadd.with.overflow(A, B), 0) ult A
-> extract(uadd.with.overflow(A, B), 1)
Defined at line 7431 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
SDValue foldLogicTreeOfShifts (SDNode * N, SDValue LeftHand, SDValue RightHand, SelectionDAG & DAG)Given a tree of logic operations with shape like
(LOGIC (LOGIC (X, Y), LOGIC (Z, Y)))
try to match and fold shift operations with the same shift amount.
For example:
LOGIC (LOGIC (SH X0, Y), Z), (LOGIC (SH X1, Y), W) -->
--> LOGIC (SH (LOGIC X0, X1), Y), (LOGIC Z, W)
Defined at line 7436 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool clusterSortPtrAccesses (ArrayRef VL, ArrayRef BBs, Type * ElemTy, const DataLayout & DL, ScalarEvolution & SE, SmallVectorImpl<unsigned int> & SortedIndices)Defined at line 7439 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool shouldPreventUndefRegUpdateMemFold (MachineFunction & MF, MachineInstr & MI)Defined at line 7443 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
OverflowResult computeOverflowForSignedAdd (const WithCache<const Value *> & LHS, const WithCache<const Value *> & RHS, const AddOperator * Add, const SimplifyQuery & SQ)Defined at line 7454 of file llvm/lib/Analysis/ValueTracking.cpp
-
Instruction * foldICmpInvariantGroup (ICmpInst & I)Defined at line 7459 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
SDValue foldMaskedMerge (SDNode * Node, SelectionDAG & DAG, const TargetLowering & TLI, const SDLoc & DL)Fold "masked merge" expressions like `(m
&
x) | (~m
&
y)` and its DeMorgan
variant `(~m | x)
&
(m | y)` into the equivalent `((x ^ y)
&
m) ^ y)`
pattern. This is typically a better representation for targets without a
fused "and-not" operation.
Defined at line 7471 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
Instruction * foldReductionIdiom (ICmpInst & I, InstCombiner::BuilderTy & Builder, const DataLayout & DL)This function folds patterns produced by lowering of reduce idioms, such as
llvm.vector.reduce.and which are lowered into instruction chains. This code
attempts to generate fewer number of scalar comparisons instead of vector
comparisons when possible.
Defined at line 7480 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
void printFailMsgforFold (const MachineInstr & MI, unsigned int Idx)Defined at line 7483 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
void parseWholeProgramDevirtResolutionByArg (ArrayRef Record, size_t & Slot, WholeProgramDevirtResolution & Wpd)Defined at line 7511 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
void parseWholeProgramDevirtResolution (ArrayRef Record, StringRef Strtab, size_t & Slot, TypeIdSummary & TypeId)Defined at line 7526 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
void parseTypeIdSummaryRecord (ArrayRef Record, StringRef Strtab, ModuleSummaryIndex & TheIndex)Defined at line 7542 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
bool sinkSelectOperand (const TargetTransformInfo * TTI, Value * V)Check if V (an operand of a select instruction) is an expensive instruction
that is only used once.
Defined at line 7551 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
bool isFormingBranchFromSelectProfitable (const TargetTransformInfo * TTI, const TargetLowering * TLI, SelectInst * SI)Returns true if a SelectInst should be turned into an explicit branch.
Defined at line 7560 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
bool areTwoInsertFromSameBuildVector (InsertElementInst * VU, InsertElementInst * V, function_ref<Value *(InsertElementInst *)> GetBaseOperand)Check if two insertelement instructions are from the same buildvector.
Defined at line 7569 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool replaceAndRecursivelySimplifyImpl (Instruction * I, Value * SimpleV, const TargetLibraryInfo * TLI, const DominatorTree * DT, AssumptionCache * AC, SmallSetVector<Instruction *, 8> * UnsimplifiedUsers)Implementation of recursive simplification through an instruction's
uses.
This is the common implementation of the recursive simplification routines.
If we have a pre-simplified value in 'SimpleV', that is forcibly used to
replace the instruction 'I'. Otherwise, we simply add 'I' to the list of
instructions to process and attempt to simplify it using
InstructionSimplify. Recursively visited users which could not be
simplified themselves are to the optional UnsimplifiedUsers set for
further processing by the caller.
This routine returns 'true' only when *it* simplifies something. The passed
in simplified value does not count toward this.
Defined at line 7591 of file llvm/lib/Analysis/InstructionSimplify.cpp
-
bool reduceSwitchRange (SwitchInst * SI, IRBuilder<> & Builder, const DataLayout & DL, const TargetTransformInfo & TTI)Try to transform a switch that has "holes" in it to a contiguous sequence
of cases.
A switch such as: switch(i) {case 5: case 9: case 13: case 17:} can be
range-reduced to: switch ((i-5) / 4) {case 0: case 1: case 2: case 3:}.
This converts a sparse switch into a dense switch which allows better
lowering and could also allow transforming into a lookup table.
Defined at line 7599 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
Value * getTrueOrFalseValue (SelectInst * SI, bool isTrue, const SmallPtrSet<const Instruction *, 2> & Selects)If
is true, return the true value of
otherwise return
false value of
If the true/false value of
is defined by any
select instructions in
look through the defining select
instruction until the true/false value is not defined in
Defined at line 7604 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
bool shiftAmountKnownInRange (const Value * ShiftAmount)Shifts return poison if shiftwidth is larger than the bitwidth.
Defined at line 7624 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool includesPoison (UndefPoisonKind Kind)Defined at line 7654 of file llvm/lib/Analysis/ValueTracking.cpp
-
void setSpecialRefs (SmallVectorImpl<ValueInfo> & Refs, unsigned int ROCnt, unsigned int WOCnt)Defined at line 7654 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
bool includesUndef (UndefPoisonKind Kind)Defined at line 7658 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool canCreateUndefOrPoison (const Operator * Op, UndefPoisonKind Kind, bool ConsiderFlagsAndMetadata)Defined at line 7662 of file llvm/lib/Analysis/ValueTracking.cpp
-
SDValue combineToConsecutiveLoads (EVT VT, SDValue Op, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget, bool IsAfterLegalize)Combine a vector ops (shuffles etc.) that is equal to build_vector load1,
load2, load3, load4,
<
0, 1, 2, 3> into a vector load if the load addresses
are consecutive, non-overlapping, and in the right order.
Defined at line 7675 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Constant * getConstantVector (MVT VT, ArrayRef<APInt> Bits, const APInt & Undefs, LLVMContext & C)Defined at line 7692 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void FixupDebugInfoForOutlinedFunction (OpenMPIRBuilder & OMPBuilder, IRBuilderBase & Builder, Function * Func, int & ValueReplacementMap)Defined at line 7692 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
bool simplifySwitchWhenUMin (SwitchInst * SI, DomTreeUpdater * DTU)Tries to transform the switch when the condition is umin with a constant.
In that case, the default branch can be replaced by the constant's branch.
This method also removes dead cases when the simplification cannot replace
the default branch.
For example:
switch(umin(a, 3)) {
case 0:
case 1:
case 2:
case 3:
case 4:
// ...
default:
unreachable
}
Transforms into:
switch(a) {
case 0:
case 1:
case 2:
default:
// This is case 3
}
Defined at line 7704 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool isNonFoldablePartialRegisterLoad (const MachineInstr & LoadMI, const MachineInstr & UserMI, const MachineFunction & MF)Check if
is a partial register load that we can't fold into
because the latter uses contents that wouldn't be defined in the folded
version. For instance, this transformation isn't legal:
movss (%rdi), %xmm0
addps %xmm0, %xmm0
->
addps (%rdi), %xmm0
But this one is:
movss (%rdi), %xmm0
addss %xmm0, %xmm0
->
addss (%rdi), %xmm0
Defined at line 7711 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
Constant * getConstantVector (MVT VT, const APInt & SplatValue, unsigned int SplatBitSize, LLVMContext & C)Defined at line 7717 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isFoldableUseOfShuffle (SDNode * N)Defined at line 7745 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Value * removeASCastIfPresent (Value * V)Defined at line 7754 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
bool directlyImpliesPoison (const Value * ValAssumedPoison, const Value * V, unsigned int Depth)Defined at line 7759 of file llvm/lib/Analysis/ValueTracking.cpp
-
Expected<Function *> createOutlinedFunction (OpenMPIRBuilder & OMPBuilder, IRBuilderBase & Builder, const OpenMPIRBuilder::TargetKernelDefaultAttrs & DefaultAttrs, StringRef FuncName, SmallVectorImpl<Value *> & Inputs, OpenMPIRBuilder::TargetBodyGenCallbackTy & CBFunc, OpenMPIRBuilder::TargetGenArgAccessorsCallbackTy & ArgAccessorFuncCB)Defined at line 7760 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
bool simplifySwitchOfPowersOfTwo (SwitchInst * SI, IRBuilder<> & Builder, DomTreeUpdater * DTU, const DataLayout & DL, const TargetTransformInfo & TTI)Tries to transform switch of powers of two to reduce switch range.
For example, switch like:
switch (C) { case 1: case 2: case 64: case 128: }
will be transformed to:
switch (count_trailing_zeros(C)) { case 0: case 1: case 6: case 7: }
This transformation allows better lowering and may transform the switch
instruction into a sequence of bit manipulation and a smaller
log2(C)-indexed value table (instead of traditionally emitting a load of the
address of the jump target, and indirectly jump to it).
Defined at line 7763 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
bool isMaskableNode (SDValue V, const X86Subtarget & Subtarget)If the node has a single use by a VSELECT then AVX512 targets may be able to
fold as a predicated instruction.
Defined at line 7770 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isNonZeroModBitWidthOrUndef (const MachineRegisterInfo & MRI, Register Reg, unsigned int BW)Check that (every element of) Reg is undef or not an exact multiple of BW.
Defined at line 7776 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
bool impliesPoison (const Value * ValAssumedPoison, const Value * V, unsigned int Depth)Defined at line 7787 of file llvm/lib/Analysis/ValueTracking.cpp
-
SDValue lowerBuildVectorAsBroadcast (BuildVectorSDNode * BVOp, const SDLoc & dl, const X86Subtarget & Subtarget, SelectionDAG & DAG)Attempt to use the vbroadcast instruction to generate a splat value
from a splat BUILD_VECTOR which uses:
a. A single scalar load, or a constant.
b. Repeated pattern of constants (e.g.
<
0,1,0,1> or
<
0,1,2,3,0,1,2,3>).
The VBROADCAST node is returned when a pattern is found,
or SDValue() otherwise.
Defined at line 7789 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isGuaranteedNotToBeUndefOrPoison (const Value * V, AssumptionCache * AC, const Instruction * CtxI, const DominatorTree * DT, unsigned int Depth, UndefPoisonKind Kind)Defined at line 7814 of file llvm/lib/Analysis/ValueTracking.cpp
-
void findUnwindRelocNameAddend (const MachOObjectFile * Obj, int & Symbols, const RelocationRef & Reloc, uint64_t Addr, StringRef & Name, uint64_t & Addend)Given a relocation from __compact_unwind, consisting of the RelocationRef
and data being relocated, determine the best base Name and Addend to use for
display purposes.
1. An Extern relocation will directly reference a symbol (and the data is
then already an addend), so use that.
2. Otherwise the data is an offset in the object file's layout; try to find
a symbol before it in the same section, and use the offset from there.
3. Finally, if all that fails, fall back to an offset from the start of the
referenced section.
Defined at line 7843 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool simplifySwitchOfCmpIntrinsic (SwitchInst * SI, IRBuilderBase & Builder, DomTreeUpdater * DTU)Fold switch over ucmp/scmp intrinsic to br if two of the switch arms have
the same destination.
Defined at line 7875 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void printUnwindRelocDest (const MachOObjectFile * Obj, int & Symbols, const RelocationRef & Reloc, uint64_t Addr)Defined at line 7893 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void printMachOCompactUnwindSection (const MachOObjectFile * Obj, int & Symbols, const SectionRef & CompactUnwind)Defined at line 7909 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool IsRootTBAANode (const MDNode * MD)Defined at line 7935 of file llvm/lib/IR/Verifier.cpp
-
bool IsScalarTBAANodeImpl (const MDNode * MD, SmallPtrSetImpl<const MDNode *> & Visited)Defined at line 7939 of file llvm/lib/IR/Verifier.cpp
-
LoadInst * loadSharedDataFromTaskDescriptor (OpenMPIRBuilder & OMPIRBuilder, IRBuilderBase & Builder, Value * TaskWithPrivates, Type * TaskWithPrivatesTy)Given a task descriptor, TaskWithPrivates, return the pointer to the block
of pointers containing shared data between the parent task and the created
task.
Defined at line 7946 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
unsigned int getExtendForIntVecReduction (unsigned int Opc)Defined at line 7967 of file llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
-
Function * emitTargetTaskProxyFunction (OpenMPIRBuilder & OMPBuilder, IRBuilderBase & Builder, CallInst * StaleCI, StructType * PrivatesTy, StructType * TaskWithPrivatesTy, const size_t NumOffloadingArrays, const int SharedArgsOperandNo)Create an entry point for a target task with the following.
It'll have the following signature
void
.
omp_target_task_proxy_func(i32 %thread.id, ptr %task)
This function is called from emitTargetTask once the
code to launch the target kernel has been outlined already.
NumOffloadingArrays is the number of offloading arrays that we need to copy
into the task structure so that the deferred target task can access this
data even after the stack frame of the generating task has been rolled
back. Offloading arrays contain base pointers, pointers, sizes etc
of the data that the target kernel will access. These in effect are the
non-empty arrays of pointers held by OpenMPIRBuilder::TargetDataRTArgs.
Defined at line 7980 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
bool isRepeatedNonIdentityClusteredMask (ArrayRef Mask, unsigned int Sz)Checks if the given mask is a "clustered" mask with the same clusters of
size
which are not identity submasks.
Defined at line 7987 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void printRegularSecondLevelUnwindPage (StringRef PageData)===----------------------------------------------------------------------===//
__unwind_info section dumping
===----------------------------------------------------------------------===//
Defined at line 7996 of file llvm/tools/llvm-objdump/MachODump.cpp
-
template <class ELFT>bool getSymbolIndices (const typename ELFT::Shdr * CGRelSection, const ELFFile<ELFT> & Obj, const LLVMELFDumper<ELFT> * Dumper, SmallVector<uint32_t, 128> & SymbolIndices)Returns true if rel/rela section exists, and populates SymbolIndices.
Otherwise returns false.
Defined at line 8000 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool isNewFormatTBAATypeNode (llvm::MDNode * Type)Defined at line 8016 of file llvm/lib/IR/Verifier.cpp
-
void printCompressedSecondLevelUnwindPage (StringRef PageData, uint32_t FunctionBase, const SmallVectorImpl<uint32_t> & CommonEncodings)Defined at line 8017 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void combineOrders (MutableArrayRef<unsigned int> Order, ArrayRef SecondaryOrder)Defined at line 8027 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
int getUnderlyingExtractedFromVec (SDValue & ExtractedFromVec, SDValue ExtIdx)For an EXTRACT_VECTOR_ELT with a constant index return the real
underlying vector and index.
Modifies
to the real vector and returns the real
index.
Defined at line 8027 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue buildFromShuffleMostly (SDValue Op, const SDLoc & DL, SelectionDAG & DAG)Defined at line 8057 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void printMachOUnwindInfoSection (const MachOObjectFile * Obj, int & Symbols, const SectionRef & UnwindInfo)Defined at line 8063 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isBSwapHWordElement (SDValue N, MutableArrayRef<SDNode *> Parts)Return true if the specified node is an element that makes up a 32-bit
packed halfword byteswap.
((x
&
0x000000ff)
<
<
8) |
((x
&
0x0000ff00) >> 8) |
((x
&
0x00ff0000)
<
<
8) |
((x
&
0xff000000) >> 8)
Defined at line 8073 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
Type * getOffloadingArrayType (Value * V)Defined at line 8084 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
StructType * createTaskWithPrivatesTy (OpenMPIRBuilder & OMPIRBuilder, ArrayRef OffloadingArraysToPrivatize)This function returns a struct that has at most two members.
The first member is always %struct.kmp_task_ompbuilder_t, that is the task
descriptor. The second member, if needed, is a struct containing arrays
that need to be passed to the offloaded target kernel. For example,
if .offload_baseptrs, .offload_ptrs and .offload_sizes have to be passed to
the target kernel and their types are [3 x ptr], [3 x ptr] and [3 x i64]
respectively, then the types created by this function are
%struct.privates = type { [3 x ptr], [3 x ptr], [3 x i64] }
%struct.task_with_privates = type { %struct.kmp_task_ompbuilder_t,
%struct.privates }
%struct.task_with_privates is returned by this function.
If there aren't any offloading arrays to pass to the target kernel,
%struct.kmp_task_ompbuilder_t is returned.
Defined at line 8108 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
SDValue LowerBUILD_VECTORvXbf16 (SDValue Op, SelectionDAG & DAG, const X86Subtarget & Subtarget)Lower BUILD_VECTOR operation for v8bf16, v16bf16 and v32bf16 types.
Defined at line 8129 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Error emitTargetOutlinedFunction (OpenMPIRBuilder & OMPBuilder, IRBuilderBase & Builder, bool IsOffloadEntry, TargetRegionEntryInfo & EntryInfo, const OpenMPIRBuilder::TargetKernelDefaultAttrs & DefaultAttrs, Function *& OutlinedFn, Constant *& OutlinedFnID, SmallVectorImpl<Value *> & Inputs, OpenMPIRBuilder::TargetBodyGenCallbackTy & CBFunc, OpenMPIRBuilder::TargetGenArgAccessorsCallbackTy & ArgAccessorFuncCB)Defined at line 8129 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
void initializeVerifierLegacyPassPassOnce (PassRegistry & Registry)Defined at line 8135 of file llvm/lib/IR/Verifier.cpp
-
std::optional<EVT> findMemType (SelectionDAG & DAG, const TargetLowering & TLI, unsigned int Width, EVT WidenVT, unsigned int Align, unsigned int WidenEx)Utility function to find the type to chop up a widen vector for load/store
TLI: Target lowering used to determine legal types.
Width: Width left need to load/store.
WidenVT: The widen vector type to load to/store from
Align: If 0, don't allow use of a wider type
WidenEx: If Align is not 0, the amount additional we can load/store from.
Defined at line 8138 of file llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
-
SDValue LowerBUILD_VECTORvXi1 (SDValue Op, const SDLoc & dl, SelectionDAG & DAG, const X86Subtarget & Subtarget)Lower BUILD_VECTOR operation for v8i1 and v16i1 types.
Defined at line 8143 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isBSwapHWordPair (SDValue N, MutableArrayRef<SDNode *> Parts)Match 2 elements of a packed halfword bswap.
Defined at line 8158 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool isNonZeroModBitWidthOrUndef (SDValue Z, unsigned int BW)Check that (every element of) Z is undef or not an exact multiple of BW.
Defined at line 8173 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
SDValue matchBSwapHWordOrAndAnd (const TargetLowering & TLI, SelectionDAG & DAG, SDNode * N, SDValue N0, SDValue N1, EVT VT)Match this pattern:
(or (and (shl (A, 8)), 0xff00ff00), (and (srl (A, 8)), 0x00ff00ff))
And rewrite this to:
(rotr (bswap A), 16)
Defined at line 8178 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue expandVPFunnelShift (SDNode * Node, SelectionDAG & DAG)Defined at line 8180 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
SDValue BuildVectorFromScalar (SelectionDAG & DAG, EVT VecTy, SmallVectorImpl<SDValue> & LdOps, unsigned int Start, unsigned int End)Builds a vector type from scalar loads
VecTy: Resulting Vector type
LDOps: Load operators to build a vector type
[Start,End) the list of loads to use.
Defined at line 8208 of file llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
-
LegalizeResult loweri64tof16ITOFP (MachineInstr & MI, Register Dst, LLT DstTy, Register Src, LLT SrcTy, MachineIRBuilder & MIRBuilder)i64->fp16 itofp can be lowered to i64->f64,f64->f32,f32->f16. We cannot
convert fpround f64->f16 without double-rounding, so we manually perform the
lowering here where we know it is valid.
Defined at line 8216 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
template <typename ELFT>bool printGNUNoteLLVMStyle (uint32_t NoteType, ArrayRef Desc, ScopedPrinter & W, typename ELFT::Half EMachine)Defined at line 8232 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool isHorizOp (unsigned int Opcode)Defined at line 8234 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
template <typename CallableT>bool handleGuaranteedWellDefinedOps (const Instruction * I, const CallableT & Handle)Enumerates all operands of
that are guaranteed to not be undef or
poison. If the callback
returns true, stop processing and return
true. Otherwise, return false.
Defined at line 8235 of file llvm/lib/Analysis/ValueTracking.cpp
-
Instruction * foldFCmpReciprocalAndZero (FCmpInst & I, Instruction * LHSI, Constant * RHSC)Fold (C / X)
<
0.0 --> X
<
0.0 if possible. Swap predicate if necessary.
Defined at line 8245 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
bool printAndroidNoteLLVMStyle (uint32_t NoteType, ArrayRef Desc, ScopedPrinter & W)Defined at line 8266 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool isHorizontalBinOpPart (const BuildVectorSDNode * N, unsigned int Opcode, const SDLoc & DL, SelectionDAG & DAG, unsigned int BaseIdx, unsigned int LastIdx, SDValue & V0, SDValue & V1)This is a helper function of LowerToHorizontalOp().
This function checks that the build_vector
in input implements a
128-bit partial horizontal operation on a 256-bit vector, but that operation
may not match the layout of an x86 256-bit horizontal instruction.
In other words, if this returns true, then some extraction/insertion will
be required to produce a valid horizontal instruction.
Parameter
defines the kind of horizontal operation to match.
For example, if
is equal to ISD::ADD, then this function
checks if
implements a horizontal arithmetic add; if instead
is equal to ISD::SUB, then this function checks if this is a horizontal
arithmetic sub.
This function only analyzes elements of
whose indices are
in range [BaseIdx, LastIdx).
TODO: This function was originally used to match both real and fake partial
horizontal operations, but the index-matching logic is incorrect for that.
See the corrected implementation in isHopBuildVector(). Can we reduce this
code because it is only used for partial h-op matching now?
Defined at line 8269 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void PrintMachHeader (uint32_t magic, uint32_t cputype, uint32_t cpusubtype, uint32_t filetype, uint32_t ncmds, uint32_t sizeofcmds, uint32_t flags, bool verbose)Defined at line 8275 of file llvm/tools/llvm-objdump/MachODump.cpp
-
unsigned int getConstantTripCount (const SCEVConstant * ExitCount)Defined at line 8279 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
template <typename CallableT>bool handleGuaranteedNonPoisonOps (const Instruction * I, const CallableT & Handle)Enumerates all operands of
that are guaranteed to not be poison.
Defined at line 8297 of file llvm/lib/Analysis/ValueTracking.cpp
-
Instruction * foldFCmpFpTrunc (FCmpInst & I, const Instruction & FPTrunc, const Constant & C)Transform 'fptrunc(x) cmp C' to 'x cmp ext(C)' if possible.
Patterns include:
fptrunc(x)
<
C --> x
<
ext(C)
fptrunc(x)
<
= C --> x
<
= ext(C)
fptrunc(x) > C --> x > ext(C)
fptrunc(x) >= C --> x >= ext(C)
where 'ext(C)' is the extension of 'C' to the type of 'x' with a small bias
due to precision loss.
Defined at line 8299 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
template <typename ELFT>bool printLLVMOMPOFFLOADNoteLLVMStyle (uint32_t NoteType, ArrayRef Desc, ScopedPrinter & W)Defined at line 8307 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
bool tryToMergeLandingPad (LandingPadInst * LPad, BranchInst * BI, BasicBlock * BB, DomTreeUpdater * DTU)Given an block with only a single landing pad and a unconditional branch
try to find another basic block which this one can be merged with. This
handles cases where we have multiple invokes with unique landing pads, but
a shared handler.
We specifically choose to not worry about merging non-empty blocks
here. That is a PRE/scheduling problem and is best solved elsewhere. In
practice, the optimizer produces empty landing pad blocks quite frequently
when dealing with exception dense code. (see: instcombine, gvn, if-else
sinking in this file)
This is primarily a code size optimization. We need to avoid performing
any transform which might inhibit optimization (such as our ability to
specialize a particular handler via tail commoning). We do this by not
merging any blocks which require us to introduce a phi. Since the same
values are flowing through both blocks, we don't lose any ability to
specialize. If anything, we make such specialization more likely.
TODO - This transformation could remove entries from a phi in the target
block when the inputs in the phi are the same for the two blocks being
merged. In some cases, this could result in removal of the PHI entirely.
Defined at line 8314 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void printCoreNoteLLVMStyle (const CoreNote & Note, ScopedPrinter & W)Defined at line 8326 of file llvm/tools/llvm-readobj/ELFDumper.cpp
-
SDValue visitORCommutative (SelectionDAG & DAG, SDValue N0, SDValue N1, SDNode * N)OR combines for which the commuted variant will be tried as well.
Defined at line 8336 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
Expected readBlobInRecord (BitstreamCursor & Stream, unsigned int Block, unsigned int RecordID)Defined at line 8354 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
void commuteMask (MutableArrayRef<int> Mask, const unsigned int NumElems)Defined at line 8375 of file llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
-
SDValue ExpandHorizontalBinOp (const SDValue & V0, const SDValue & V1, const SDLoc & DL, SelectionDAG & DAG, unsigned int X86Opcode, bool Mode, bool isUndefLO, bool isUndefHI)Emit a sequence of two 128-bit horizontal add/sub followed by
a concat_vector.
This is a helper function of LowerToHorizontalOp().
This function expects two 256-bit vectors called V0 and V1.
At first, each vector is split into two separate 128-bit vectors.
Then, the resulting 128-bit vectors are used to implement two
horizontal binary operations.
The kind of horizontal binary operation is defined by
specifies how the 128-bit parts of V0 and V1 are passed in input to
the two new horizontal binop.
When Mode is set, the first horizontal binop dag node would take as input
the lower 128-bit of V0 and the upper 128-bit of V0. The second
horizontal binop dag node would take as input the lower 128-bit of V1
and the upper 128-bit of V1.
Example:
HADD V0_LO, V0_HI
HADD V1_LO, V1_HI
Otherwise, the first horizontal binop dag node takes as input the lower
128-bit of V0 and the lower 128-bit of V1, and the second horizontal binop
dag node takes the upper 128-bit of V0 and the upper 128-bit of V1.
Example:
HADD V0_LO, V1_LO
HADD V0_HI, V1_HI
If
is set, then the algorithm propagates UNDEF to the lower
128-bits of the result. If
is set, then UNDEF is propagated to
the upper 128-bits of the result.
Defined at line 8383 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Instruction * foldFabsWithFcmpZero (FCmpInst & I, InstCombinerImpl & IC)Optimize fabs(X) compared with zero.
Defined at line 8384 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
bool isKnownNonNaN (const Value * V, FastMathFlags FMF)Defined at line 8421 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool isAddSubOrSubAdd (const BuildVectorSDNode * BV, const X86Subtarget & Subtarget, SelectionDAG & DAG, SDValue & Opnd0, SDValue & Opnd1, unsigned int & NumExtracts, bool & IsSubAdd, bool & HasAllowContract)Returns true iff
builds a vector with the result equivalent to
the result of ADDSUB/SUBADD operation.
If true is returned then the operands of ADDSUB = Opnd0 +- Opnd1
(SUBADD = Opnd0 -+ Opnd1) operation are written to the parameters
and
Defined at line 8424 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
BasicBlock * allPredecessorsComeFromSameSource (BasicBlock * BB)Defined at line 8428 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void PushLoopPHIs (const Loop * L, SmallVectorImpl<Instruction *> & Worklist, SmallPtrSetImpl<Instruction *> & Visited)Push PHI nodes in the header of the given loop onto the given Worklist.
Defined at line 8434 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
bool isKnownNonZero (const Value * V)Defined at line 8444 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool mergeNestedCondBranch (BranchInst * BI, DomTreeUpdater * DTU)Fold the following pattern:
bb0:
br i1 %cond1, label %bb1, label %bb2
bb1:
br i1 %cond2, label %bb3, label %bb4
bb2:
br i1 %cond2, label %bb4, label %bb3
bb3:
...
bb4:
...
into
bb0:
%cond = xor i1 %cond1, %cond2
br i1 %cond, label %bb4, label %bb3
bb3:
...
bb4:
...
NOTE: %cond2 always dominates the terminator of bb0.
Defined at line 8459 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
SmallVector<MachineMemOperand *, 2> extractLoadMMOs (ArrayRef<MachineMemOperand *> MMOs, MachineFunction & MF)Defined at line 8463 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
SelectPatternResult matchFastFloatClamp (Predicate Pred, Value * CmpLHS, Value * CmpRHS, Value * TrueVal, Value * FalseVal, Value *& LHS, Value *& RHS)Match clamp pattern for float types without care about NaNs or signed zeros.
Given non-min/max outer cmp/select from the clamp pattern this
function recognizes if it can be substitued by a "canonical" min/max
pattern.
Defined at line 8465 of file llvm/lib/Analysis/ValueTracking.cpp
-
SmallVector<MachineMemOperand *, 2> extractStoreMMOs (ArrayRef<MachineMemOperand *> MMOs, MachineFunction & MF)Defined at line 8484 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
Instruction * foldSqrtWithFcmpZero (FCmpInst & I, InstCombinerImpl & IC)Optimize sqrt(X) compared with zero.
Defined at line 8485 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
unsigned int getBroadcastOpcode (const X86FoldTableEntry * I, const TargetRegisterClass * RC, const X86Subtarget & STI)Defined at line 8505 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
SelectPatternResult matchClamp (Predicate Pred, Value * CmpLHS, Value * CmpRHS, Value * TrueVal, Value * FalseVal)Recognize variations of:
CLAMP(v,l,h) ==> ((v)
<
(l) ? (l) : ((v) > (h) ? (h) : (v)))
Defined at line 8515 of file llvm/lib/Analysis/ValueTracking.cpp
-
SDValue getMemsetValue (SDValue Value, EVT VT, SelectionDAG & DAG, const SDLoc & dl)getMemsetValue - Vectorized representation of the memset value
operand.
Defined at line 8519 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
bool splitMergedValStore (StoreInst & SI, const DataLayout & DL, const TargetLowering & TLI)For the instruction sequence of store below, F and I values
are bundled together as an i64 value before being stored into memory.
Sometimes it is more efficient to generate separate stores for F and I,
which can remove the bitwise instructions or sink them to colder places.
(store (or (zext (bitcast F to i32) to i64),
(shl (zext I to i64), 32)), addr) -->
(store F, addr) and (store I, addr+4)
Similarly, splitting for other merged store can also be beneficial, like:
For pair of {i32, i32}, i64 store --> two i32 stores.
For pair of {i32, i16}, i64 store --> two i32 stores.
For pair of {i16, i16}, i32 store --> two i16 stores.
For pair of {i16, i8}, i32 store --> two i16 stores.
For pair of {i8, i8}, i16 store --> two i8 stores.
We allow each target to determine specifically which kind of splitting is
supported.
The store patterns are commonly seen from the simple code snippet below
if only std::make_pair(...) is sroa transformed before inlined into hoo.
void goo(const std::pair
<int
, float>
&
);
hoo() {
...
goo(std::make_pair(tmp, ftmp));
...
}
Although we already have similar splitting in DAG Combine, we duplicate
it in CodeGenPrepare to catch the case in which pattern is across
multiple BBs. The logic in DAG Combine is kept to catch case generated
during code expansion.
Defined at line 8540 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
bool isFMAddSubOrFMSubAdd (const X86Subtarget & Subtarget, SelectionDAG & DAG, SDValue & Opnd0, SDValue & Opnd1, SDValue & Opnd2, unsigned int ExpectedUses, bool AllowSubAddOrAddSubContract)Returns true if is possible to fold MUL and an idiom that has already been
recognized as ADDSUB/SUBADD(
into
FMADDSUB/FMSUBADD(x, y,
If (and only if) true is returned, the
operands of FMADDSUB/FMSUBADD are written to parameters
Prior to calling this function it should be known that there is some
SDNode that potentially can be replaced with an X86ISD::ADDSUB operation
using
and
as operands. Also, this method is called
before replacement of such SDNode with ADDSUB operation. Thus the number
of
uses is expected to be equal to 2.
For example, this function may be called for the following IR:
%AB = fmul fast
<
2 x double> %A, %B
%Sub = fsub fast
<
2 x double> %AB, %C
%Add = fadd fast
<
2 x double> %AB, %C
%Addsub = shufflevector
<
2 x double> %Sub,
<
2 x double> %Add,
<
2 x i32>
<i32
0, i32 3>
There is a def for %Addsub here, which potentially can be replaced by
X86ISD::ADDSUB operation:
%Addsub = X86ISD::ADDSUB %AB, %C
and such ADDSUB can further be replaced with FMADDSUB:
%Addsub = FMADDSUB %A, %B, %C.
The main reason why this method is called before the replacement of the
recognized ADDSUB idiom with ADDSUB operation is that such replacement
is illegal sometimes. E.g. 512-bit ADDSUB is not available, while 512-bit
FMADDSUB is.
Defined at line 8542 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Instruction * foldFCmpFNegCommonOp (FCmpInst & I)Defined at line 8545 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
void emitTargetCall (OpenMPIRBuilder & OMPBuilder, IRBuilderBase & Builder, InsertPoint AllocaIP, OpenMPIRBuilder::TargetDataInfo & Info, const OpenMPIRBuilder::TargetKernelDefaultAttrs & DefaultAttrs, const OpenMPIRBuilder::TargetKernelRuntimeAttrs & RuntimeAttrs, Value * IfCond, Function * OutlinedFn, Constant * OutlinedFnID, SmallVectorImpl<Value *> & Args, OpenMPIRBuilder::GenMapInfoCallbackTy GenMapInfoCB, OpenMPIRBuilder::CustomMapperCallbackTy CustomMapperCB, const int & Dependencies, bool HasNoWait, Value * DynCGroupMem, OMPDynGroupprivateFallbackType DynCGroupMemFallback)Defined at line 8548 of file llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
-
SelectPatternResult matchMinMaxOfMinMax (Predicate Pred, Value * CmpLHS, Value * CmpRHS, Value * TVal, Value * FVal, unsigned int Depth)Recognize variations of:
a
<
c ? min(a,b) : min(b,c) ==> min(min(a,b),min(b,c))
Defined at line 8551 of file llvm/lib/Analysis/ValueTracking.cpp
-
unsigned int getISDForVPIntrinsic (const VPIntrinsic & VPIntrin)Defined at line 8554 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
SDValue getMemsetStringVal (EVT VT, const SDLoc & dl, SelectionDAG & DAG, const TargetLowering & TLI, const ConstantDataArraySlice & Slice)getMemsetStringVal - Similar to getMemsetValue. Except this is only
used when a memcpy is turned into a memset when the source is a constant
string ptr.
Defined at line 8560 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
Instruction * foldFCmpFSubIntoFCmp (FCmpInst & I, Instruction * LHSI, Constant * RHSC, InstCombinerImpl & CI)Defined at line 8564 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
SDValue lowerToAddSubOrFMAddSub (const BuildVectorSDNode * BV, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to fold a build_vector that performs an 'addsub' or 'fmaddsub' or
'fsubadd' operation accordingly to X86ISD::ADDSUB or X86ISD::FMADDSUB or
X86ISD::FMSUBADD node.
Defined at line 8570 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void PrintSegmentCommand (uint32_t cmd, uint32_t cmdsize, StringRef SegName, uint64_t vmaddr, uint64_t vmsize, uint64_t fileoff, uint64_t filesize, uint32_t maxprot, uint32_t initprot, uint32_t nsects, uint32_t flags, uint32_t object_size, bool verbose)Defined at line 8587 of file llvm/tools/llvm-objdump/MachODump.cpp
-
Expected getEnableSplitLTOUnitAndUnifiedFlag (BitstreamCursor & Stream, unsigned int ID)Defined at line 8602 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
bool isHopBuildVector (const BuildVectorSDNode * BV, SelectionDAG & DAG, unsigned int & HOpcode, SDValue & V0, SDValue & V1)Defined at line 8612 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Instruction * foldFCmpWithFloorAndCeil (FCmpInst & I, InstCombinerImpl & IC)Defined at line 8613 of file llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
-
bool isMemSrcFromConstant (SDValue Src, ConstantDataArraySlice & Slice)Returns true if memcpy source is constant data.
Defined at line 8615 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
SDValue stripConstantMask (const SelectionDAG & DAG, SDValue Op, SDValue & Mask)Defined at line 8617 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool matchRotateHalf (const SelectionDAG & DAG, SDValue Op, SDValue & Shift, SDValue & Mask)Match "(X shl/srl V1) & V2" where V2 may not be present.
Defined at line 8628 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool shouldLowerMemFuncForSize (const MachineFunction & MF, SelectionDAG & DAG)Defined at line 8633 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
bool GEPSequentialConstIndexed (GetElementPtrInst * GEP)Return true if the GEP has two operands, the first operand is of a sequential
type, and the second operand is a constant.
Defined at line 8638 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
void chainLoadsAndStoresForMemcpy (SelectionDAG & DAG, const SDLoc & dl, SmallVector<SDValue, 32> & OutChains, unsigned int From, unsigned int To, SmallVector<SDValue, 16> & OutLoadChains, SmallVector<SDValue, 16> & OutStoreChains)Defined at line 8642 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
Value * getNotValue (Value * V)If the input value is the result of a 'not' op, constant integer, or vector
splat of a constant integer, return the bitwise-not source value.
TODO: This could be extended to handle non-splat vector integer constants.
Defined at line 8647 of file llvm/lib/Analysis/ValueTracking.cpp
-
Predicate minMaxToCompare (unsigned int Opc)Defined at line 8647 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
SelectPatternResult matchMinMax (Predicate Pred, Value * CmpLHS, Value * CmpRHS, Value * TrueVal, Value * FalseVal, Value *& LHS, Value *& RHS, unsigned int Depth)Match non-obvious integer minimum and maximum sequences.
Defined at line 8660 of file llvm/lib/Analysis/ValueTracking.cpp
-
SDValue extractShiftForRotate (SelectionDAG & DAG, SDValue OppShift, SDValue ExtractFrom, SDValue & Mask, const SDLoc & DL)Helper function for visitOR to extract the needed side of a rotate idiom
from a shl/srl/mul/udiv. This is meant to handle cases where
InstCombine merged some outside op with one of the shifts from
the rotate pattern.
(or (add v v) (shrl v bitwidth-1)):
expands (add v v) -> (shl v 1)
(or (mul v c0) (shrl (mul v c1) c2)):
expands (mul v c0) -> (shl (mul v c1) c3)
(or (udiv v c0) (shl (udiv v c1) c2)):
expands (udiv v c0) -> (shrl (udiv v c1) c3)
(or (shl v c0) (shrl (shl v c1) c2)):
expands (shl v c0) -> (shl (shl v c1) c3)
(or (shrl v c0) (shl (shrl v c1) c2)):
expands (shrl v c0) -> (shrl (shrl v c1) c3)
Such that in all cases, c3+c2==bitwidth(op v c1).
Defined at line 8662 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue getMemcpyLoadsAndStores (SelectionDAG & DAG, const SDLoc & dl, SDValue Chain, SDValue Dst, SDValue Src, uint64_t Size, Align Alignment, bool isVol, bool AlwaysInline, MachinePointerInfo DstPtrInfo, MachinePointerInfo SrcPtrInfo, const AAMDNodes & AAInfo, BatchAAResults * BatchAA)Defined at line 8667 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
StringRef ordinalName (const object::MachOObjectFile * , int )Defined at line 10408 of file llvm/tools/llvm-objdump/MachODump.cpp
-
VarArgHelper * CreateVarArgHelper (Function & Func, MemorySanitizer & Msan, MemorySanitizerVisitor & Visitor)Defined at line 8759 of file llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
-
bool passingValueIsAlwaysUndefined (Value * V, Instruction * I, bool PtrValueMayBeModified)Check if passing a value to an instruction will cause undefined behavior.
Defined at line 8671 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void DisassembleMachO (StringRef Filename, MachOObjectFile * MachOOF, StringRef DisSegName, StringRef DisSectName)Defined at line 7244 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool programUndefinedIfUndefOrPoison (const Value * V, bool PoisonOnly)Defined at line 8319 of file llvm/lib/Analysis/ValueTracking.cpp
-
void PrintSection (const char * sectname, const char * segname, uint64_t addr, uint64_t size, uint32_t offset, uint32_t align, uint32_t reloff, uint32_t nreloc, uint32_t flags, uint32_t reserved1, uint32_t reserved2, uint32_t cmd, const char * sg_segname, uint32_t filetype, uint32_t object_size, bool verbose)Defined at line 8692 of file llvm/tools/llvm-objdump/MachODump.cpp
-
Expected getSingleModule (MemoryBufferRef Buffer)Defined at line 8697 of file llvm/lib/Bitcode/Reader/BitcodeReader.cpp
-
SDValue getHopForBuildVector (const BuildVectorSDNode * BV, const SDLoc & DL, SelectionDAG & DAG, unsigned int HOpcode, SDValue V0, SDValue V1)Defined at line 8701 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool tryUnmergingGEPsAcrossIndirectBr (GetElementPtrInst * GEPI, const TargetTransformInfo * TTI)Try unmerging GEPs to reduce liveness interference (register pressure) across
IndirectBr edges. Since IndirectBr edges tend to touch on many blocks,
reducing liveness interference across those edges benefits global register
allocation. Currently handles only certain cases.
For example, unmerge %GEPI and %UGEPI as below.
---------- BEFORE ----------
SrcBlock:
...
%GEPIOp = ...
...
%GEPI = gep %GEPIOp, Idx
...
indirectbr ... [ label %DstB0, label %DstB1, ... label %DstBi ... ]
(* %GEPI is alive on the indirectbr edges due to other uses ahead)
(* %GEPIOp is alive on the indirectbr edges only because of it's used by
%UGEPI)
DstB0: ... (there may be a gep similar to %UGEPI to be unmerged)
DstB1: ... (there may be a gep similar to %UGEPI to be unmerged)
...
DstBi:
...
%UGEPI = gep %GEPIOp, UIdx
...
---------------------------
---------- AFTER ----------
SrcBlock:
... (same as above)
(* %GEPI is still alive on the indirectbr edges)
(* %GEPIOp is no longer alive on the indirectbr edges as a result of the
unmerging)
...
DstBi:
...
%UGEPI = gep %GEPI, (UIdx-Idx)
...
---------------------------
The register pressure on the IndirectBr edges is reduced because %GEPIOp is
no longer alive on them.
We try to unmerge GEPs here in CodGenPrepare, as opposed to limiting merging
of GEPs in the first place in InstCombiner::visitGetElementPtrInst() so as
not to disable further simplications and optimizations as a result of GEP
merging.
Note this unmerging may increase the length of the data flow critical path
(the path from %GEPIOp to %UGEPI would go through %GEPI), which is a tradeoff
between the register pressure and the length of data-flow critical
path. Restricting this to the uncommon IndirectBr case would minimize the
impact of potentially longer critical path, if any, and the impact on compile
time.
Defined at line 8701 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
SDValue LowerToHorizontalOp (const BuildVectorSDNode * BV, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lower BUILD_VECTOR to a horizontal add/sub operation if possible.
Defined at line 8739 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool matchRotateSub (SDValue Pos, SDValue Neg, unsigned int EltSize, SelectionDAG & DAG, bool IsRotate, bool FromAdd)Return true if we can prove that, whenever Neg and Pos are both in the
range [0, EltSize), Neg == (Pos == 0 ? 0 : EltSize - Pos). This means that
for two opposing shifts shift1 and shift2 and a value X with OpBits bits:
(or (shift1 X, Neg), (shift2 X, Pos))
reduces to a rotate in direction shift2 by Pos or (equivalently) a rotate
in direction shift1 by Neg. The range [0, EltSize) means that we only need
to consider shift amounts with defined behavior.
The IsRotate flag should be set when the LHS of both shifts is the same.
Otherwise if matching a general funnel shift, it should be clear.
Defined at line 8780 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool optimizeBranch (BranchInst * Branch, const TargetLowering & TLI, SmallPtrSet<BasicBlock *, 32> & FreshBBs, bool IsHugeFunc)Defined at line 8806 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
bool removeUndefIntroducingPredecessor (BasicBlock * BB, DomTreeUpdater * DTU, AssumptionCache * AC)If BB has an incoming value that will always trigger undefined behavior
(eg. null pointer dereference), remove the branch leading here.
Defined at line 8809 of file llvm/lib/Transforms/Utils/SimplifyCFG.cpp
-
void PrintSymtabLoadCommand (symtab_command st, bool Is64Bit, uint32_t object_size)Defined at line 8826 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SDValue lowerBuildVectorToBitOp (BuildVectorSDNode * Op, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)If a BUILD_VECTOR's source elements all apply the same bit operation and
one of their operands is constant, lower to a pair of BUILD_VECTOR and
just apply the bit to the vectors.
NOTE: Its not in our interest to start make a general purpose vectorizer
from this, but enough scalar bit operations are created from the later
legalization + scalarization stages to need basic support.
Defined at line 8863 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getMemmoveLoadsAndStores (SelectionDAG & DAG, const SDLoc & dl, SDValue Chain, SDValue Dst, SDValue Src, uint64_t Size, Align Alignment, bool isVol, bool AlwaysInline, MachinePointerInfo DstPtrInfo, MachinePointerInfo SrcPtrInfo, const AAMDNodes & AAInfo)Defined at line 8868 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
void PrintDysymtabLoadCommand (dysymtab_command dyst, uint32_t nsyms, uint32_t object_size, bool Is64Bit)Defined at line 8872 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SelectPatternResult matchSelectPattern (Predicate Pred, FastMathFlags FMF, Value * CmpLHS, Value * CmpRHS, Value * TrueVal, Value * FalseVal, Value *& LHS, Value *& RHS, unsigned int Depth)Defined at line 8895 of file llvm/lib/Analysis/ValueTracking.cpp
-
optional isFCmpEqualZero (FPClassTest Test, const fltSemantics & Semantics, const MachineFunction & MF)Returns a true value if if this FPClassTest can be performed with an ordered
fcmp to 0, and a false value if it's an unordered fcmp to 0. Returns
std::nullopt if it cannot be performed as a compare with 0.
Defined at line 8907 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
SDValue lowerBuildVectorAsBlend (BuildVectorSDNode * BVOp, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)Attempt to lower a BUILD_VECTOR of scalar values to a shuffle of splats
representing a blend.
Defined at line 8962 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getMemsetStores (SelectionDAG & DAG, const SDLoc & dl, SDValue Chain, SDValue Dst, SDValue Src, uint64_t Size, Align Alignment, bool isVol, bool AlwaysInline, MachinePointerInfo DstPtrInfo, const AAMDNodes & AAInfo)Lower the call to 'memset' intrinsic function into a series of store
operations.
The function tries to replace 'llvm.memset' intrinsic with several store
operations and value calculation code. This is usually profitable for small
memory size or when the semantic requires inlining.
Parameters
DAG Selection DAG where lowered code is placed.dl Link to corresponding IR location.Chain Control flow dependency.Dst Pointer to destination memory location.Src Value of byte to write into the memory.Size Number of bytes to write.Alignment Alignment of the destination in bytes.isVol True if destination is volatile.AlwaysInline Makes sure no function call is generated.DstPtrInfo IR information on the memory pointer.Defined at line 8993 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
SDValue widenBuildVector (BuildVectorSDNode * BVOp, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)Widen a BUILD_VECTOR if the scalar operands are freely mergeable.
Defined at line 9005 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void PrintDyldInfoLoadCommand (dyld_info_command dc, uint32_t object_size)Defined at line 9005 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SDValue materializeVectorConstant (SDValue Op, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Create a vector constant without a load. SSE/AVX provide the bare minimum
functionality to do this, so it's all zeros, all ones, or some derivation
that is cheap to calculate.
Defined at line 9057 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Value * lookThroughCastConst (CmpInst * CmpI, Type * SrcTy, Constant * C, Instruction::CastOps * CastOp)Defined at line 9069 of file llvm/lib/Analysis/ValueTracking.cpp
-
const uint16_t * lookup (unsigned int opcode, unsigned int domain, ArrayRef<uint16_t[3]> Table)FIXME: Some shuffle and unpack instructions have equivalents in different
domains, but they require a bit more work than just switching opcodes.
Defined at line 9078 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
void PrintDyldLoadCommand (dylinker_command dyld, const char * Ptr)Defined at line 9079 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SDValue createVariablePermute (MVT VT, SDValue SrcVec, SDValue IndicesVec, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Look for opportunities to create a VPERMV/VPERMILPV/PSHUFB variable permute
from a vector of source values and a vector of extraction indices.
The vectors might be manipulated to match the type of the permute op.
Defined at line 9082 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
ScalarEpilogueLowering getScalarEpilogueLowering (Function * F, Loop * L, LoopVectorizeHints & Hints, bool OptForSize, TargetTransformInfo * TTI, TargetLibraryInfo * TLI, LoopVectorizationLegality & LVL, InterleavedAccessInfo * IAI)Determine how to lower the scalar epilogue, which depends on 1) optimising
for minimum code-size, 2) predicate compiler options, 3) loop hints forcing
predication, and 4) a TTI hook that analyses whether the loop is suitable
for predication.
Defined at line 9083 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
const uint16_t * lookupAVX512 (unsigned int opcode, unsigned int domain, ArrayRef<uint16_t[4]> Table)Defined at line 9086 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
bool AdjustBlendMask (unsigned int OldMask, unsigned int OldWidth, unsigned int NewWidth, unsigned int * pNewMask)Helper to attempt to widen/narrow blend masks.
Defined at line 9096 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
void PrintUuidLoadCommand (uuid_command uuid)Defined at line 9102 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void checkAddrSpaceIsValidForLibcall (const TargetLowering * TLI, unsigned int AS)Defined at line 9109 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
void PrintRpathLoadCommand (rpath_command rpath, const char * Ptr)Defined at line 9118 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isInTailCallPositionWrapper (const CallInst * CI, const SelectionDAG * SelDAG, bool AllowReturnsFirstArg)Defined at line 9119 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
bool processLoopInVPlanNativePath (Loop * L, PredicatedScalarEvolution & PSE, LoopInfo * LI, DominatorTree * DT, LoopVectorizationLegality * LVL, TargetTransformInfo * TTI, TargetLibraryInfo * TLI, DemandedBits * DB, AssumptionCache * AC, OptimizationRemarkEmitter * ORE, function GetBFI, bool OptForSize, LoopVectorizeHints & Hints, LoopVectorizationRequirements & Requirements)Process the loop in the VPlan-native vectorization path. This path builds
VPlan upfront in the vectorization pipeline, which allows to apply
VPlan-to-VPlan transformations from the very beginning without modifying the
input LLVM IR.
Defined at line 9125 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
void PrintVersionMinLoadCommand (version_min_command vd)Defined at line 9133 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void dumpOrder (const BoUpSLP::OrdersType & Order)Defined at line 9146 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void DbgInserterHelper (DbgVariableRecord * DVR, ilist_iterator_w_bits VI)Defined at line 9156 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
Value * lookThroughCast (CmpInst * CmpI, Value * V1, Value * V2, Instruction::CastOps * CastOp)Helps to match a select pattern in case of a type mismatch.
The function processes the case when type of true and false values of a
select instruction differs from type of the cmp instruction operands because
of a cast instruction. The function checks if it is legal to move the cast
operation after "select". If yes, it returns the new second value of
"select" (with the assumption that cast is moved):
1. As operand of cast instruction when both values of "select" are same cast
instructions.
2. As restored constant (by applying reverse cast operation) when the first
value of the "select" is a cast operation and the second value is a
constant. It is implemented in lookThroughCastConst().
3. As one operand is cast instruction and the other is not. The operands in
sel(cmp) are in different type integer.
NOTE: We return only the new second value because the first value could be
accessed as operand of cast instruction.
Defined at line 9164 of file llvm/lib/Analysis/ValueTracking.cpp
-
void PrintNoteLoadCommand (note_command Nt)Defined at line 9178 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void checkMixedPrecision (Loop * L, OptimizationRemarkEmitter * ORE)Emit a remark if there are stores to floats that required a floating point
extension. If the vectorized loop was generated with floating point there
will be a performance penalty from the conversion overhead and the change in
the vector width.
Defined at line 9190 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
void PrintBuildToolVersion (build_tool_version bv, bool verbose)Defined at line 9191 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void PrintBuildVersionLoadCommand (const MachOObjectFile * obj, build_version_command bd, bool verbose)Defined at line 9202 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void gatherPossiblyVectorizableLoads (const BoUpSLP & R, ArrayRef VL, const DataLayout & DL, ScalarEvolution & SE, const TargetTransformInfo & TTI, int & GatheredLoads, bool AddNew)Tries to find subvector of loads and builds new vector of only loads if can
be profitable.
Defined at line 9205 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue getMemCmpLoad (const Value * PtrVal, MVT LoadVT, SelectionDAGBuilder & Builder)Defined at line 9215 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
void PrintSourceVersionCommand (source_version_command sd)Defined at line 9233 of file llvm/tools/llvm-objdump/MachODump.cpp
-
InstructionCost calculateEarlyExitCost (VPCostContext & CostCtx, VPlan & Plan, ElementCount VF)For loops with uncountable early exits, find the cost of doing work when
exiting the loop early, such as calculating the final exit values of
variables used outside the loop.
TODO: This is currently overly pessimistic because the loop may not take
the early exit, but better to keep this conservative for now. In future,
it might be possible to relax this by using branch probabilities.
Defined at line 9237 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
void PrintEntryPointCommand (entry_point_command ep)Defined at line 9255 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void scaleWeights (uint64_t & NewTrue, uint64_t & NewFalse)Scale down both weights to fit into uint32_t.
Defined at line 9257 of file llvm/lib/CodeGen/CodeGenPrepare.cpp
-
bool isOutsideLoopWorkProfitable (GeneratedRTChecks & Checks, VectorizationFactor & VF, Loop * L, PredicatedScalarEvolution & PSE, VPCostContext & CostCtx, VPlan & Plan, ScalarEpilogueLowering SEL, optional VScale)This function determines whether or not it's still profitable to vectorize
the loop given the extra work we have to do outside of the loop:
1. Perform the runtime checks before entering the loop to ensure it's safe
to vectorize.
2. In the case of loops with uncountable early exits, we may have to do
extra work when exiting the loop early, such as calculating the final
exit values of variables used outside the loop.
3. The middle block.
Defined at line 9263 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
void PrintEncryptionInfoCommand (encryption_info_command ec, uint32_t object_size)Defined at line 9266 of file llvm/tools/llvm-objdump/MachODump.cpp
-
std::optional<SDByteProvider> calculateByteProvider (SDValue Op, unsigned int Index, unsigned int Depth, optional VectorIndex, unsigned int StartingIndex)Defined at line 9266 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool canExpandVectorCTPOP (const TargetLowering & TLI, EVT VT)Only expand vector types if we have the appropriate vector bit operations.
Defined at line 9277 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
void PrintEncryptionInfoCommand64 (encryption_info_command_64 ec, uint32_t object_size)Defined at line 9287 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void PrintLinkerOptionCommand (linker_option_command lo, const char * Ptr)Defined at line 9309 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void PrintSubFrameworkCommand (sub_framework_command sub, const char * Ptr)Defined at line 9340 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SDValue LowerBUILD_VECTORAsVariablePermute (SDValue V, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Tries to lower a BUILD_VECTOR composed of extract-extract chains that can be
reasoned to be a permutation of a vector by indices in a non-constant vector.
(build_vector (extract_elt V, (extract_elt I, 0)),
(extract_elt V, (extract_elt I, 1)),
...
->
(vpermv I, V)
TODO: Handle undefs
TODO: Utilize pshufb and zero mask blending to support more efficient
construction of vectors with constant-0 elements.
Defined at line 9350 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void PrintSubUmbrellaCommand (sub_umbrella_command sub, const char * Ptr)Defined at line 9356 of file llvm/tools/llvm-objdump/MachODump.cpp
-
template <typename InstTy>bool matchTwoInputRecurrence (const PHINode * PN, InstTy *& Inst, Value *& Init, Value *& OtherOp)Defined at line 9371 of file llvm/lib/Analysis/ValueTracking.cpp
-
void PrintSubLibraryCommand (sub_library_command sub, const char * Ptr)Defined at line 9372 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void preparePlanForMainVectorLoop (VPlan & MainPlan, VPlan & EpiPlan)Prepare
for vectorizing the main vector loop during epilogue
vectorization. Remove ResumePhis from
for inductions that
don't have a corresponding wide induction in
Defined at line 9380 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
void PrintSubClientCommand (sub_client_command sub, const char * Ptr)Defined at line 9388 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void PrintRoutinesCommand (routines_command r)Defined at line 9404 of file llvm/tools/llvm-objdump/MachODump.cpp
-
unsigned int littleEndianByteAt (unsigned int BW, unsigned int i)Defined at line 9407 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
unsigned int bigEndianByteAt (unsigned int BW, unsigned int i)Defined at line 9411 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
optional isBigEndian (ArrayRef<int64_t> ByteOffsets, int64_t FirstOffset)Check if the bytes offsets we are looking at match with either big or
little endian value loaded. Return true for big endian, false for little
endian, and std::nullopt if match failed.
Defined at line 9418 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
void PrintRoutinesCommand64 (routines_command_64 r)Defined at line 9421 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isTruePredicate (Predicate Pred, const Value * LHS, const Value * RHS)Return true if "icmp Pred LHS RHS" is always true.
Defined at line 9434 of file llvm/lib/Analysis/ValueTracking.cpp
-
void Print_x86_thread_state32_t (MachO::x86_thread_state32_t & cpu32)Defined at line 9438 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SDValue stripTruncAndExt (SDValue Value)Look through one layer of truncate or extend.
Defined at line 9440 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
ConstantInt * EvaluateConstantChrecAtConstant (const SCEVAddRecExpr * AddRec, ConstantInt * C, ScalarEvolution & SE)Defined at line 9448 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void Print_x86_thread_state64_t (MachO::x86_thread_state64_t & cpu64)Defined at line 9457 of file llvm/tools/llvm-objdump/MachODump.cpp
-
int preparePlanForEpilogueVectorLoop (VPlan & Plan, Loop * L, const int & ExpandedSCEVs, EpilogueLoopVectorizationInfo & EPI, LoopVectorizationCostModel & CM, ScalarEvolution & SE)Prepare
for vectorizing the epilogue loop. That is, re-use expanded
SCEVs from
and set resume values for header recipes. Some
reductions require creating new instructions to compute the resume values.
They are collected in a vector and returned. They must be moved to the
preheader of the vector epilogue loop, after created by the execution of
Defined at line 9471 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
void Print_mmst_reg (MachO::mmst_reg_t & r)Defined at line 9481 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void Print_xmm_reg (MachO::xmm_reg_t & r)Defined at line 9493 of file llvm/tools/llvm-objdump/MachODump.cpp
-
void Print_x86_float_state_t (MachO::x86_float_state64_t & fpu)Defined at line 9501 of file llvm/tools/llvm-objdump/MachODump.cpp
-
optional isImpliedCondOperands (Predicate Pred, const Value * ALHS, const Value * ARHS, const Value * BLHS, const Value * BRHS)Return true if "icmp Pred BLHS BRHS" is true whenever "icmp Pred
ALHS ARHS" is true. Otherwise, return std::nullopt.
Defined at line 9515 of file llvm/lib/Analysis/ValueTracking.cpp
-
optional isImpliedCondCommonOperandWithCR (CmpPredicate LPred, const ConstantRange & LCR, CmpPredicate RPred, const ConstantRange & RCR)Return true if "icmp LPred X, LCR" implies "icmp RPred X, RCR" is true.
Return false if "icmp LPred X, LCR" implies "icmp RPred X, RCR" is false.
Otherwise, return std::nullopt if we can't infer anything.
Defined at line 9555 of file llvm/lib/Analysis/ValueTracking.cpp
-
optional isImpliedCondICmps (CmpPredicate LPred, const Value * L0, const Value * L1, CmpPredicate RPred, const Value * R0, const Value * R1, const DataLayout & DL, bool LHSIsTrue)Return true if LHS implies RHS (expanded to its components as "R0 RPred R1")
is true. Return false if LHS implies RHS is false. Otherwise, return
std::nullopt if we can't infer anything.
Defined at line 9587 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool CanConstantFold (const Instruction * I)Return true if we can constant fold an instruction of the specified type,
assuming that all operands were constants.
Defined at line 9603 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void Print_x86_exception_state_t (MachO::x86_exception_state64_t & exc64)Defined at line 9614 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool canConstantEvolve (Instruction * I, const Loop * L)Determine whether this instruction can constant evolve within this loop
assuming its operands can all constant evolve.
Defined at line 9617 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void Print_arm_thread_state32_t (MachO::arm_thread_state32_t & cpu32)Defined at line 9620 of file llvm/tools/llvm-objdump/MachODump.cpp
-
PHINode * getConstantEvolvingPHIOperands (Instruction * UseInst, const Loop * L, int & PHIMap, unsigned int Depth)getConstantEvolvingPHIOperands - Implement getConstantEvolvingPHI by
recursing through each instruction operand until reaching a loop header phi.
Defined at line 9634 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void resolveFwdRef (ValueInfo * Fwd, ValueInfo & Resolved)Defined at line 9637 of file llvm/lib/AsmParser/LLParser.cpp
-
void Print_arm_thread_state64_t (MachO::arm_thread_state64_t & cpu64)Defined at line 9640 of file llvm/tools/llvm-objdump/MachODump.cpp
-
Value * createInductionAdditionalBypassValues (PHINode * OrigPhi, const InductionDescriptor & II, int & BypassBuilder, const int & ExpandedSCEVs, Value * MainVectorTripCount, Instruction * OldInduction)Generate bypass values from the additional bypass block. Note that when the
vectorized epilogue is skipped due to iteration count check, then the
resume value for the induction variable comes from the trip count of the
main vector loop, passed as the second argument.
Defined at line 9643 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
void fixScalarResumeValuesFromBypass (BasicBlock * BypassBlock, Loop * L, VPlan & BestEpiPlan, LoopVectorizationLegality & LVL, const int & ExpandedSCEVs, Value * MainVectorTripCount)Defined at line 9666 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
PHINode * getConstantEvolvingPHI (Value * V, const Loop * L)getConstantEvolvingPHI - Given an LLVM value and a loop, return a PHI node
in the loop that V is derived from. We allow arbitrary operations along the
way, but the operands of an operation must either be constants or a value
derived from a constant PHI. If this expression does not fit with these
constraints, return null.
Defined at line 9677 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void PrintThreadCommand (thread_command t, const char * Ptr, bool isLittleEndian, uint32_t cputype)Defined at line 9677 of file llvm/tools/llvm-objdump/MachODump.cpp
-
Constant * EvaluateExpression (Value * V, const Loop * L, int & Vals, const DataLayout & DL, const TargetLibraryInfo * TLI)EvaluateExpression - Given an expression that passes the
getConstantEvolvingPHI predicate, evaluate its value assuming the PHI node
in the loop has the value PHIVal. If we can't fold this expression for some
reason, return null.
Defined at line 9693 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
optional isImpliedCondFCmps (Predicate LPred, const Value * L0, const Value * L1, Predicate RPred, const Value * R0, const Value * R1, const DataLayout & DL, bool LHSIsTrue)Return true if LHS implies RHS (expanded to its components as "R0 RPred R1")
is true. Return false if LHS implies RHS is false. Otherwise, return
std::nullopt if we can't infer anything.
Defined at line 9698 of file llvm/lib/Analysis/ValueTracking.cpp
-
void connectEpilogueVectorLoop (VPlan & EpiPlan, Loop * L, EpilogueLoopVectorizationInfo & EPI, DominatorTree * DT, LoopVectorizationLegality & LVL, int & ExpandedSCEVs, GeneratedRTChecks & Checks, ArrayRef InstsToMove)Connect the epilogue vector loop generated for
to the main vector
loop, after both plans have executed, updating branches from the iteration
and runtime checks of the main loop, as well as updating various phis.
contains instructions that need to be moved to the preheader of
the epilogue vector loop.
Defined at line 9708 of file llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
-
MachineInstrBuilder SwapN (unsigned int N, DstOp Dst, MachineIRBuilder & B, MachineInstrBuilder Src, const APInt & Mask){ (Src
&
Mask) >> N } | { (Src
<
<
N)
&
Mask }
Defined at line 9735 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
MachinePointerInfo InferPointerInfo (const MachinePointerInfo & Info, SelectionDAG & DAG, SDValue Ptr, int64_t Offset)InferPointerInfo - If the specified ptr/offset is a frame index, infer a
MachinePointerInfo record from it. This is particularly useful because the
code generator has many cases where it doesn't bother passing in a
MachinePointerInfo to getLoad or getStore when it has "FI+Cst".
Defined at line 9735 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
Constant * getOtherIncomingValue (PHINode * PN, BasicBlock * BB)If every incoming value to PN except the one for BB is a specific Constant,
return that, else return nullptr.
Defined at line 9735 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
MachinePointerInfo InferPointerInfo (const MachinePointerInfo & Info, SelectionDAG & DAG, SDValue Ptr, SDValue OffsetOp)InferPointerInfo - If the specified ptr/offset is a frame index, infer a
MachinePointerInfo record from it. This is particularly useful because the
code generator has many cases where it doesn't bother passing in a
MachinePointerInfo to getLoad or getStore when it has "FI+Cst".
Defined at line 9759 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
optional isImpliedCondAndOr (const Instruction * LHS, CmpPredicate RHSPred, const Value * RHSOp0, const Value * RHSOp1, const DataLayout & DL, bool LHSIsTrue, unsigned int Depth)Return true if LHS implies RHS is true. Return false if LHS implies RHS is
false. Otherwise, return std::nullopt if we can't infer anything. We
expect the RHS to be an icmp and the LHS to be an 'and', 'or', or a 'select'
instruction.
Defined at line 9762 of file llvm/lib/Analysis/ValueTracking.cpp
-
std::pair<size_t, size_t> generateKeySubkey (Value * V, const TargetLibraryInfo * TLI, function_ref<hash_code (size_t, LoadInst *)> LoadsSubkeyGenerator, bool AllowAlternate)Generates key/subkey pair for the given value to provide effective sorting
of the values and better detection of the vectorizable values sequences. The
keys/subkeys can be used for better sorting of the values themselves (keys)
and in values subgroups (subkeys).
Defined at line 9823 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void patchMatchingInput (const SDISelAsmOperandInfo & OpInfo, SDISelAsmOperandInfo & MatchingOpInfo, SelectionDAG & DAG)Make sure that the output operand
and its corresponding input
operand
have compatible constraint types (otherwise error
out).
Defined at line 9832 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
SDValue LowerAVXCONCAT_VECTORS (SDValue Op, const SDLoc & dl, SelectionDAG & DAG, const X86Subtarget & Subtarget)256-bit AVX can use the vinsertf128 instruction
to create 256-bit vectors from two other 128-bit ones.
TODO: Detect subvector broadcast here instead of DAG combine?
Defined at line 9847 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getAddressForMemoryInput (SDValue Chain, const SDLoc & Location, SDISelAsmOperandInfo & OpInfo, SelectionDAG & DAG)Get a direct memory input to behave well as an indirect operand.
This may introduce stores, hence the need for a
Returns
The (possibly updated) chain.
Defined at line 9863 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
std::optional<unsigned int> getRegistersForValue (SelectionDAG & DAG, const SDLoc & DL, SDISelAsmOperandInfo & OpInfo, SDISelAsmOperandInfo & RefOpInfo)GetRegistersForValue - Assign registers (virtual or physical) for the
specified operand. We prefer to assign virtual registers, to allow the
register allocator to handle the assignment process. However, if the asm
uses features that we can't model on machineinstrs, we have SDISel do the
allocation. This produces generally horrible, but correct, code.
OpInfo describes the operand
RefOpInfo describes the matching operand if any, the operand otherwise
Defined at line 9914 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
std::pair<Value *, bool> getDomPredecessorCondition (const Instruction * ContextI)Returns a pair (Condition, ConditionIsTrue), where Condition is a branch
condition dominating ContextI or nullptr, if no condition is found.
Defined at line 9916 of file llvm/lib/Analysis/ValueTracking.cpp
-
SDValue LowerCONCAT_VECTORSvXi1 (SDValue Op, const SDLoc & dl, const X86Subtarget & Subtarget, SelectionDAG & DAG)Returns true if the given node is a type promotion (by concatenating i1
zeros) of the result of a node that already zeros all upper bits of
k-register.
TODO: Merge this with LowerAVXCONCAT_VECTORS?
Defined at line 9920 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Constant * BuildConstantFromSCEV (const SCEV * V)This builds up a Constant using the ConstantExpr interface. That way, we
will return Constants for objects which aren't represented by a
SCEVConstant, because SCEVConstant is restricted to ConstantInt.
Returns NULL if the SCEV isn't representable as a Constant.
Defined at line 9936 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void setLimitsForBinOp (const BinaryOperator & BO, APInt & Lower, APInt & Upper, const InstrInfoQuery & IIQ, bool PreferSignedRange)Defined at line 9967 of file llvm/lib/Analysis/ValueTracking.cpp
-
SDValue LowerCONCAT_VECTORS (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 9993 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool IsElementEquivalent (int MaskSize, SDValue Op, SDValue ExpectedOp, int Idx, int ExpectedIdx)Checks whether the vector elements referenced by two shuffle masks are
equivalent.
Defined at line 10023 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
unsigned int findMatchingInlineAsmOperand (unsigned int OperandNo, const int & AsmNodeOperands)Defined at line 10024 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
int buildIntrinsicArgTypes (const CallInst * CI, const Intrinsic::ID ID, const unsigned int VF, unsigned int MinBW, const TargetTransformInfo * TTI)Builds the arguments types vector for the given call instruction with the
given
for the specified vector factor.
Defined at line 10027 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
std::pair<InstructionCost, InstructionCost> getVectorCallCosts (CallInst * CI, FixedVectorType * VecTy, TargetTransformInfo * TTI, TargetLibraryInfo * TLI, ArrayRef ArgTys)Calculates the costs of vectorized intrinsic (if possible) and vectorized
function (if possible) calls. Returns invalid cost for the corresponding
calls, if they cannot be vectorized/will be scalarized.
Defined at line 10052 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
void PrintDylibCommand (dylib_command dl, const char * Ptr)Defined at line 10054 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isFunction (SDValue Op)Defined at line 10079 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
void PrintLinkEditDataCommand (linkedit_data_command ld, uint32_t object_size)Defined at line 10099 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isNoopShuffleMask (ArrayRef<int> Mask)Tiny helper function to identify a no-op mask.
This is a somewhat boring predicate function. It checks whether the mask
array input, which is assumed to be a single-input shuffle mask of the kind
used by the X86 shuffle instructions (not a fully general
ShuffleVectorSDNode mask) requires any shuffles to occur. Both undef and an
in-place shuffle are 'no-op's.
Defined at line 10126 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isLaneCrossingShuffleMask (unsigned int LaneSizeInBits, unsigned int ScalarSizeInBits, ArrayRef<int> Mask)Test whether there are elements crossing LaneSizeInBits lanes in this
shuffle mask.
X86 divides up its shuffles into in-lane and cross-lane shuffle operations
and we routinely test for these.
Defined at line 10140 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void PrintLoadCommands (const MachOObjectFile * Obj, uint32_t filetype, uint32_t cputype, bool verbose)Defined at line 10140 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool is128BitLaneCrossingShuffleMask (MVT VT, ArrayRef<int> Mask)Test whether there are elements crossing 128-bit lanes in this
shuffle mask.
Defined at line 10156 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isMultiLaneShuffleMask (unsigned int LaneSizeInBits, unsigned int ScalarSizeInBits, ArrayRef<int> Mask)Test whether elements in each LaneSizeInBits lane in this shuffle mask come
from multiple lanes - this is different to isLaneCrossingShuffleMask to
better support 'repeated mask + lane permute' style shuffles.
Defined at line 10163 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
std::optional<ParamLoadedValue> describeMOVrrLoadedValue (const MachineInstr & MI, Register DescribedReg, const TargetRegisterInfo * TRI)If
overlaps with the MOVrr instruction's destination
register then, if possible, describe the value in terms of the source
register.
Defined at line 10168 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
ConstantRange getRangeForIntrinsic (const IntrinsicInst & II, bool UseInstrInfo)Defined at line 10192 of file llvm/lib/Analysis/ValueTracking.cpp
-
bool isRepeatedShuffleMask (unsigned int LaneSizeInBits, MVT VT, ArrayRef<int> Mask, SmallVectorImpl<int> & RepeatedMask)Test whether a shuffle mask is equivalent within each sub-lane.
This checks a shuffle mask to see if it is performing the same
lane-relative shuffle in each sub-lane. This trivially implies
that it is also not lane-crossing. It may however involve a blend from the
same lane of a second vector.
The specific repeated shuffle mask is populated in
as it is
non-trivial to compute in the face of undef lanes. The representation is
suitable for use with existing 128-bit shuffles as entries from the second
vector have been remapped to [LaneSize, 2*LaneSize).
Defined at line 10200 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool is128BitLaneRepeatedShuffleMask (MVT VT, ArrayRef<int> Mask, SmallVectorImpl<int> & RepeatedMask)Test whether a shuffle mask is equivalent within each 128-bit lane.
Defined at line 10229 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool is128BitLaneRepeatedShuffleMask (MVT VT, ArrayRef<int> Mask)Defined at line 10235 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool is256BitLaneRepeatedShuffleMask (MVT VT, ArrayRef<int> Mask, SmallVectorImpl<int> & RepeatedMask)Test whether a shuffle mask is equivalent within each 256-bit lane.
Defined at line 10242 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isRepeatedTargetShuffleMask (unsigned int LaneSizeInBits, unsigned int EltSizeInBits, ArrayRef<int> Mask, SmallVectorImpl<int> & RepeatedMask)Test whether a target shuffle mask is equivalent within each sub-lane.
Unlike isRepeatedShuffleMask we must respect SM_SentinelZero.
Defined at line 10250 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
const SCEV * SolveLinEquationWithOverflow (const APInt & A, const SCEV * B, SmallVectorImpl<const SCEVPredicate *> * Predicates, ScalarEvolution & SE, const Loop * L)Finds the minimum unsigned root of the following equation:
A * X = B (mod N)
where N = 2^BW and BW is the common bit width of A and B. The signedness of
A and B isn't important.
If the equation does not have a solution, SCEVCouldNotCompute is returned.
Defined at line 10252 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
SDValue combineShiftOfShiftedLogic (SDNode * Shift, SelectionDAG & DAG)If we have a shift-by-constant of a bitwise logic op that itself has a
shift-by-constant operand with identical opcode, we may be able to convert
that into 2 independent shifts followed by the logic op. This is a
throughput improvement.
Defined at line 10264 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
void PrintMachHeader (const MachOObjectFile * Obj, bool verbose)Defined at line 10279 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isRepeatedTargetShuffleMask (unsigned int LaneSizeInBits, MVT VT, ArrayRef<int> Mask, SmallVectorImpl<int> & RepeatedMask)Test whether a target shuffle mask is equivalent within each sub-lane.
Unlike isRepeatedShuffleMask we must respect SM_SentinelZero.
Defined at line 10287 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool shouldLowerMemFuncForSize (const MachineFunction & MF)Defined at line 10294 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
bool isShuffleEquivalent (ArrayRef<int> Mask, ArrayRef<int> ExpectedMask, SDValue V1, SDValue V2)Checks whether a shuffle mask is equivalent to an explicit list of
arguments.
This is a fast way to test a shuffle mask against a fixed pattern:
if (isShuffleEquivalent(Mask, 3, 2, {1, 0})) { ... }
It returns true if the mask is exactly as wide as the argument list, and
each element of the mask is either -1 (signifying undef) or the value given
in the argument.
Defined at line 10304 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool findGISelOptimalMemOpLowering (int & MemOps, unsigned int Limit, const MemOp & Op, unsigned int DstAS, unsigned int SrcAS, const AttributeList & FuncAttributes, const TargetLowering & TLI)Returns a list of types to use for memory op lowering in MemOps. A partial
port of findOptimalMemOpLowering in TargetLowering.
Defined at line 10304 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
ConstantRange getRangeForSelectPattern (const SelectInst & SI, const InstrInfoQuery & IIQ)Defined at line 10305 of file llvm/lib/Analysis/ValueTracking.cpp
-
std::optional<std::tuple<APInt, APInt, APInt, APInt, unsigned int>> GetQuadraticEquation (const SCEVAddRecExpr * AddRec)For a given quadratic addrec, generate coefficients of the corresponding
quadratic equation, multiplied by a common value to ensure that they are
integers.
The returned value is a tuple { A, B, C, M, BitWidth }, where
Ax^2 + Bx + C is the quadratic function, M is the value that A, B and C
were multiplied by, and BitWidth is the bit width of the original addrec
coefficients.
This function returns std::nullopt if the addrec coefficients are not
compile- time constants.
Defined at line 10319 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void printMachOExportsTrie (const object::MachOObjectFile * Obj)===----------------------------------------------------------------------===//
export trie dumping
===----------------------------------------------------------------------===//
Defined at line 10326 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isTargetShuffleEquivalent (MVT VT, ArrayRef<int> Mask, ArrayRef<int> ExpectedMask, const SelectionDAG & DAG, SDValue V1, SDValue V2)Checks whether a target shuffle mask is equivalent to an explicit pattern.
The masks must be exactly the same width.
If an element in Mask matches SM_SentinelUndef (-1) then the corresponding
value in ExpectedMask is always accepted. Otherwise the indices must match.
SM_SentinelZero is accepted as a valid negative index but must match in
both, or via a known bits test.
Defined at line 10336 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void setLimitForFPToI (const Instruction * I, APInt & Lower, APInt & Upper)Defined at line 10352 of file llvm/lib/Analysis/ValueTracking.cpp
-
Register getMemsetValue (Register Val, LLT Ty, MachineIRBuilder & MIB)Get a vectorized representation of the memset value operand, GISel edition.
Defined at line 10370 of file llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
-
optional MinOptional (optional X, optional Y)Helper function to compare optional APInts:
(a) if X and Y both exist, return min(X, Y),
(b) if neither X nor Y exist, return std::nullopt,
(c) if exactly one of X and Y exists, return that value.
Defined at line 10373 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void printMachORebaseTable (object::MachOObjectFile * Obj)===----------------------------------------------------------------------===//
rebase table dumping
===----------------------------------------------------------------------===//
Defined at line 10391 of file llvm/tools/llvm-objdump/MachODump.cpp
-
optional TruncIfPossible (optional X, unsigned int BitWidth)Helper function to truncate an optional APInt to a given BitWidth.
When solving addrec-related equations, it is preferable to return a value
that has the same bit width as the original addrec's coefficients. If the
solution fits in the original bit width, truncate it (except for i1).
Returning a value of a different bit width may inhibit some optimizations.
In general, a solution to a quadratic equation generated from an addrec
may require BW+1 bits, where BW is the bit width of the addrec's
coefficients. The reason is that the coefficients of the quadratic
equation are BW+1 bits wide (to avoid truncation when converting from
the addrec to the equation).
Defined at line 10397 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
bool isUnpackWdShuffleMask (ArrayRef<int> Mask, MVT VT, const SelectionDAG & DAG)Check if the shuffle mask is suitable for the AVX vpunpcklwd or vpunpckhwd
instructions.
Defined at line 10403 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool is128BitUnpackShuffleMask (ArrayRef<int> Mask, const SelectionDAG & DAG)Defined at line 10419 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
optional SolveQuadraticAddRecExact (const SCEVAddRecExpr * AddRec, ScalarEvolution & SE)Let c(n) be the value of the quadratic chrec {L,+,M,+,N} after n
iterations. The values L, M, N are assumed to be signed, and they
should all have the same bit widths.
Find the least n >= 0 such that c(n) = 0 in the arithmetic modulo 2^BW,
where BW is the bit width of the addrec's coefficients.
If the calculated value is a BW-bit integer (for BW > 1), it will be
returned as such, otherwise the bit width of the returned value may
be greater than BW.
This function returns std::nullopt if
(a) the addrec coefficients are not constant, or
(b) SolveQuadraticEquationWrap was unable to find a solution. For cases
like x^2 = 5, no integer solutions exist, in other cases an integer
solution may exist, but SolveQuadraticEquationWrap may fail to find it.
Defined at line 10421 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void printMachOBindTable (object::MachOObjectFile * Obj)===----------------------------------------------------------------------===//
bind table dumping
===----------------------------------------------------------------------===//
Defined at line 10435 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool hasIdenticalHalvesShuffleMask (ArrayRef<int> Mask)Return true if a shuffle mask chooses elements identically in its top and
bottom halves. For example, any splat mask has the same top and bottom
halves. If an element is undefined in only one half of the mask, the halves
are not considered identical.
Defined at line 10444 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void addValueAffectedByCondition (Value * V, function_ref<void (Value *)> InsertAffected)Defined at line 10449 of file llvm/lib/Analysis/ValueTracking.cpp
-
optional SolveQuadraticAddRecRange (const SCEVAddRecExpr * AddRec, const ConstantRange & Range, ScalarEvolution & SE)Let c(n) be the value of the quadratic chrec {0,+,M,+,N} after n
iterations. The values M, N are assumed to be signed, and they
should all have the same bit widths.
Find the least n such that c(n) does not belong to the given range,
while c(n-1) does.
This function returns std::nullopt if
(a) the addrec coefficients are not constant, or
(b) SolveQuadraticEquationWrap was unable to find a solution for the
bounds of the range.
Defined at line 10454 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
unsigned int getV4X86ShuffleImm (ArrayRef<int> Mask)Get a 4-lane 8-bit shuffle immediate for a mask.
This helper function produces an 8-bit shuffle immediate corresponding to
the ubiquitous shuffle encoding scheme used in x86 instructions for
shuffling 4 lanes. It can be used with most of the PSHUF instructions for
example.
NB: We rely heavily on "undef" masks preserving the input lane.
Defined at line 10462 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void printMachOLazyBindTable (object::MachOObjectFile * Obj)===----------------------------------------------------------------------===//
lazy bind table dumping
===----------------------------------------------------------------------===//
Defined at line 10466 of file llvm/tools/llvm-objdump/MachODump.cpp
-
SDValue getV4X86ShuffleImm8ForMask (ArrayRef<int> Mask, const SDLoc & DL, SelectionDAG & DAG)Defined at line 10486 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void printMachOWeakBindTable (object::MachOObjectFile * Obj)===----------------------------------------------------------------------===//
weak bind table dumping
===----------------------------------------------------------------------===//
Defined at line 10491 of file llvm/tools/llvm-objdump/MachODump.cpp
-
unsigned int getSHUFPDImm (ArrayRef<int> Mask)Canonicalize SHUFPD mask to improve chances of further folding.
Mask elements are assumed to be -1, 0 or 1 to match the SHUFPD lo/hi pattern.
Defined at line 10493 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getSHUFPDImmForMask (ArrayRef<int> Mask, const SDLoc & DL, SelectionDAG & DAG)Defined at line 10523 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
const char * get_dyld_bind_info_symbolname (uint64_t ReferenceValue, struct DisassembleInfo * info)get_dyld_bind_info_symbolname() is used for disassembly and passed an
address, ReferenceValue, in the Mach-O file and looks in the dyld bind
information for that address. If the address is found its binding symbol
name is returned. If not nullptr is returned.
Defined at line 10523 of file llvm/tools/llvm-objdump/MachODump.cpp
-
bool isNonZeroElementsInOrder (const APInt & Zeroable, ArrayRef<int> Mask, const EVT & VectorType, bool & IsZeroSideLeft)The Shuffle result is as follow:
0*a[0]0*a[1]...0*a[n] , n >=0 where a[] elements in a ascending order.
Each Zeroable's element correspond to a particular Mask's element.
As described in computeZeroableShuffleElements function.
The function looks for a sub-mask that the nonzero elements are in
increasing order. If such sub-mask exist. The function returns true.
Defined at line 10535 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleWithPSHUFB (const SDLoc & DL, MVT VT, ArrayRef<int> Mask, SDValue V1, SDValue V2, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to lower a shuffle with a single PSHUFB of V1 or V2.
Defined at line 10566 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
std::pair<Instruction *, Instruction *> getMainAltOpsNoStateVL (ArrayRef VL)Returns main/alternate instructions for the given
Unlike
getSameOpcode supports non-compatible instructions for better SplitVectorize
node support.
Defined at line 10590 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue lowerShuffleWithEXPAND (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)X86 has dedicated shuffle that can be lowered to VEXPAND
Defined at line 10624 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool tryToFindDuplicates (SmallVectorImpl<Value *> & VL, SmallVectorImpl<int> & ReuseShuffleIndices, const TargetTransformInfo & TTI, const TargetLibraryInfo & TLI, const InstructionsState & S, const BoUpSLP::EdgeInfo & UserTreeIdx, bool TryPad)Checks that every instruction appears once in the list and if not, packs
them, building
mask and mutating
The list of
unique scalars is extended by poison values to the whole register size.
Defined at line 10633 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool matchShuffleWithUNPCK (MVT VT, SDValue & V1, SDValue & V2, unsigned int & UnpackOpcode, bool IsUnary, ArrayRef<int> TargetMask, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 10647 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue clampDynamicVectorIndex (SelectionDAG & DAG, SDValue Idx, EVT VecVT, const SDLoc & dl, ElementCount SubEC)Defined at line 10663 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
SDValue lowerShuffleWithUNPCK (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, SelectionDAG & DAG)X86 has dedicated unpack instructions that can handle specific blend
operations: UNPCKH and UNPCKL.
Defined at line 10736 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleWithUNPCK256 (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, SelectionDAG & DAG)Check if the mask can be mapped to a preliminary shuffle (vperm 64-bit)
followed by unpack 256-bit.
Defined at line 10763 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool HasSameValue (const SCEV * A, const SCEV * B)SCEV structural equivalence is usually sufficient for testing whether two
expressions are equal, however for the purposes of looking for a condition
guarding a loop, it can be useful to be a little more general, since a
front-end may have replicated the controlling expression.
Defined at line 10776 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
bool matchShuffleAsVTRUNC (MVT & SrcVT, MVT & DstVT, MVT VT, ArrayRef<int> Mask, const APInt & Zeroable, const X86Subtarget & Subtarget)Check if the mask can be mapped to a TRUNCATE or VTRUNC, truncating the
source into the lower elements and zeroing the upper elements.
Defined at line 10789 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool MatchBinarySub (const SCEV * S, const SCEV *& LHS, const SCEV *& RHS)Defined at line 10800 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void addStackMapLiveVars (const CallBase & Call, unsigned int StartIdx, const SDLoc & DL, SmallVectorImpl<SDValue> & Ops, SelectionDAGBuilder & Builder)Add a stack map intrinsic call's live variable operands to a stackmap
or patchpoint target node's operand list.
Constants are converted to TargetConstants purely as an optimization to
avoid constant materialization and register allocation.
FrameIndex operands are converted to TargetFrameIndex so that ISEL does not
generate addess computation nodes, and so FinalizeISel can convert the
TargetFrameIndex into a DirectMemRefOp StackMap location. This avoids
address materialization and register allocation, but may also be required
for correctness. If a StackMap (or PatchPoint) intrinsic directly uses an
alloca in the entry block, then the runtime may assume that the alloca's
StackMap location can be read immediately after compilation and that the
location is valid at any point during execution (this is similar to the
assumption made by the llvm.gcroot intrinsic). If the alloca's location were
only available in a register, then the runtime would need to trap when
execution reaches the StackMap in order to read the alloca's location.
Defined at line 10808 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
SDValue getAVX512TruncNode (const SDLoc & DL, MVT DstVT, SDValue Src, const X86Subtarget & Subtarget, SelectionDAG & DAG, bool ZeroUppers)Helper to create TRUNCATE/VTRUNC nodes, optionally with zero/undef upper
element padding to the final DstVT.
Defined at line 10827 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineShiftToMULH (SDNode * N, const SDLoc & DL, SelectionDAG & DAG, const TargetLowering & TLI)Transform a right shift of a multiply into a multiply-high.
Examples:
(srl (mul (zext i32:$a to i64), (zext i32:$a to i64)), 32) -> (mulhu $a, $b)
(sra (mul (sext i32:$a to i64), (sext i32:$a to i64)), 32) -> (mulhs $a, $b)
Defined at line 10830 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
template <typename AAType>std::optional<Constant *> askForAssumedConstant (Attributor & A, const AbstractAttribute & QueryingAA, const IRPosition & IRP, Type & Ty)Defined at line 10873 of file llvm/lib/Transforms/IPO/AttributorAttributes.cpp
-
SDValue lowerShuffleWithVPMOV (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to lower trunc+vector_shuffle to a vpmovdb or a vpmovdw instruction.
An example is the following:
t0: ch = EntryToken
t2: v4i64,ch = CopyFromReg t0, Register:v4i64 %0
t25: v4i32 = truncate t2
t41: v8i16 = bitcast t25
t21: v8i16 = BUILD_VECTOR undef:i16, undef:i16, undef:i16, undef:i16,
Constant:i16
<
0>, Constant:i16
<
0>, Constant:i16
<
0>, Constant:i16
<
0>
t51: v8i16 = vector_shuffle
<
0,2,4,6,12,13,14,15> t41, t21
t18: v2i64 = bitcast t51
One can just use a single vpmovdw instruction, without avx512vl we need to
use the zmm variant and extract the lower subvector, padding with zeroes.
TODO: Merge with lowerShuffleAsVTRUNC.
Defined at line 10888 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void genAlternativeDpCodeSequence (MachineInstr & Root, const TargetInstrInfo & TII, SmallVectorImpl<MachineInstr *> & InsInstrs, SmallVectorImpl<MachineInstr *> & DelInstrs, int & InstrIdxForVirtReg)Defined at line 10896 of file llvm/lib/Target/X86/X86InstrInfo.cpp
-
SDValue lowerShuffleAsVTRUNC (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Attempt to match binary shuffle patterns as a truncate.
Defined at line 10938 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue foldBitOrderCrossLogicOp (SDNode * N, SelectionDAG & DAG)fold (bswap (logic_op(bswap(x),y))) -> logic_op(x,bswap(y))
This helper function accept SDNode with opcode ISD::BSWAP and ISD::BITREVERSE
Defined at line 10941 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
int canLowerByDroppingElements (ArrayRef<int> Mask, bool MatchEven, bool IsSingleInput)Check whether a compaction lowering can be done by dropping even/odd
elements and compute how many times even/odd elements must be dropped.
This handles shuffles which take every Nth element where N is a power of
two. Example shuffle masks:
(even)
N = 1: 0, 2, 4, 6, 8, 10, 12, 14, 0, 2, 4, 6, 8, 10, 12, 14
N = 1: 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30
N = 2: 0, 4, 8, 12, 0, 4, 8, 12, 0, 4, 8, 12, 0, 4, 8, 12
N = 2: 0, 4, 8, 12, 16, 20, 24, 28, 0, 4, 8, 12, 16, 20, 24, 28
N = 3: 0, 8, 0, 8, 0, 8, 0, 8, 0, 8, 0, 8, 0, 8, 0, 8
N = 3: 0, 8, 16, 24, 0, 8, 16, 24, 0, 8, 16, 24, 0, 8, 16, 24
(odd)
N = 1: 1, 3, 5, 7, 9, 11, 13, 15, 0, 2, 4, 6, 8, 10, 12, 14
N = 1: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31
Any of these lanes can of course be undef.
This routine only supports N
<
= 3.
FIXME: Evaluate whether either AVX or AVX-512 have any opportunities here
for larger N.
Defined at line 11032 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool matchShuffleWithPACK (MVT VT, MVT & SrcVT, SDValue & V1, SDValue & V2, unsigned int & PackOpcode, ArrayRef<int> TargetMask, const SelectionDAG & DAG, const X86Subtarget & Subtarget, unsigned int MaxStages)X86 has dedicated pack instructions that can handle specific truncation
operations: PACKSS and PACKUS.
Checks for compaction shuffle masks if MaxStages > 1.
TODO: Add support for matching multiple PACKSS/PACKUS stages.
Defined at line 11082 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
AttributeList getReturnAttrs (TargetLowering::CallLoweringInfo & CLI)Returns an AttributeList representing the attributes applied to the return
value of the given call.
Defined at line 11117 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
SDValue lowerShuffleWithPACK (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 11153 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsBitMask (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to emit a bitmask instruction for a shuffle.
This handles cases where we can model a blend exactly as a bitmask due to
one of the inputs being zeroable.
Defined at line 11203 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsBitBlend (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, SelectionDAG & DAG)Try to emit a blend instruction for a shuffle using bit math.
This is used as a fallback approach when first class blend instructions are
unavailable. Currently it is only suitable for integer vectors, but could
be generalized for floating point vectors if desirable.
Defined at line 11257 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool matchShuffleAsBlend (MVT VT, SDValue V1, SDValue V2, MutableArrayRef<int> Mask, const APInt & Zeroable, bool & ForceV1Zero, bool & ForceV2Zero, uint64_t & BlendMask)Defined at line 11280 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsBlend (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Original, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to emit a blend instruction for a shuffle.
This doesn't do any checks for the availability of instructions for blending
these values. It relies on the availability of the X86ISD::BLENDI pattern to
be matched in the backend with the type given. What it does check for is
that the shuffle mask is a blend, or convertible into a blend with zero.
Defined at line 11364 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsBlendAndPermute (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, SelectionDAG & DAG, bool ImmBlends)Try to lower as a blend of elements from two inputs followed by
a single-input permutation.
This matches the pattern where we can blend elements from two inputs and
then reduce the shuffle to a single-input permutation.
Defined at line 11525 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsUNPCKAndPermute (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, SelectionDAG & DAG)Try to lower as an unpack of elements from two inputs followed by
a single-input permutation.
This matches the pattern where we can unpack elements from two inputs and
then reduce the shuffle to a single-input (wider) permutation.
Defined at line 11564 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isOnlyUsedInEntryBlock (const Argument * A, bool FastISel)isOnlyUsedInEntryBlock - If the specified argument is only used in the
entry block, return true. This includes arguments used by switches, since
the switch may expand into multiple basic blocks.
Defined at line 11585 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
void findArgumentCopyElisionCandidates (const DataLayout & DL, FunctionLoweringInfo * FuncInfo, int & ArgCopyElisionCandidates)Scan the entry block of the function in FuncInfo for arguments that look
like copies into a local alloca. Record any copied arguments in
ArgCopyElisionCandidates.
Defined at line 11606 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
SDValue lowerShuffleAsPermuteAndUnpack (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to lower a shuffle as a permute of the inputs followed by an
UNPCK instruction.
This specifically targets cases where we end up with alternating between
the two inputs, and so can permute them into something that feeds a single
UNPCK instruction. Note that this routine only targets integer vectors
because for floating point vectors we have a generalized SHUFPS lowering
strategy that handles everything that doesn't *exactly* match an unpack,
making this clever lowering unnecessary.
Defined at line 11647 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void tryToElideArgumentCopy (FunctionLoweringInfo & FuncInfo, SmallVectorImpl<SDValue> & Chains, int & ArgCopyElisionFrameIndexMap, SmallPtrSetImpl<const Instruction *> & ElidedArgCopyInstrs, int & ArgCopyElisionCandidates, const Argument & Arg, ArrayRef<SDValue> ArgVals, bool & ArgHasUses)Try to elide argument copies from memory into a local alloca. Succeeds if
ArgVal is a load from a suitable fixed stack object.
Defined at line 11703 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
SDValue lowerShuffleAsByteRotateAndPermute (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const X86Subtarget & Subtarget, SelectionDAG & DAG)Helper to form a PALIGNR-based rotate+permute, merging 2 inputs and then
permuting the elements of the result in place.
Defined at line 11758 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isBroadcastShuffleMask (ArrayRef<int> Mask)Defined at line 11842 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isNoopOrBroadcastShuffleMask (ArrayRef<int> Mask)Defined at line 11846 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isSingleElementRepeatedMask (ArrayRef<int> Mask)Check if the Mask consists of the same element repeated multiple times.
Defined at line 11851 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsDecomposedShuffleMerge (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Generic routine to decompose a shuffle and blend into independent
blends and permutes.
This matches the extremely common pattern for handling combined
shuffle+blend operations on newer X86 ISAs where we have very fast blend
operations. It will try to pick the best arrangement of shuffles and
blends. For vXi8/vXi16 shuffles we may use unpack instead of blend.
Defined at line 11875 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isLegalToCombineMinNumMaxNum (SelectionDAG & DAG, SDValue LHS, SDValue RHS, SDNodeFlags Flags, const TargetLowering & TLI)Defined at line 11918 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue combineMinNumMaxNumImpl (const SDLoc & DL, EVT VT, SDValue LHS, SDValue RHS, SDValue True, SDValue False, CondCode CC, const TargetLowering & TLI, SelectionDAG & DAG)Defined at line 11931 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
int matchShuffleAsBitRotate (MVT & RotateVT, int EltSizeInBits, const X86Subtarget & Subtarget, ArrayRef<int> Mask)Defined at line 12008 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsBitRotate (const SDLoc & DL, MVT VT, SDValue V1, ArrayRef<int> Mask, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lower shuffle using X86ISD::VROTLI rotations.
Defined at line 12028 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue foldSelectOfConstantsUsingSra (SDNode * N, const SDLoc & DL, SelectionDAG & DAG)If a (v)select has a condition value that is a sign-bit test, try to smear
the condition operand sign-bit across the value width and use it as a mask.
Defined at line 12067 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
int matchShuffleAsElementRotate (SDValue & V1, SDValue & V2, ArrayRef<int> Mask)Try to match a vector shuffle as an element rotation.
This is used for support PALIGNR for SSSE3 or VALIGND/Q for AVX512.
Defined at line 12072 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool shouldConvertSelectOfConstantsToMath (const SDValue & Cond, EVT VT, const TargetLowering & TLI)Defined at line 12101 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
int matchShuffleAsByteRotate (MVT VT, SDValue & V1, SDValue & V2, ArrayRef<int> Mask)Try to lower a vector shuffle as a byte rotation.
SSSE3 has a generic PALIGNR instruction in x86 that will do an arbitrary
byte-rotation of the concatenation of two vectors; pre-SSSE3 can use
a PSRLDQ/PSLLDQ/POR pattern to get a similar effect. This routine will
try to generically lower a vector shuffle through such an pattern. It
does not check for the profitability of lowering either as PALIGNR or
PSRLDQ/PSLLDQ/POR, only whether the mask is valid to lower in that form.
This matches shuffle vectors that look like:
v8i16 [11, 12, 13, 14, 15, 0, 1, 2]
Essentially it concatenates V1 and V2, shifts right by some number of
elements, and takes the low elements as the result. Note that while this is
specified as a *right shift* because x86 is little-endian, it is a *left
rotate* of the vector lanes.
Defined at line 12157 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool canFoldStoreIntoLibCallOutputPointers (StoreSDNode * StoreNode, SDNode * FPNode)Given a store node
return true if it is safe to fold that node
into
which expands to a library call with output pointers.
Defined at line 12162 of file llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
-
SDValue lowerShuffleAsByteRotate (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 12179 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsVALIGN (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to lower a vector shuffle as a dword/qword rotation.
AVX512 has a VALIGND/VALIGNQ instructions that will do an arbitrary
rotation of the concatenation of two vectors; This routine will
try to generically lower a vector shuffle through such an pattern.
Essentially it concatenates V1 and V2, shifts right by some number of
elements, and takes the low elements as the result. Note that while this is
specified as a *right shift* because x86 is little-endian, it is a *left
rotate* of the vector lanes.
Defined at line 12236 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
template <class MatchContextClass>SDValue foldBoolSelectToLogic (SDNode * N, const SDLoc & DL, SelectionDAG & DAG)Defined at line 12240 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue foldVSelectToSignBitSplatMask (SDNode * N, SelectionDAG & DAG)Defined at line 12281 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue lowerShuffleAsByteShiftMask (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to lower a vector shuffle as a byte shift sequence.
Defined at line 12287 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isAlternateInstruction (Instruction * I, Instruction * MainOp, Instruction * AltOp, const TargetLibraryInfo & TLI)Checks if the specified instruction
is an alternate operation for
the given
and
instructions.
Defined at line 12298 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool isMainInstruction (Instruction * I, Instruction * MainOp, Instruction * AltOp, const TargetLibraryInfo & TLI)Checks if the specified instruction
is an main operation for the given
and
instructions.
Defined at line 12292 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
int matchShuffleAsShift (MVT & ShiftVT, unsigned int & Opcode, unsigned int ScalarSizeInBits, ArrayRef<int> Mask, int MaskOffset, const APInt & Zeroable, const X86Subtarget & Subtarget)Try to lower a vector shuffle as a bit shift (shifts in zeros).
Attempts to match a shuffle mask against the PSLL(W/D/Q/DQ) and
PSRL(W/D/Q/DQ) SSE2 and AVX2 logical bit-shift instructions. The function
matches elements from one of the input vectors shuffled to the left or
right with zeroable elements 'shifted in'. It handles both the strictly
bit-wise element shifts and the byte shift across an entire 128-bit double
quad word lane.
PSHL : (little-endian) left bit shift.
[ zz, 0, zz, 2 ]
[ -1, 4, zz, -1 ]
PSRL : (little-endian) right bit shift.
[ 1, zz, 3, zz]
[ -1, -1, 7, zz]
PSLLDQ : (little-endian) left byte shift
[ zz, 0, 1, 2, 3, 4, 5, 6]
[ zz, zz, -1, -1, 2, 3, 4, -1]
[ zz, zz, zz, zz, zz, zz, -1, 1]
PSRLDQ : (little-endian) right byte shift
[ 5, 6, 7, zz, zz, zz, zz, zz]
[ -1, 5, 6, 7, zz, zz, zz, zz]
[ 1, 2, -1, -1, -1, -1, zz, zz]
Defined at line 12374 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsShift (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG, bool BitwiseOnly)Defined at line 12436 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool matchShuffleAsEXTRQ (MVT VT, SDValue & V1, SDValue & V2, ArrayRef<int> Mask, uint64_t & BitLen, uint64_t & BitIdx, const APInt & Zeroable)EXTRQ: Extract Len elements from lower half of source, starting at Idx.
Remainder of lower half result is zero and upper half is all undef.
Defined at line 12475 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool gluePropagatesDivergence (const SDNode * Node)Return true if a glue output should propagate divergence information.
Defined at line 12495 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
bool matchShuffleAsINSERTQ (MVT VT, SDValue & V1, SDValue & V2, ArrayRef<int> Mask, uint64_t & BitLen, uint64_t & BitIdx)INSERTQ: Extract lowest Len elements from lower half of second source and
insert over first source, starting at Idx.
{ A[0], .., A[Idx-1], B[0], .., B[Len-1], A[Idx+Len], .., UNDEF, ... }
Defined at line 12531 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
BranchProbability scaleCaseProbality (BranchProbability CaseProb, BranchProbability PeeledCaseProb)Scale CaseProb after peeling a case with the probablity of PeeledCaseProb
from the swith statement.
Defined at line 12563 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
SDValue lowerShuffleWithSSE4A (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, SelectionDAG & DAG)Try to lower a vector shuffle using SSE4a EXTRQ/INSERTQ.
Defined at line 12597 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
template <typename MinMaxExprType>bool IsMinMaxConsistingOf (const SCEV * MaybeMinMaxExpr, const SCEV * Candidate)Is MaybeMinMaxExpr an (U|S)(Min|Max) of Candidate and some other values?
Defined at line 12603 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
SDValue ConvertSelectToConcatVector (SDNode * N, SelectionDAG & DAG)This function assumes all the vselect's arguments are CONCAT_VECTOR
nodes and that the condition is a BV of ConstantSDNodes (or undefs).
Defined at line 12608 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool IsKnownPredicateViaAddRecStart (ScalarEvolution & SE, CmpPredicate Pred, const SCEV * LHS, const SCEV * RHS)Defined at line 12612 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
SDValue lowerShuffleAsSpecificExtension (const SDLoc & DL, MVT VT, int Scale, int Offset, unsigned int ExtOpc, SDValue InputV, ArrayRef<int> Mask, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lower a vector shuffle as an any/signed/zero extension.
Given a specific number of elements, element bit width, and extension
stride, produce either an extension based on the available
features of the subtarget. The extended elements are consecutive and
begin and can start from an offsetted element index in the input; to
avoid excess shuffling the offset must either being in the bottom lane
or at the start of a higher lane. All extended elements must be from
the same lane.
Defined at line 12624 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool IsKnownPredicateViaMinOrMax (ScalarEvolution & SE, CmpPredicate Pred, const SCEV * LHS, const SCEV * RHS)Is LHS `Pred` RHS true on the virtue of LHS or RHS being a Min or Max
expression?
Defined at line 12641 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
bool refineUniformBase (SDValue & BasePtr, SDValue & Index, bool IndexIsScaled, SelectionDAG & DAG, const SDLoc & DL)Defined at line 12661 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool refineIndexType (SDValue & Index, ISD::MemIndexType & IndexType, EVT DataVT, SelectionDAG & DAG)Fold sext/zext of index into index type.
Defined at line 12700 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
std::pair<InstructionCost, InstructionCost> getGEPCosts (const TargetTransformInfo & TTI, ArrayRef Ptrs, Value * BasePtr, unsigned int Opcode, TargetCostKind CostKind, Type * ScalarTy, VectorType * VecTy)Calculate the scalar and the vector costs from vectorizing set of GEPs.
Defined at line 12720 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue lowerShuffleAsZeroOrAnyExtend (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to lower a vector shuffle as a zero extension on any microarch.
This routine will try to do everything in its power to cleverly lower
a shuffle which happens to match the pattern of a zero extend. It doesn't
check for the profitability of this lowering, it tries to aggressively
match this pattern. It will use all of the micro-architectural details it
can to emit an efficient lowering. It handles both blends with all-zero
inputs to explicitly zero-extend and undef-lanes (sometimes undef due to
masking out later).
The reason we have dedicated lowering for zext-style shuffles is that they
are both incredibly common and often quite performance sensitive.
Defined at line 12796 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isKnownPredicateExtendIdiom (CmpPredicate Pred, const SCEV * LHS, const SCEV * RHS)Defined at line 12842 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
Register FollowCopyChain (MachineRegisterInfo & MRI, Register Reg)Consider the following MIR after SelectionDAG, which produces output in
phyregs in the first case or virtregs in the second case.
INLINEASM_BR ..., implicit-def $ebx, ..., implicit-def $edx
%5:gr32 = COPY $ebx
%6:gr32 = COPY $edx
%1:gr32 = COPY %6:gr32
%0:gr32 = COPY %5:gr32
INLINEASM_BR ..., def %5:gr32, ..., def %6:gr32
%1:gr32 = COPY %6:gr32
%0:gr32 = COPY %5:gr32
Given %0, we'd like to return $ebx in the first case and %5 in the second.
Given %1, we'd like to return $edx in the first case and %6 in the second.
If a callbr has outputs, it will have a single mapping in FuncInfo.ValueMap
to a single virtreg (such as %0). The remaining outputs monotonically
increase in virtreg number from there. If a callbr has no outputs, then it
should not have a corresponding callbr landingpad; in fact, the callbr
landingpad would not even be able to refer to such a callbr.
Defined at line 12890 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
-
SDValue getScalarValueForVectorElement (SDValue V, int Idx, SelectionDAG & DAG)Try to get a scalar value for a specific element of a vector.
Looks through BUILD_VECTOR and SCALAR_TO_VECTOR nodes to find a scalar.
Defined at line 12916 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isShuffleFoldableLoad (SDValue )Helper to test for a load that can be folded with x86 shuffles.
This is particularly important because the set of instructions varies
significantly based on whether the operand is a load or not.
Defined at line 12944 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
template <typename T>bool isSoftF16 (T VT, const X86Subtarget & Subtarget)Defined at line 12950 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsElementInsertion (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to lower insertion of a single element into a zero vector.
This is a common pattern that we have especially efficient patterns to lower
across all subtarget feature sets.
Defined at line 12960 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
InstructionCost canConvertToFMA (ArrayRef VL, const InstructionsState & S, DominatorTree & DT, const DataLayout & DL, TargetTransformInfo & TTI, const TargetLibraryInfo & TLI)Check if we can convert fadd/fsub sequence to FMAD.
Defined at line 12965 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue lowerShuffleAsTruncBroadcast (const SDLoc & DL, MVT VT, SDValue V0, int BroadcastIdx, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to lower broadcast of a single - truncated - integer element,
coming from a scalar_to_vector/build_vector node
with larger elements.
This assumes we have AVX2.
Defined at line 13086 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isSingleSHUFPSMask (ArrayRef<int> Mask)Test whether this can be lowered with a single SHUFPS instruction.
This is used to disable more specialized lowerings when the shufps lowering
will happen to be efficient.
Defined at line 13139 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isShuffleMaskInputInPlace (int Input, ArrayRef<int> Mask)Test whether the specified input (0 or 1) is in-place blended by the
given mask.
This returns true if the elements from a particular input are already in the
slot required by the given mask and require no permutation.
Defined at line 13162 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isShuffleMaskInputBroadcastable (int Input, ArrayRef<int> Mask, int BroadcastableElement)Test whether the specified input (0 or 1) is a broadcast/splat blended by
the given mask.
Defined at line 13175 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleOfExtractsAsVperm (const SDLoc & DL, SDValue N0, SDValue N1, ArrayRef<int> Mask, SelectionDAG & DAG)If we are extracting two 128-bit halves of a vector and shuffling the
result, match that to a 256-bit AVX2 vperm* instruction to avoid a
multi-shuffle lowering.
Defined at line 13189 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsBroadcast (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to lower broadcast of a single element.
For convenience, this code also bundles all of the subtarget feature set
filtering. While a little annoying to re-dispatch on type here, there isn't
a convenient way to factor it out.
Defined at line 13243 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVSelectWithAllOnesOrZeros (SDValue Cond, SDValue TVal, SDValue FVal, const TargetLowering & TLI, SelectionDAG & DAG, const SDLoc & DL)Defined at line 13365 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool matchShuffleAsInsertPS (SDValue & V1, SDValue & V2, unsigned int & InsertPSMask, const APInt & Zeroable, ArrayRef<int> Mask, SelectionDAG & DAG)Check for whether we can use INSERTPS to perform the shuffle. We only use
INSERTPS when the V1 elements are already in the correct locations
because otherwise we can just always use two SHUFPS instructions which
are much smaller to encode than a SHUFPS and an INSERTPS. We can also
perform INSERTPS if a single V1 element is out of place and all V2
elements are zeroable.
Defined at line 13455 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsInsertPS (const SDLoc & DL, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, SelectionDAG & DAG)Defined at line 13543 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV2F64Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering of 2-lane 64-bit floating point shuffles.
This is the basis function for the 2-lane 64-bit shuffles as we have full
support for floating point shuffles but not integer shuffles. These
instructions will incur a domain crossing penalty on some chips though so
it is better to avoid lowering through this for integer vectors where
possible.
Defined at line 13566 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV2I64Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering of 2-lane 64-bit integer shuffles.
Tries to lower a 2-lane 64-bit shuffle using shuffle operations provided by
the integer unit to minimize domain crossing penalties. However, for blends
it falls back to the floating point shuffle operation with appropriate bit
casting.
Defined at line 13650 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleWithSHUFPS (const SDLoc & DL, MVT VT, ArrayRef<int> Mask, SDValue V1, SDValue V2, SelectionDAG & DAG)Lower a vector shuffle using the SHUFPS instruction.
This is a helper routine dedicated to lowering vector shuffles using SHUFPS.
It makes no assumptions about whether this is the *best* lowering, it simply
uses it.
Defined at line 13750 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void PrintSCEVWithTypeHint (raw_ostream & OS, const SCEV * S)When printing a top-level SCEV for trip counts, it's helpful to include
a type for constants which are otherwise hard to disambiguate.
Defined at line 13835 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
void PrintLoopInfo (raw_ostream & OS, ScalarEvolution * SE, const Loop * L)Defined at line 13841 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
SDValue lowerV4F32Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lower 4-lane 32-bit floating point shuffles.
Uses instructions exclusively from the floating point unit to minimize
domain crossing penalties, as these are sufficient to implement all v4f32
shuffles.
Defined at line 13842 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV4I32Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lower 4-lane i32 vector shuffles.
We try to handle these with integer-domain shuffles where we can, but for
blends we use the floating point domain blend instructions.
Defined at line 13946 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isCompatibleLoad (SDValue N, unsigned int ExtOpcode)Check if N satisfies:
N is used once.
N is a Load.
The load is compatible with ExtOpcode. It means
If load has explicit zero/sign extension, ExpOpcode must have the same
extension.
Otherwise returns true.
Defined at line 13950 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue tryToFoldExtendSelectLoad (SDNode * N, const TargetLowering & TLI, SelectionDAG & DAG, const SDLoc & DL, CombineLevel Level)Fold
(sext (select c, load x, load y)) -> (select c, sextload x, sextload y)
(zext (select c, load x, load y)) -> (select c, zextload x, zextload y)
(aext (select c, load x, load y)) -> (select c, extload x, extload y)
This function is called by the DAGCombiner when visiting sext/zext/aext
dag nodes (see for example method DAGCombiner::visitSIGN_EXTEND).
Defined at line 13977 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue tryToFoldExtendOfConstant (SDNode * N, const SDLoc & DL, const TargetLowering & TLI, SelectionDAG & DAG, bool LegalTypes)Try to fold a sext/zext/aext dag node into a ConstantSDNode or
a build_vector of constants.
This function is called by the DAGCombiner when visiting sext/zext/aext
dag nodes (see for example method DAGCombiner::visitSIGN_EXTEND).
Vector extends are not folded if operations are legal; this is to
avoid introducing illegal build_vector dag nodes.
Defined at line 14022 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue lowerV8I16GeneralSingleInputShuffle (const SDLoc & DL, MVT VT, SDValue V, MutableArrayRef<int> Mask, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lowering of single-input v8i16 shuffles is the cornerstone of SSE2
shuffle lowering, and the most complex part.
The lowering strategy is to try to form pairs of input lanes which are
targeted at the same half of the final vector, and then use a dword shuffle
to place them onto the right half, and finally unpack the paired lanes into
their final position.
The exact breakdown of how to form these dword pairs and align them on the
correct sides is really tricky. See the comments within the function for
more of the details.
This code also handles repeated 128-bit lanes of v8i16 shuffles, but each
lane must shuffle the *exact* same way. In fact, you must pass a v8 Mask to
this routine for it to work correctly. To shuffle a 256-bit or 512-bit i16
vector, form the analogous 128-bit 8-element Mask.
Defined at line 14089 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool ExtendUsesToFormExtLoad (EVT VT, SDNode * N, SDValue N0, unsigned int ExtOpc, SmallVectorImpl<SDNode *> & ExtendNodes, const TargetLowering & TLI)ExtendUsesToFormExtLoad - Trying to extend uses of a load to enable this:
"fold ({s|z|a}ext (load x)) -> ({s|z|a}ext (truncate ({s|z|a}extload x)))"
transformation. Returns true if extension are possible and the above
mentioned transformation is profitable.
Defined at line 14105 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
void checkForCyclesHelper (const SDNode * N, SmallPtrSetImpl<const SDNode *> & Visited, SmallPtrSetImpl<const SDNode *> & Checked, const llvm::SelectionDAG * DAG)Defined at line 14368 of file llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
-
SDValue tryToFoldExtOfExtload (SelectionDAG & DAG, DAGCombiner & Combiner, const TargetLowering & TLI, EVT VT, bool LegalOperations, SDNode * N, SDValue N0, LoadExtType ExtLoadType)fold ([s|z]ext ([s|z]extload x)) -> ([s|z]ext (truncate ([s|z]extload x)))
fold ([s|z]ext ( extload x)) -> ([s|z]ext (truncate ([s|z]extload x)))
Defined at line 14404 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue tryToFoldExtOfLoad (SelectionDAG & DAG, DAGCombiner & Combiner, const TargetLowering & TLI, EVT VT, bool LegalOperations, SDNode * N, SDValue N0, LoadExtType ExtLoadType, NodeType ExtOpc, bool NonNegZExt)fold ([s|z]ext (load x)) -> ([s|z]ext (truncate ([s|z]extload x)))
Only generate vector extloads when 1) they're legal, and 2) they are
deemed desirable by the target. NonNegZExt can be set to true if a zero
extend has the nonneg flag to allow use of sextload if profitable.
Defined at line 14436 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue tryToFoldExtOfMaskedLoad (SelectionDAG & DAG, const TargetLowering & TLI, EVT VT, bool LegalOperations, SDNode * N, SDValue N0, LoadExtType ExtLoadType, NodeType ExtOpc)Defined at line 14497 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue tryToFoldExtOfAtomicLoad (SelectionDAG & DAG, const TargetLowering & TLI, EVT VT, SDValue N0, LoadExtType ExtLoadType)fold ([s|z]ext (atomic_load)) -> ([s|z]ext (truncate ([s|z]ext atomic_load)))
Defined at line 14526 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue foldExtendedSignBitTest (SDNode * N, SelectionDAG & DAG, bool LegalOperations)Defined at line 14555 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue lowerShuffleAsBlendOfPSHUFBs (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, SelectionDAG & DAG, bool & V1InUse, bool & V2InUse)Helper to form a PSHUFB-based shuffle+blend, opportunistically avoiding the
blend if only one input is used.
Defined at line 14590 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV8I16Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Generic lowering of 8-lane i16 shuffles.
This handles both single-input shuffles and combined shuffle/blends with
two inputs. The single input shuffles are immediately delegated to
a dedicated lowering routine.
The blends are lowered in one of three fundamental ways. If there are few
enough inputs, it delegates to a basic UNPCK-based strategy. If the shuffle
of the input is significantly cheaper when lowered as an interleaving of
the two inputs, try to interleave them. Otherwise, blend the low and high
halves of the inputs separately (making them have relatively few inputs)
and then concatenate them.
Defined at line 14653 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void initializeScalarEvolutionWrapperPassPassOnce (PassRegistry & Registry)Defined at line 14811 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
SDValue lowerV8F16Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lower 8-lane 16-bit floating point shuffles.
Defined at line 14857 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleWithPERMV (const SDLoc & DL, MVT VT, ArrayRef<int> OriginalMask, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lowers unary/binary shuffle as VPERMV/VPERMV3, for non-VLX targets,
sub-512-bit shuffles are padded to 512-bits for the shuffle and then
the active subvector is extracted.
Defined at line 14888 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV16I8Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Generic lowering of v16i8 shuffles.
This is a hybrid strategy to lower v16i8 vectors. It first attempts to
detect any complexity reducing interleaving. If that doesn't help, it uses
UNPCK to spread the i8 elements across two i16-element vectors, and uses
the existing lowering for v8i16 blends on each half, finally PACK-ing them
back together.
Defined at line 14940 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue widenCtPop (SDNode * Extend, SelectionDAG & DAG, const SDLoc & DL)Given an extending node with a pop-count operand, if the target does not
support a pop-count in the narrow source type but does support it in the
destination type, widen the pop-count to the destination type.
Defined at line 14951 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue widenAbs (SDNode * Extend, SelectionDAG & DAG)If we have (zext (abs X)) where X is a type that will be promoted by type
legalization, convert to (abs (sext X)). But don't extend past a legal type.
Defined at line 14973 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue lower128BitShuffle (const SDLoc & DL, ArrayRef<int> Mask, MVT VT, SDValue V1, SDValue V2, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Dispatching routine to lower various 128-bit x86 vector shuffles.
This routine breaks down the specific type of 128-bit shuffle and
dispatches to the lowering routines accordingly.
Defined at line 15294 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue splitAndLowerShuffle (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, SelectionDAG & DAG, bool SimpleOnly)Generic routine to split vector shuffle into half-sized shuffles.
This routine just extracts two subvectors, shuffles them independently, and
then concatenates them back together. This should work effectively with all
AVX vector shuffle types.
Defined at line 15332 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsSplitOrBlend (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Either split a vector in halves or decompose the shuffles and the
blend/unpack.
This is provided as a good fallback for many lowerings of non-single-input
shuffles with more than one 128-bit lane. In those cases, we want to select
between splitting the shuffle into 128-bit components and stitching those
back together vs. extracting the single-input shuffles and blending those
results.
Defined at line 15472 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
const SCEV * getPreviousSCEVDivisibleByDivisor (const SCEV * Expr, const APInt & DivisorVal, ScalarEvolution & SE)Return a new SCEV that modifies
to the closest number divides by
and less or equal than Expr. For now, only handle constant
Expr.
Defined at line 15509 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
const SCEV * getNextSCEVDivisibleByDivisor (const SCEV * Expr, const APInt & DivisorVal, ScalarEvolution & SE)Return a new SCEV that modifies
to the closest number divides by
and greater or equal than Expr. For now, only handle constant
Expr.
Defined at line 15524 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
bool isLoadCombineCandidateImpl (Value * Root, unsigned int NumElts, TargetTransformInfo * TTI, bool MustMatchOrInst)Defined at line 15537 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool collectDivisibilityInformation (Predicate Predicate, const SCEV * LHS, const SCEV * RHS, int & DivInfo, int & Multiples, ScalarEvolution & SE)Defined at line 15538 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
SDValue lowerShuffleAsLanePermuteAndSHUFP (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, SelectionDAG & DAG)Lower as SHUFPD(VPERM2F128(V1, V2), VPERM2F128(V1, V2)).
TODO: Extend to support v8f32 (+ 512-bit shuffles).
Defined at line 15543 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isDivisibilityGuard (const SCEV * LHS, const SCEV * RHS, ScalarEvolution & SE)Check if the condition is a divisibility guard (A % B == 0).
Defined at line 15562 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
const SCEV * applyDivisibilityOnMinMaxExpr (const SCEV * MinMaxExpr, APInt Divisor, ScalarEvolution & SE)Apply divisibility by
on MinMaxExpr with constant values,
recursively. This is done by aligning up/down the constant value to the
Divisor.
Defined at line 15571 of file llvm/lib/Analysis/ScalarEvolution.cpp
-
SDValue lowerShuffleAsLanePermuteAndPermute (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, SelectionDAG & DAG, const X86Subtarget & Subtarget)Lower a vector shuffle crossing multiple 128-bit lanes as
a lane permutation followed by a per-lane permutation.
This is mainly for cases where we can have non-repeating permutes
in each lane.
TODO: This is very similar to lowerShuffleAsLanePermuteAndRepeatedMask,
we should investigate merging them.
Defined at line 15579 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void computeInLaneShuffleMask (const ArrayRef<int> & Mask, int LaneSize, int & InLaneMask)Helper to get compute inlane shuffle mask for a complete shuffle mask.
Defined at line 15690 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsLanePermuteAndShuffle (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, SelectionDAG & DAG, const X86Subtarget & Subtarget)Lower a vector shuffle crossing multiple 128-bit lanes by shuffling one
source with a lane permutation.
This lowering strategy results in four instructions in the worst case for a
single-input cross lane shuffle which is lower than any other fully general
cross-lane shuffle strategy I'm aware of. Special cases for each particular
shuffle pattern should be handled prior to trying this lowering.
Defined at line 15710 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV2X128Shuffle (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering 2-lane 128-bit shuffles.
Defined at line 15769 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsLanePermuteAndRepeatedMask (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lower a vector shuffle by first fixing the 128-bit lanes and then
shuffling each lane.
This attempts to create a repeated lane shuffle where each lane uses one
or two of the lanes of the inputs. The lanes of the input vectors are
shuffled in one or two independent shuffles to get the lanes into the
position needed by the final shuffle.
Defined at line 15889 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isFirstInsertElement (const InsertElementInst * IE1, const InsertElementInst * IE2)Checks if the
instructions is followed by
instruction in the
buildvector sequence.
Defined at line 16053 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool getHalfShuffleMask (ArrayRef<int> Mask, MutableArrayRef<int> HalfMask, int & HalfIdx1, int & HalfIdx2)If the input shuffle mask results in a vector that is undefined in all upper
or lower half elements and that mask accesses only 2 halves of the
shuffle's operands, return true. A mask of half the width with mask indexes
adjusted to access the extracted halves of the original shuffle operands is
returned in HalfMask. HalfIdx1 and HalfIdx2 return whether the upper or
lower half of each input operand is accessed.
Defined at line 16061 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue foldExtendVectorInregToExtendOfSubvector (SDNode * N, const SDLoc & DL, const TargetLowering & TLI, SelectionDAG & DAG, bool LegalOperations)Defined at line 16072 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
template <typename T>T * performExtractsShuffleAction (int ShuffleMask, Value * Base, function_ref<unsigned int (T *)> GetVF, function_ref<std::pair<T *, bool> (T *, ArrayRef<int>, bool)> ResizeAction, function_ref<T *(ArrayRef<int>, ArrayRef<T *>)> Action)Does the analysis of the provided shuffle masks and performs the requested
actions on the vectors with the given shuffle masks. It tries to do it in
several steps.
1. If the Base vector is not undef vector, resizing the very first mask to
have common VF and perform action for 2 input vectors (including non-undef
Base). Other shuffle masks are combined with the resulting after the 1 stage
and processed as a shuffle of 2 elements.
2. If the Base is undef vector and have only 1 shuffle mask, perform the
action only for 1 vector with the given mask, if it is not the identity
mask.
3. If > 2 masks are used, perform the remaining shuffle actions for 2
vectors, combing the masks properly between the steps.
Defined at line 16108 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue getShuffleHalfVectors (const SDLoc & DL, SDValue V1, SDValue V2, ArrayRef<int> HalfMask, int HalfIdx1, int HalfIdx2, bool UndefLower, SelectionDAG & DAG, bool UseConcat)Given the output values from getHalfShuffleMask(), create a half width
shuffle of extracted vectors followed by an insert back to full width.
Defined at line 16113 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue detectUSatUPattern (SDValue In, EVT VT)Detect patterns of truncation with unsigned saturation:
(truncate (umin (x, unsigned_max_of_dest_type)) to dest_type).
Return the source value x to be truncated or SDValue() if the pattern was
not matched.
Defined at line 16150 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue lowerShuffleWithUndefHalf (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lower shuffles where an entire half of a 256 or 512-bit vector is UNDEF.
This allows for fast cases such as subvector extraction/insertion
or shuffling smaller vector types which can lower more efficiently.
Defined at line 16153 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue detectSSatSPattern (SDValue In, EVT VT)Detect patterns of truncation with signed saturation:
(truncate (smin (smax (x, signed_min_of_dest_type),
signed_max_of_dest_type)) to dest_type)
or:
(truncate (smax (smin (x, signed_max_of_dest_type),
signed_min_of_dest_type)) to dest_type).
Return the source value to be truncated or SDValue() if the pattern was not
matched.
Defined at line 16173 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue detectSSatUPattern (SDValue In, EVT VT, SelectionDAG & DAG, const SDLoc & DL)Detect patterns of truncation with unsigned saturation:
Defined at line 16195 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue foldToSaturated (SDNode * N, EVT & VT, SDValue & Src, EVT & SrcVT, SDLoc & DL, const TargetLowering & TLI, SelectionDAG & DAG)Defined at line 16220 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue lowerShuffleAsRepeatedMaskAndLanePermute (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle case where shuffle sources are coming from the same 128-bit lane and
every lane can be represented as the same repeating mask - allowing us to
shuffle the sources with the repeating shuffle and then permute the result
to the destination lanes.
Defined at line 16268 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool matchShuffleWithSHUFPD (MVT VT, SDValue & V1, SDValue & V2, bool & ForceV1Zero, bool & ForceV2Zero, unsigned int & ShuffleImm, ArrayRef<int> Mask, const APInt & Zeroable)Defined at line 16467 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleWithSHUFPD (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 16513 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShuffleAsVTRUNCAndUnpack (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, const APInt & Zeroable, SelectionDAG & DAG)Look for {0, 8, 16, 24, 32, 40, 48, 56 } in the first 8 elements. Followed
by zeroable elements in the remaining 24 elements. Turn this into two
vmovqb instructions shuffled together.
Defined at line 16540 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerShufflePairAsUNPCKAndPermute (const SDLoc & DL, MVT VT, SDValue V1, SDValue V2, ArrayRef<int> Mask, SelectionDAG & DAG)a = shuffle v1, v2, mask1 ; interleaving lower lanes of v1 and v2
b = shuffle v1, v2, mask2 ; interleaving higher lanes of v1 and v2
=>
ul = unpckl v1, v2
uh = unpckh v1, v2
a = vperm ul, uh
b = vperm ul, uh
Pattern-match interleave(256b v1, 256b v2) -> 512b v3 and lower it into unpck
and permute. We cannot directly match v3 because it is split into two
256-bit vectors in earlier isel stages. Therefore, this function matches a
pair of 256-bit shuffles and makes sure the masks are consecutive.
Once unpck and permute nodes are created, the permute corresponding to this
shuffle is returned, while the other permute replaces the other half of the
shuffle in the selection dag.
Defined at line 16588 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV4F64Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering of 4-lane 64-bit floating point shuffles.
Also ends up handling lowering of 4-lane 64-bit integer shuffles when AVX2
isn't available.
Defined at line 16661 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDNode * getBuildPairElt (SDNode * N, unsigned int i)Defined at line 16678 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
unsigned int getPPCf128HiElementSelector (const SelectionDAG & DAG)Defined at line 16717 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue lowerV4I64Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering of 4-lane 64-bit integer shuffles.
This routine is only called when we have AVX2 and thus a reasonable
instruction set for v4i64 shuffling..
Defined at line 16784 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV8F32Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering of 8-lane 32-bit floating point shuffles.
Also ends up handling lowering of 8-lane 32-bit integer shuffles when AVX2
isn't available.
Defined at line 16897 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV8I32Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering of 8-lane 32-bit integer shuffles.
This routine is only called when we have AVX2 and thus a reasonable
instruction set for v8i32 shuffling..
Defined at line 17020 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV16I16Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering of 16-lane 16-bit integer shuffles.
This routine is only called when we have AVX2 and thus a reasonable
instruction set for v16i16 shuffling..
Defined at line 17162 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isContractableFMUL (const TargetOptions & Options, SDValue N)Returns true if floating point contraction is allowed on the FMUL-SDValue
`N`
Defined at line 17248 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue lowerV32I8Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering of 32-lane 8-bit integer shuffles.
This routine is only called when we have AVX2 and thus a reasonable
instruction set for v32i8 shuffling..
Defined at line 17285 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lower256BitShuffle (const SDLoc & DL, ArrayRef<int> Mask, MVT VT, SDValue V1, SDValue V2, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)High-level routine to lower various 256-bit x86 vector shuffles.
This routine either breaks down the specific type of a 256-bit x86 vector
shuffle or splits it into two 128-bit shuffles and fuses the results back
together based on the available instructions.
Defined at line 17407 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV4X128Shuffle (const SDLoc & DL, MVT VT, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to lower a vector shuffle as a 128-bit shuffles.
Defined at line 17479 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV8F64Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering of 8-lane 64-bit floating point shuffles.
Defined at line 17585 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV16F32Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering of 16-lane 32-bit floating point shuffles.
Defined at line 17639 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV8I64Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering of 8-lane 64-bit integer shuffles.
Defined at line 17706 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV16I32Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering of 16-lane 32-bit integer shuffles.
Defined at line 17779 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV32I16Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering of 32-lane 16-bit integer shuffles.
Defined at line 17876 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerV64I8Shuffle (const SDLoc & DL, ArrayRef<int> Mask, const APInt & Zeroable, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle lowering of 64-lane 8-bit integer shuffles.
Defined at line 17947 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lower512BitShuffle (const SDLoc & DL, ArrayRef<int> Mask, MVT VT, SDValue V1, SDValue V2, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)High-level routine to lower various 512-bit x86 vector shuffles.
This routine either breaks down the specific type of a 512-bit x86 vector
shuffle or splits it into two 256-bit shuffles and fuses the results back
together based on the available instructions.
Defined at line 18045 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lower1BitShuffleAsKSHIFTR (const SDLoc & DL, ArrayRef<int> Mask, MVT VT, SDValue V1, SDValue V2, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 18119 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
int match1BitShuffleAsKSHIFT (unsigned int & Opcode, ArrayRef<int> Mask, int MaskOffset, const APInt & Zeroable)Determine if this shuffle can be implemented with a KSHIFT instruction.
Returns the shift amount if possible or -1 if not. This is a simplified
version of matchShuffleAsShift.
Defined at line 18160 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lower1BitShuffle (const SDLoc & DL, ArrayRef<int> Mask, MVT VT, SDValue V1, SDValue V2, const APInt & Zeroable, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lower vXi1 vector shuffles.
There is no a dedicated instruction on AVX-512 that shuffles the masks.
The only way to shuffle bits is to sign-extend the mask vector to SIMD
vector, shuffle and then truncate it back.
Defined at line 18194 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool canonicalizeShuffleMaskWithCommute (ArrayRef<int> Mask)Helper function that returns true if the shuffle mask should be
commuted to improve canonicalization.
Defined at line 18335 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool canCombineAsMaskOperation (SDValue V, const X86Subtarget & Subtarget)Defined at line 18397 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerVECTOR_SHUFFLE (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Top-level lowering for x86 vector shuffles.
This handles decomposition, canonicalization, and lowering of all x86
vector shuffles. Most of the specific lowering strategies are encapsulated
above in helper routines. The canonicalization attempts to widen shuffles
to involve fewer lanes of wider elements, consolidate symmetric patterns
s.t. only one of the two inputs needs to be tested, etc.
Defined at line 18462 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerVECTOR_COMPRESS (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)As legal vpcompress instructions depend on various AVX512 extensions, try to
convert illegal vector sizes to legal ones to avoid expansion.
Defined at line 18628 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerVSELECTtoVectorShuffle (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to lower a VSELECT instruction to a vector shuffle.
Defined at line 18689 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerEXTRACT_VECTOR_ELT_SSE4 (SDValue Op, SelectionDAG & DAG)Defined at line 18823 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue ExtractBitFromMaskVector (SDValue Op, SelectionDAG & DAG, const X86Subtarget & Subtarget)Extract one bit from mask vector, like v16i1 or v8i1.
AVX-512 feature.
Defined at line 18874 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
APInt getExtractedDemandedElts (SDNode * N)Helper to find all the extracted elements from a vector.
Defined at line 18920 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool CanCombineFCOPYSIGN_EXTEND_ROUND (EVT XTy, EVT YTy)copysign(x, fp_extend(y)) -> copysign(x, y)
copysign(x, fp_round(y)) -> copysign(x, y)
Operands to the functions are the type of X and Y respectively.
Defined at line 18922 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool CanCombineFCOPYSIGN_EXTEND_ROUND (SDNode * N)Defined at line 18938 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue foldFPToIntToFP (SDNode * N, const SDLoc & DL, SelectionDAG & DAG, const TargetLowering & TLI)Defined at line 19066 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue InsertBitToMaskVector (SDValue Op, SelectionDAG & DAG, const X86Subtarget & Subtarget)Insert one bit to mask vector, like v16i1 or v8i1.
AVX-512 feature.
Defined at line 19110 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue FoldIntToFPToInt (SDNode * N, const SDLoc & DL, SelectionDAG & DAG)Fold (fp_to_{s/u}int ({s/u}int_to_fpx)) -> zext x, sext x, trunc x, or x
Defined at line 19202 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
Instruction * propagateMetadata (Instruction * Inst, ArrayRef VL)Defined at line 19229 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
DebugLoc getDebugLocFromPHI (PHINode & PN)Defined at line 19237 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue LowerFLDEXP (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 19346 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue eliminateFPCastPair (SDNode * N)Eliminate a floating-point widening of a narrowed value if the fast math
flags allow it.
Defined at line 19361 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue LowerSCALAR_TO_VECTOR (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 19412 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerINSERT_SUBVECTOR (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lower a node with an INSERT_SUBVECTOR opcode. This may result in a
simple superregister reference or explicit instructions to insert
the upper bits of a vector.
Defined at line 19451 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerEXTRACT_SUBVECTOR (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 19458 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue GetTLSADDR (SelectionDAG & DAG, GlobalAddressSDNode * GA, EVT PtrVT, unsigned int ReturnReg, unsigned char OperandFlags, bool LoadGlobalBaseReg, bool LocalDynamic)Defined at line 19672 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerToTLSGeneralDynamicModel32 (GlobalAddressSDNode * GA, SelectionDAG & DAG, EVT PtrVT)Lower ISD::GlobalTLSAddress using the "general dynamic" model, 32 bit
Defined at line 19746 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerToTLSGeneralDynamicModel64 (GlobalAddressSDNode * GA, SelectionDAG & DAG, EVT PtrVT)Lower ISD::GlobalTLSAddress using the "general dynamic" model, 64 bit LP64
Defined at line 19754 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerToTLSGeneralDynamicModelX32 (GlobalAddressSDNode * GA, SelectionDAG & DAG, EVT PtrVT)Lower ISD::GlobalTLSAddress using the "general dynamic" model, 64 bit ILP32
Defined at line 19761 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerToTLSLocalDynamicModel (GlobalAddressSDNode * GA, SelectionDAG & DAG, EVT PtrVT, bool Is64Bit, bool Is64BitLP64)Defined at line 19767 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerToTLSExecModel (GlobalAddressSDNode * GA, SelectionDAG & DAG, EVT PtrVT, Model model, bool is64Bit, bool isPIC)Lower ISD::GlobalTLSAddress using the "initial exec" or "local exec" model.
Defined at line 19805 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool getCombineLoadStoreParts (SDNode * N, unsigned int Inc, unsigned int Dec, bool & IsLoad, bool & IsMasked, SDValue & Ptr, const TargetLowering & TLI)Defined at line 19858 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue LowerShiftParts (SDValue Op, SelectionDAG & DAG)Lower SRA_PARTS and friends, which return two i32 values
and take a 2 x i32 value to shift plus a shift amount.
TODO: Can this be moved to general expansion code?
Defined at line 20032 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerI64IntToFP_AVX512DQ (SDValue Op, const SDLoc & dl, SelectionDAG & DAG, const X86Subtarget & Subtarget)Try to use a packed vector operation to handle i64 on 32-bit targets when
AVX512DQ is enabled.
Defined at line 20040 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerI64IntToFP16 (SDValue Op, const SDLoc & dl, SelectionDAG & DAG, const X86Subtarget & Subtarget)Try to use a packed vector operation to handle i64 on 32-bit targets.
Defined at line 20082 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool useVectorCast (unsigned int Opcode, MVT FromVT, MVT ToVT, const X86Subtarget & Subtarget)Defined at line 20117 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool shouldCombineToPostInc (SDNode * N, SDValue Ptr, SDNode * PtrUse, SDValue & BasePtr, SDValue & Offset, ISD::MemIndexedMode & AM, SelectionDAG & DAG, const TargetLowering & TLI)Defined at line 20120 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue vectorizeExtractedCast (SDValue Cast, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Given a scalar cast operation that is extracted from a vector, try to
vectorize the cast op followed by extraction. This will avoid an expensive
round-trip between XMM and GPR.
Defined at line 20142 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDNode * getPostIndexedLoadStoreOp (SDNode * N, bool & IsLoad, bool & IsMasked, SDValue & Ptr, SDValue & BasePtr, SDValue & Offset, ISD::MemIndexedMode & AM, SelectionDAG & DAG, const TargetLowering & TLI)Defined at line 20170 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue lowerFPToIntToFP (SDValue CastToFP, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Given a scalar cast to FP with a cast to integer operand (almost an ftrunc),
try to vectorize the cast ops. This will avoid an expensive round-trip
between XMM and GPR.
Defined at line 20184 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerINT_TO_FP_vXi64 (SDValue Op, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 20231 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
ElementCount numVectorEltsOrZero (EVT T)Defined at line 20287 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue promoteXINT_TO_FP (SDValue Op, const SDLoc & dl, SelectionDAG & DAG)Defined at line 20320 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isLegalConversion (MVT VT, MVT FloatVT, bool IsSigned, const X86Subtarget & Subtarget)Defined at line 20339 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool shouldUseHorizontalOp (bool IsSingleSource, SelectionDAG & DAG, const X86Subtarget & Subtarget)Horizontal vector math instructions may be slower than normal math with
shuffles. Limit horizontal op codegen based on size/speed trade-offs, uarch
implementation, and likely shuffle complexity of the alternate sequence.
Defined at line 20505 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerUINT_TO_FP_i64 (SDValue Op, const SDLoc & dl, SelectionDAG & DAG, const X86Subtarget & Subtarget)64-bit unsigned integer to double expansion.
Defined at line 20513 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerUINT_TO_FP_i32 (SDValue Op, const SDLoc & dl, SelectionDAG & DAG, const X86Subtarget & Subtarget)32-bit unsigned integer to float expansion.
Defined at line 20581 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerUINT_TO_FP_v2i32 (SDValue Op, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 20631 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerUINT_TO_FP_vXi32 (SDValue Op, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 20684 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerUINT_TO_FP_vec (SDValue Op, const SDLoc & dl, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 20848 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool areUsedBitsDense (const APInt & UsedBits)Check that all bits set in
form a dense region, i.e.,
looks like 0..0 1..1 0..0.
Defined at line 20950 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool areSlicesNextToEachOther (const LoadedSlice & First, const LoadedSlice & Second)Check whether or not
and
are next to each other
in memory. This means that there is no hole between the bits loaded
by
and the bits loaded by
Defined at line 20967 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
void adjustCostForPairing (SmallVectorImpl<LoadedSlice> & LoadedSlices, LoadedSlice::Cost & GlobalLSCost)Adjust the
according to the target
paring capabilities and the layout of the slices.
Defined at line 20982 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
bool isSlicingProfitable (SmallVectorImpl<LoadedSlice> & LoadedSlices, const APInt & UsedBits, bool ForCodeSize)Check the profitability of all involved LoadedSlice.
Currently, it is considered profitable if there is exactly two
involved slices (1) which are (2) next to each other in memory, and
whose cost (
Note: The order of the elements in
may be modified, but not
the elements themselves.
FIXME: When the cost model will be mature enough, we can relax
constraints (1) and (2).
Defined at line 21048 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue LowerAVXExtend (SDValue Op, const SDLoc & dl, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 21182 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
pair CheckForMaskedLoad (SDValue V, SDValue Ptr, SDValue Chain)Check to see if V is (and load (ptr), imm), where the load is having
specific bytes cleared out. If so, return the byte size being masked out
and the shift amount.
Defined at line 21189 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue SplitAndExtendv16i1 (unsigned int ExtOpc, MVT VT, SDValue In, const SDLoc & dl, SelectionDAG & DAG)Helper to split and extend a v16i1 mask to v16i8 or v16i16.
Defined at line 21244 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerZERO_EXTEND_Mask (SDValue Op, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 21257 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue ShrinkLoadReplaceStoreWithStore (const std::pair<unsigned int, unsigned int> & MaskInfo, SDValue IVal, StoreSDNode * St, DAGCombiner * DC)Check to see if IVal is something that provides a value as specified by
MaskInfo. If so, replace the specified store with a narrower store of
truncated IVal.
Defined at line 21259 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue LowerZERO_EXTEND (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 21313 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue truncateVectorWithPACK (unsigned int Opcode, EVT DstVT, SDValue In, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Helper to recursively truncate vector elements in half with PACKSS/PACKUS.
It makes use of the fact that vectors with enough leading sign/zero bits
prevent the PACKSS/PACKUS from saturating the results.
AVX2 (Int256) sub-targets require extra shuffling as the PACK*S operates
within each 128-bit lane.
Defined at line 21331 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue truncateVectorWithPACKUS (EVT DstVT, SDValue In, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)Truncate using inreg zero extension (AND mask) and X86ISD::PACKUS.
e.g. trunc
<
8 x i32> X to
<
8 x i16> -->
MaskX = X
&
0xffff (clear high bits to prevent saturation)
packus (extract_subv MaskX, 0), (extract_subv MaskX, 1)
Defined at line 21453 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue truncateVectorWithPACKSS (EVT DstVT, SDValue In, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)Truncate using inreg sign extension and X86ISD::PACKSS.
Defined at line 21461 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue matchTruncateWithPACK (unsigned int & PackOpcode, EVT DstVT, SDValue In, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget, SDNodeFlags Flags)Helper to determine if
truncated to
has the necessary
signbits / leading zero bits to be truncated with PACKSS / PACKUS,
possibly by converting a SRL node to SRA for sign extension.
Defined at line 21473 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerTruncateVecPackWithSignBits (MVT DstVT, SDValue In, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG, SDNodeFlags Flags)This function lowers a vector truncation of 'extended sign-bits' or
'extended zero-bits' values.
vXi16/vXi32/vXi64 to vXi8/vXi16/vXi32 into X86ISD::PACKSS/PACKUS operations.
Defined at line 21566 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerTruncateVecPack (MVT DstVT, SDValue In, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)This function lowers a vector truncation from vXi32/vXi64 to vXi8/vXi16 into
X86ISD::PACKUS/X86ISD::PACKSS operations.
Defined at line 21598 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerTruncateVecI1 (SDValue Op, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 21648 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue expandFP_TO_UINT_SSE (MVT VT, SDValue Src, const SDLoc & dl, SelectionDAG & DAG, const X86Subtarget & Subtarget)We can leverage the specific way the "cvttps2dq/cvttpd2dq" instruction
behaves on out of range inputs to generate optimized conversions.
Defined at line 21851 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerFP16_TO_FP (SDValue Op, SelectionDAG & DAG)Defined at line 22689 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerFP_TO_FP16 (SDValue Op, SelectionDAG & DAG)Defined at line 22718 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerAddSubToHorizontalOp (SDValue Op, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Depending on uarch and/or optimizing for size, we might prefer to use a
vector operation in place of the typical scalar operation.
Defined at line 22774 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerFROUND (SDValue Op, SelectionDAG & DAG)ISD::FROUND is defined to round to nearest with ties rounding away from 0.
This mode isn't supported in hardware on X86. But as long as we aren't
compiling with trapping math, we can emulate this with
trunc(X + copysign(nextafter(0.5, 0.0), X)).
Defined at line 22858 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerFABSorFNEG (SDValue Op, SelectionDAG & DAG)The only differences between FABS and FNEG are the mask and the logic op.
FNEG also has a folding opportunity for FNEG(FABS(x)).
Defined at line 22880 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerFCOPYSIGN (SDValue Op, SelectionDAG & DAG)Defined at line 22941 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue foldToMaskedStore (StoreSDNode * Store, SelectionDAG & DAG, const SDLoc & Dl)Defined at line 22942 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue LowerFGETSIGN (SDValue Op, SelectionDAG & DAG)Defined at line 23011 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getBT (SDValue Src, SDValue BitNo, const SDLoc & DL, SelectionDAG & DAG)Helper for attempting to create a X86ISD::BT node.
Defined at line 23030 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getSETCC (CondCode Cond, SDValue EFLAGS, const SDLoc & dl, SelectionDAG & DAG)Helper for creating a X86ISD::SETCC node.
Defined at line 23071 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isOrXorXorTree (SDValue X, bool Root)Recursive helper for combineVectorSizedSetCCEquality() to see if we have a
recognizable memcmp expansion.
Defined at line 23079 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
template <typename F>SDValue emitOrXorXorTree (SDValue X, const SDLoc & DL, SelectionDAG & DAG, EVT VecVT, EVT CmpVT, bool HasPT, F SToV)Recursive helper for combineVectorSizedSetCCEquality() to emit the memcmp
expansion.
Defined at line 23091 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVectorSizedSetCCEquality (EVT VT, SDValue X, SDValue Y, CondCode CC, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Try to map a 128-bit or larger integer comparison to vector instructions
before type legalization splits it up into chunks.
Defined at line 23118 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool checkTreeSizes (ArrayRef Sizes, bool First)Checks if the quadratic mean deviation is less than 90% of the mean size.
Defined at line 23220 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool matchScalarReduction (SDValue Op, NodeType BinOp, SmallVectorImpl<SDValue> & SrcOps, SmallVectorImpl<APInt> * SrcMask)Helper for matching BINOP(EXTRACTELT(X,0),BINOP(EXTRACTELT(X,1),...))
style scalarized (associative) reduction patterns. Partial reductions
are supported when the pointer SrcMask is non-null.
TODO - move this to SelectionDAG?
Defined at line 23269 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerVectorAllEqual (const SDLoc & DL, SDValue LHS, SDValue RHS, CondCode CC, const APInt & OriginalMask, const X86Subtarget & Subtarget, SelectionDAG & DAG, X86::CondCode & X86CC)Helper function for comparing all bits of two vectors.
Defined at line 23338 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool mergeEltWithShuffle (SDValue & X, SDValue & Y, ArrayRef<int> Mask, SmallVectorImpl<int> & NewMask, SDValue Elt, unsigned int InsIndex)Merge an insertion into an existing shuffle:
(insert_vector_elt (vector_shuffle X, Y, Mask),
.(extract_vector_elt X, N), InsIndex)
--> (vector_shuffle X, Y, NewMask)
and variations where shuffle operands may be CONCAT_VECTORS.
Defined at line 23402 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue MatchVectorAllEqualTest (SDValue OrigLHS, SDValue OrigRHS, CondCode CC, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG, X86::CondCode & X86CC)Check whether an AND/OR'd reduction tree is PTEST-able, or if we can fallback
to CMP(MOVMSK(PCMPEQB(X,Y))).
Defined at line 23486 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool hasNonFlagsUse (SDValue Op)return true if
has a use that doesn't just read flags.
Defined at line 23621 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isProfitableToUseFlagOp (SDValue Op)Transform to an x86-specific ALU node with flags if there is a chance of
using an RMW op or only the flags are used. Otherwise, leave
the node alone and emit a 'cmp' or 'test' instruction.
Defined at line 23641 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue EmitTest (SDValue Op, CondCode X86CC, const SDLoc & dl, SelectionDAG & DAG, const X86Subtarget & Subtarget)Emit nodes that will be selected as "test Op0,Op0", or something
equivalent.
Defined at line 23653 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue EmitCmp (SDValue Op0, SDValue Op1, CondCode X86CC, const SDLoc & dl, SelectionDAG & DAG, const X86Subtarget & Subtarget)Emit nodes that will be selected as "cmp Op0,Op1", or something
equivalent.
Defined at line 23763 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue scalarizeExtractedBinOp (SDNode * ExtElt, SelectionDAG & DAG, const SDLoc & DL, bool LegalTypes)Transform a vector binary operation into a scalar binary operation by moving
the math/logic after an extract element of a vector.
Defined at line 23978 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue LowerAndToBT (SDValue And, CondCode CC, const SDLoc & dl, SelectionDAG & DAG, X86::CondCode & X86CC)Result of 'and' is compared against zero. Change to a BT node if possible.
Returns the BT node and the condition code needed to use it.
Defined at line 24045 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool cheapX86FSETCC_SSE (CondCode SetCCOpcode)Check if pre-AVX condcode can be performed by a single FCMP op.
Defined at line 24113 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
unsigned int translateX86FSETCC (CondCode SetCCOpcode, SDValue & Op0, SDValue & Op1, bool & IsAlwaysSignaling)Turns an ISD::CondCode into a value suitable for SSE floating-point mask
CMPs.
Defined at line 24119 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue splitVSETCC (EVT VT, SDValue LHS, SDValue RHS, CondCode Cond, SelectionDAG & DAG, const SDLoc & dl)Break a VSETCC 256/512-bit vector into two new 128/256 ones and then
concatenate the result back.
Defined at line 24182 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerIntVSETCC_AVX512 (SDValue Op, const SDLoc & dl, SelectionDAG & DAG)Defined at line 24204 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue incDecVectorConstant (SDValue V, SelectionDAG & DAG, bool IsInc, bool NSW)Given a buildvector constant, return a new vector constant with each element
incremented or decremented. If incrementing or decrementing would result in
unsigned overflow or underflow or this is not a simple vector constant,
return an empty value.
Defined at line 24228 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerVSETCCWithSUBUS (SDValue Op0, SDValue Op1, MVT VT, CondCode Cond, const SDLoc & dl, const X86Subtarget & Subtarget, SelectionDAG & DAG)As another special case, use PSUBUS[BW] when it's profitable. E.g. for
Op0 u
<
= Op1:
t = psubus Op0, Op1
pcmpeq t,
<
0..0>
Defined at line 24262 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerVSETCC (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 24317 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue EmitAVX512Test (SDValue Op0, SDValue Op1, CondCode CC, const SDLoc & dl, SelectionDAG & DAG, const X86Subtarget & Subtarget, SDValue & X86CC)Try to select this as a KORTEST+SETCC or KTEST+SETCC if possible.
Defined at line 24792 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue reduceBuildVecToShuffleWithZero (SDNode * BV, SelectionDAG & DAG)Defined at line 24897 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
template <typename R, typename T>auto getFirstIndexOf (R && Range, const T & Val)FIXME: promote to STLExtras.
Defined at line 24975 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
std::pair<SDValue, SDValue> getX86XALUOOp (X86::CondCode & Cond, SDValue Op, SelectionDAG & DAG)This function returns three things: the arithmetic computation itself
(Value), an EFLAGS result (Overflow), and a condition code (Cond). The
flag and the condition code define the case in which the arithmetic
computation overflows.
Defined at line 25061 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerXALUO (SDValue Op, SelectionDAG & DAG)Defined at line 25107 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isX86LogicalCmp (SDValue Op)Return true if opcode is a X86 logical comparison.
Defined at line 25123 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isTruncWithZeroHighBitsInput (SDValue V, SelectionDAG & DAG)Defined at line 25137 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerSELECTWithCmpZero (SDValue CmpVal, SDValue LHS, SDValue RHS, unsigned int X86CC, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Lower various (select (icmp CmpVal, 0), LHS, RHS) custom patterns.
Defined at line 25148 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineConcatVectorOfScalars (SDNode * N, SelectionDAG & DAG)Defined at line 25532 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue LowerSIGN_EXTEND_Mask (SDValue Op, const SDLoc & dl, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 25537 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineConcatVectorOfConcatVectors (SDNode * N, SelectionDAG & DAG)Attempt to merge nested concat_vectors/undefs.
Fold concat_vectors(concat_vectors(x,y,z,w),u,u,concat_vectors(a,b,c,d))
--> concat_vectors(x,y,z,w,u,u,u,u,u,u,u,u,a,b,c,d)
Defined at line 25589 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue LowerANY_EXTEND (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 25592 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerEXTEND_VECTOR_INREG (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lowering for SIGN_EXTEND_VECTOR_INREG and ZERO_EXTEND_VECTOR_INREG.
For sign extend this needs to handle all vector sizes and SSE4.1 and
non-SSE4.1 targets. For zero extend this should only handle inputs of
MVT::v64i8 when BWI is not supported, but AVX512 is.
Defined at line 25609 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineConcatVectorOfExtracts (SDNode * N, SelectionDAG & DAG)Check to see if this is a CONCAT_VECTORS of a bunch of EXTRACT_SUBVECTOR
operations. If so, and if the EXTRACT_SUBVECTOR vector inputs come from at
most two distinct vectors the same size as the result, attempt to turn this
into a legal shuffle.
Defined at line 25628 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
RecurKind getRdxKind (Value * V)Gets recurrence kind from the specified value.
Defined at line 25687 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
optional getAggregateSize (Instruction * InsertInst)Defined at line 25690 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue combineConcatVectorOfCasts (SDNode * N, SelectionDAG & DAG)Defined at line 25702 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
void findBuildAggregateRec (Instruction * LastInsertInst, TargetTransformInfo * TTI, SmallVectorImpl<Value *> & BuildVectorOpds, SmallVectorImpl<Value *> & InsertElts, unsigned int OperandOffset, const BoUpSLP & R)Defined at line 25718 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue LowerSIGN_EXTEND (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 25732 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool findBuildAggregate (Instruction * LastInsertInst, TargetTransformInfo * TTI, SmallVectorImpl<Value *> & BuildVectorOpds, SmallVectorImpl<Value *> & InsertElts, const BoUpSLP & R)Recognize construction of vectors like
%ra = insertelement
<
4 x float> poison, float %s0, i32 0
%rb = insertelement
<
4 x float> %ra, float %s1, i32 1
%rc = insertelement
<
4 x float> %rb, float %s2, i32 2
%rd = insertelement
<
4 x float> %rc, float %s3, i32 3
starting from the last insertelement or insertvalue instruction.
Also recognize homogeneous aggregates like {
<
2 x float>,
<
2 x float>},
{{float, float}, {float, float}}, [2 x {float, float}] and so on.
See llvm/test/Transforms/SLPVectorizer/X86/pr42022.ll for examples.
Assume LastInsertInst is of InsertElementInst or InsertValueInst type.
Returns
true if it matches.
Defined at line 25757 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue combineConcatVectorOfShuffleAndItsOperands (SDNode * N, SelectionDAG & DAG, const TargetLowering & TLI, bool LegalTypes, bool LegalOperations)See if this is a simple CONCAT_VECTORS with no UNDEF operands, and if one of
the operands is a SHUFFLE_VECTOR, and all other operands are also operands
to that SHUFFLE_VECTOR, create wider SHUFFLE_VECTOR.
Defined at line 25768 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue splitVectorStore (StoreSDNode * Store, SelectionDAG & DAG)Change a vector store into a pair of half-size vector stores.
Defined at line 25785 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Instruction * getReductionInstr (const DominatorTree * DT, PHINode * P, BasicBlock * ParentBB, LoopInfo * LI)Try and get a reduction instruction from a phi node.
Given a phi node
in a block
consider possible reductions
if they come from either
or a containing loop latch.
if not possible.
Code
nullptrDefined at line 25792 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue scalarizeVectorStore (StoreSDNode * Store, MVT StoreVT, SelectionDAG & DAG)Scalarize a vector store, bitcasting to TargetVT to determine the scalar
type.
Defined at line 25818 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool matchRdxBop (Instruction * I, Value *& V0, Value *& V1)Defined at line 25836 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue LowerStore (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 25852 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
Instruction * tryGetSecondaryReductionRoot (PHINode * Phi, Instruction * Root)We could have an initial reduction that is not an add.
r *= v1 + v2 + v3 + v4
In such a case start looking for a tree rooted in the first '+'.
Defined at line 25862 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue combineConcatVectorOfSplats (SDNode * N, SelectionDAG & DAG, const TargetLowering & TLI, bool LegalTypes, bool LegalOperations)Defined at line 25866 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
Instruction * getNonPhiOperand (Instruction * I, PHINode * Phi)the first operand of
that does not match
If
operand is not an instruction it returns nullptr.
Defined at line 25880 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
bool isReductionCandidate (Instruction * I)Defined at line 25889 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue LowerLoad (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lower vector extended loads using a shuffle. If SSSE3 is not available we
may emit an illegal shuffle but the expansion is still better than scalar
code. We generate sext/sext_invec for SEXTLOADs if it's available, otherwise
we'll emit a shuffle and a arithmetic shift.
FIXME: Is the expansion actually better than scalar code? It doesn't seem so.
TODO: It is possible to support ZExt by zeroing the undef values during
the shuffle phase or after the shuffle.
Defined at line 25937 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isAndOrOfSetCCs (SDValue Op, unsigned int & Opc)Return true if node is an ISD::AND or ISD::OR of two X86ISD::SETCC nodes
each of which has no other use apart from the AND / OR.
Defined at line 25973 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getSubVectorSrc (SDValue V, unsigned int Index, EVT SubVT)Helper that peeks through INSERT_SUBVECTOR/CONCAT_VECTORS to find
if the subvector can be sourced for free.
Defined at line 26100 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue narrowInsertExtractVectorBinOp (EVT SubVT, SDValue BinOp, unsigned int Index, const SDLoc & DL, SelectionDAG & DAG, bool LegalOperations)Defined at line 26115 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue narrowExtractedVectorBinOp (EVT VT, SDValue Src, unsigned int Index, const SDLoc & DL, SelectionDAG & DAG, bool LegalOperations)If we are extracting a subvector produced by a wide binary operator try
to use a narrow binary operator and/or avoid concatenation and extraction.
Defined at line 26148 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
template <typename T>bool tryToVectorizeSequence (SmallVectorImpl<T *> & Incoming, function_ref<bool (T *, T *)> Comparator, function_ref<bool (ArrayRef<T *>, T *)> AreCompatible, function_ref<bool (ArrayRef<T *>, bool)> TryToVectorizeHelper, bool MaxVFOnly, BoUpSLP & R)Defined at line 26165 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue narrowExtractedVectorLoad (EVT VT, SDValue Src, unsigned int Index, const SDLoc & DL, SelectionDAG & DAG)If we are extracting a subvector from a wide vector load, convert to a
narrow load to eliminate the extraction:
(extract_subvector (load wide vector)) --> (load narrow vector)
Defined at line 26273 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
template <bool IsCompatibility>bool compareCmp (Value * V, Value * V2, TargetLibraryInfo & TLI, const DominatorTree & DT)Compare two cmp instructions. If IsCompatibility is true, function returns
true if 2 cmps have same/swapped predicates and mos compatible corresponding
operands. If IsCompatibility is false, function implements strict weak
ordering relation between two cmp instructions, returning true if the first
instruction is "less" than the second, i.e. its predicate is less than the
predicate of the second or the operands IDs are less than the operands IDs
of the second cmp instruction.
Defined at line 26284 of file llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
-
SDValue LowerVACOPY (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 26311 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
unsigned int getTargetVShiftUniformOpcode (unsigned int Opc, bool IsVariable)Helper to get immediate/variable SSE shift opcode from other shift opcodes.
Defined at line 26337 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue foldExtractSubvectorFromShuffleVector (EVT NarrowVT, SDValue Src, unsigned int Index, const SDLoc & DL, SelectionDAG & DAG, bool LegalOperations)Given EXTRACT_SUBVECTOR(VECTOR_SHUFFLE(Op0, Op1, Mask)),
try to produce VECTOR_SHUFFLE(EXTRACT_SUBVECTOR(Op?, ?),
EXTRACT_SUBVECTOR(Op?, ?),
Mask'))
iff it is legal and profitable to do so. Notably, the trimmed mask
(containing only the elements that are extracted)
must reference at most two subvectors.
Defined at line 26338 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue getTargetVShiftByConstNode (unsigned int Opc, const SDLoc & dl, MVT VT, SDValue SrcOp, uint64_t ShiftAmt, SelectionDAG & DAG)Handle vector element shifts where the shift amount is a constant.
Takes immediate version of shift as input.
Defined at line 26357 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getTargetVShiftNode (unsigned int Opc, const SDLoc & dl, MVT VT, SDValue SrcOp, SDValue ShAmt, int ShAmtIdx, const X86Subtarget & Subtarget, SelectionDAG & DAG)Handle vector element shifts by a splat shift amount
Defined at line 26409 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getMaskNode (SDValue Mask, MVT MaskVT, const X86Subtarget & Subtarget, SelectionDAG & DAG, const SDLoc & dl)Return Mask with the necessary casting or extending
for
according to
when lowering masking intrinsics
Defined at line 26506 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getVectorMaskingNode (SDValue Op, SDValue Mask, SDValue PreservedSrc, const X86Subtarget & Subtarget, SelectionDAG & DAG)Return (and
for compare instructions or
(vselect
for others along with the
necessary casting or extending for
when lowering masking intrinsics
Defined at line 26540 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getScalarMaskingNode (SDValue Op, SDValue Mask, SDValue PreservedSrc, const X86Subtarget & Subtarget, SelectionDAG & DAG)Creates an SDNode for a predicated scalar operation.
Defined at line 26566 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
int getSEHRegistrationNodeSize (const Function * Fn)Defined at line 26602 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue recoverFramePointer (SelectionDAG & DAG, const Function * Fn, SDValue EntryEBP)When the MSVC runtime transfers control to us, either to an outlined
function or when returning to a parent frame after catching an exception, we
recover the parent frame pointer by doing arithmetic on the incoming EBP.
Here's the math:
RegNodeBase = EntryEBP - RegNodeSize
ParentFP = RegNodeBase - ParentFrameOffset
Subtracting RegNodeSize takes us to the offset of the registration node, and
subtracting the offset (negative on x86) takes us back to the parent FP.
Defined at line 26625 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue foldShuffleOfConcatUndefs (ShuffleVectorSDNode * Shuf, SelectionDAG & DAG)Try to convert a wide shuffle of concatenated vectors into 2 narrow shuffles
followed by concatenation. Narrow vector ops may have better performance
than wide ops, and this can unlock further narrowing of other vector ops.
Targets can invert this transform later if it is not profitable.
Defined at line 26711 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue partitionShuffleOfConcats (SDNode * N, SelectionDAG & DAG)Tries to turn a shuffle of two CONCAT_VECTORS into a single concat,
or turn a shuffle of a single concat into simpler shuffle then concat.
Defined at line 26759 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue combineShuffleOfScalars (ShuffleVectorSDNode * SVN, SelectionDAG & DAG, const TargetLowering & TLI)Attempt to combine a shuffle of 2 inputs of 'scalar sources' -
BUILD_VECTOR or SCALAR_TO_VECTOR into a single BUILD_VECTOR.
SHUFFLE(BUILD_VECTOR(), BUILD_VECTOR()) -> BUILD_VECTOR() is always
a simplification in some sense, but it isn't appropriate in general: some
BUILD_VECTORs are substantially cheaper than others. The general case
of a BUILD_VECTOR requires inserting each element individually (or
performing the equivalent in a temporary stack variable). A BUILD_VECTOR of
all constants is a single constant pool load. A BUILD_VECTOR where each
element is identical is a splat. A BUILD_VECTOR where most of the operands
are undef lowers to a small number of element insertions.
To deal with this, we currently use a bunch of mostly arbitrary heuristics.
We don't fold shuffles where one side is a non-zero constant, and we don't
fold shuffles if the resulting (non-splat) BUILD_VECTOR would have duplicate
non-constant operands. This seems to work out reasonably well in practice.
Defined at line 26838 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
std::optional<EVT> canCombineShuffleToExtendVectorInreg (unsigned int Opcode, EVT VT, std::function<bool (unsigned int)> Match, SelectionDAG & DAG, const TargetLowering & TLI, bool LegalTypes, bool LegalOperations)Match shuffles that can be converted to *_vector_extend_in_reg.
This is often generated during legalization.
e.g. v4i32
<
0,u,1,u> -> (v2i64 any_vector_extend_in_reg(v4i32 src)),
and returns the EVT to which the extension should be performed.
NOTE: this assumes that the src is the first operand of the shuffle.
Defined at line 26921 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue combineShuffleToAnyExtendVectorInreg (ShuffleVectorSDNode * SVN, SelectionDAG & DAG, const TargetLowering & TLI, bool LegalOperations)Match shuffles that can be converted to any_vector_extend_in_reg.
This is often generated during legalization.
e.g. v4i32
<
0,u,1,u> -> (v2i64 any_vector_extend_in_reg(v4i32 src))
Defined at line 26959 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue combineShuffleToZeroExtendVectorInReg (ShuffleVectorSDNode * SVN, SelectionDAG & DAG, const TargetLowering & TLI, bool LegalOperations)Match shuffles that can be converted to zero_extend_vector_inreg.
This is often generated during legalization.
e.g. v4i32
<
0,z,1,u> -> (v2i64 zero_extend_vector_inreg(v4i32 src))
Defined at line 26997 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue combineTruncationShuffle (ShuffleVectorSDNode * SVN, SelectionDAG & DAG)Detect 'truncate_vector_inreg' style shuffles that pack the lower parts of
each source element of a large type into the lowest elements of a smaller
destination type. This is often generated during legalization.
If the source node itself was a '*_extend_vector_inreg' node then we should
then be able to remove it.
Defined at line 27123 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue combineShuffleOfSplatVal (ShuffleVectorSDNode * Shuf, SelectionDAG & DAG)Combine shuffles of splat-shuffles of the form:
shuffle (shuffle V, undef, splat-mask), undef, M
If splat-mask contains undef elements, we need to be careful about
introducing undef's in the folded mask which are not the result of composing
the masks of the shuffles.
Defined at line 27184 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue combineShuffleOfBitcast (ShuffleVectorSDNode * SVN, SelectionDAG & DAG, const TargetLowering & TLI, bool LegalOperations)Combine shuffles of bitcasts into a shuffle of the bitcast type, providing
the mask can be treated as a larger type.
Defined at line 27285 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue formSplatFromShuffles (ShuffleVectorSDNode * OuterShuf, SelectionDAG & DAG)Combine shuffle of shuffle of the form:
shuf (shuf X, undef, InnerMask), undef, OuterMask --> splat X
Defined at line 27332 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
int getShuffleMaskIndexOfOneElementFromOp0IntoOp1 (ArrayRef<int> Mask)If the shuffle mask is taking exactly one element from the first vector
operand and passing through all other elements from the second vector
operand, return the index of the mask element that is choosing an element
from the first operand. Otherwise, return -1.
Defined at line 27385 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue simplifyShuffleOfShuffle (ShuffleVectorSDNode * Shuf)If we have a unary shuffle of a shuffle, see if it can be folded away
completely. This has the potential to lose undef knowledge because the first
shuffle may not have an undef mask element where the second one does. So
only call this after doing simplifications based on demanded elements.
Defined at line 27472 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue getAVX2GatherNode (unsigned int Opc, SDValue Op, SelectionDAG & DAG, SDValue Src, SDValue Mask, SDValue Base, SDValue Index, SDValue ScaleOp, SDValue Chain, const X86Subtarget & Subtarget)Defined at line 27714 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getGatherNode (SDValue Op, SelectionDAG & DAG, SDValue Src, SDValue Mask, SDValue Base, SDValue Index, SDValue ScaleOp, SDValue Chain, const X86Subtarget & Subtarget)Defined at line 27746 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getScatterNode (unsigned int Opc, SDValue Op, SelectionDAG & DAG, SDValue Src, SDValue Mask, SDValue Base, SDValue Index, SDValue ScaleOp, SDValue Chain, const X86Subtarget & Subtarget)Defined at line 27784 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getPrefetchNode (unsigned int Opc, SDValue Op, SelectionDAG & DAG, SDValue Mask, SDValue Base, SDValue Index, SDValue ScaleOp, SDValue Chain, const X86Subtarget & Subtarget)Defined at line 27815 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue expandIntrinsicWChainHelper (SDNode * N, const SDLoc & DL, SelectionDAG & DAG, unsigned int TargetOpcode, unsigned int SrcReg, const X86Subtarget & Subtarget, SmallVectorImpl<SDValue> & Results)Handles the lowering of builtin intrinsics with chain that return their
value into registers EDX:EAX.
If operand ScrReg is a valid register identifier, then operand 2 of N is
copied to SrcReg. The assumption is that SrcReg is an implicit input to
TargetOpcode.
Returns a Glue value which can be used to add extra copy-from-reg if the
expanded intrinsics implicitly defines extra registers (i.e. not just
EDX:EAX).
Defined at line 27845 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void getReadTimeStampCounter (SDNode * N, const SDLoc & DL, unsigned int Opcode, SelectionDAG & DAG, const X86Subtarget & Subtarget, SmallVectorImpl<SDValue> & Results)Handles the lowering of builtin intrinsics that read the time stamp counter
(x86_rdtsc and x86_rdtscp). This function is also used to custom lower
READCYCLECOUNTER nodes.
Defined at line 27900 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerREADCYCLECOUNTER (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 27921 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue MarkEHRegistrationNode (SDValue Op, SelectionDAG & DAG)Defined at line 27930 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue MarkEHGuard (SDValue Op, SelectionDAG & DAG)Defined at line 27948 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue EmitTruncSStore (bool SignedSat, SDValue Chain, const SDLoc & DL, SDValue Val, SDValue Ptr, EVT MemVT, MachineMemOperand * MMO, SelectionDAG & DAG)Emit Truncating Store with signed or unsigned saturation.
Defined at line 27967 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue EmitMaskedTruncSStore (bool SignedSat, SDValue Chain, const SDLoc & DL, SDValue Val, SDValue Ptr, SDValue Mask, EVT MemVT, MachineMemOperand * MMO, SelectionDAG & DAG)Emit Masked Truncating Store with signed or unsigned saturation.
Defined at line 27979 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerINTRINSIC_W_CHAIN (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 27998 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerADJUST_TRAMPOLINE (SDValue Op, SelectionDAG & DAG)Defined at line 28686 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue scalarizeBinOpOfSplats (SDNode * N, SelectionDAG & DAG, const SDLoc & DL, bool LegalTypes)If a vector binop is performed on splat values, it may be profitable to
extract, scalarize, and insert/splat.
Defined at line 28805 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue createSetFPEnvNodes (SDValue Ptr, SDValue Chain, const SDLoc & DL, EVT MemVT, MachineMemOperand * MMO, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 29058 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
uint64_t getGFNICtrlImm (unsigned int Opcode, unsigned int Amt)Generate a GFNI gf2p8affine bitmask for vXi8 bitreverse/shift/rotate.
Defined at line 29128 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getGFNICtrlMask (unsigned int Opcode, SelectionDAG & DAG, const SDLoc & DL, MVT VT, unsigned int Amt)Generate a GFNI gf2p8affine bitmask for vXi8 bitreverse/shift/rotate.
Defined at line 29151 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerVectorCTLZ_AVX512CDI (SDValue Op, SelectionDAG & DAG, const X86Subtarget & Subtarget)Lower a vector CTLZ using native supported vector CTLZ instruction.
i8/i16 vector implemented using dword LZCNT vector instruction
( sub(trunc(lzcnt(zext32(x)))) ). In case zext32(x) is illegal,
split the vector, perform operation on it's Lo a Hi part and
concatenate the results.
Defined at line 29170 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerVectorCTLZInRegLUT (SDValue Op, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)Lower CTLZ using a PSHUFB lookup table implementation.
Defined at line 29200 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerVectorCTLZ (SDValue Op, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 29282 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerVectorCTLZ_GFNI (SDValue Op, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 29304 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerCTLZ (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 29328 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerCTTZ (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 29377 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerAddSub (SDValue Op, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 29408 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerADDSAT_SUBSAT (SDValue Op, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 29425 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerABS (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 29495 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerAVG (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 29531 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerMINMAX (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 29547 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerFMINIMUM_FMAXIMUM (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 29563 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue matchMergedBFX (SDValue Root, SelectionDAG & DAG, const TargetLowering & TLI)Defined at line 29644 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue LowerABD (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 29732 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerMUL (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 29785 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue takeInexpensiveLog2 (SelectionDAG & DAG, const SDLoc & DL, EVT VT, SDValue Op, unsigned int Depth, bool AssumeNonZero)This is basically just a port of takeLog2 from InstCombineMulDivRem.cpp
Returns the node that represents `Log2(Op)`. This may create a new node. If
we are unable to compute `Log2(Op)` its return `SDValue()`.
All nodes will be created at `DL` and the output will be of type `VT`.
This will only return `Log2(Op)` if we can prove `Op` is non-zero. Set
`AssumeNonZero` if this function should simply assume (not require proving
`Op` is non-zero).
Defined at line 29832 of file llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
-
SDValue LowervXi8MulWithUNPCK (SDValue A, SDValue B, const SDLoc & dl, MVT VT, bool IsSigned, const X86Subtarget & Subtarget, SelectionDAG & DAG, SDValue * Low)Defined at line 29939 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerMULH (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 29983 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerMULO (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Custom lowering for SMULO/UMULO.
Defined at line 30090 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool supportedVectorShiftWithImm (EVT VT, const X86Subtarget & Subtarget, unsigned int Opcode)Return true if the required (according to Opcode) shift-imm form is natively
supported by the Subtarget
Defined at line 30353 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool supportedVectorShiftWithBaseAmnt (EVT VT, const X86Subtarget & Subtarget, unsigned int Opcode)The shift amount is a variable, but it is the same for all vector lanes.
These instructions are defined together with shift-immediate.
Defined at line 30381 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool supportedVectorVarShift (EVT VT, const X86Subtarget & Subtarget, unsigned int Opcode)Return true if the required (according to Opcode) variable-shift form is
natively supported by the Subtarget
Defined at line 30389 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerShiftByScalarImmediate (SDValue Op, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 30416 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerShiftByScalarVariable (SDValue Op, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 30563 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue convertShiftLeftToScale (SDValue Amt, const SDLoc & dl, const X86Subtarget & Subtarget, SelectionDAG & DAG)Convert a shift/rotate left amount to a multiplication scale factor.
Defined at line 30627 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerShift (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 30682 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerFunnelShift (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 31415 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerRotate (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 31613 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
std::pair<Value *, BitTestKind> FindSingleBitChange (Value * V)Defined at line 31988 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool shouldExpandCmpArithRMWInIR (AtomicRMWInst * AI)Defined at line 32205 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue emitLockedStackOp (SelectionDAG & DAG, const X86Subtarget & Subtarget, SDValue Chain, const SDLoc & DL)Emit a locked operation on a stack location which does not change any
memory location, but does involve a lock prefix. Location is chosen to be
a) very likely accessed only by a single thread to minimize cache traffic,
and b) definitely dereferenceable. Returns the new Chain result.
Defined at line 32439 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerATOMIC_FENCE (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 32500 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerCMP_SWAP (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 32523 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getPMOVMSKB (const SDLoc & DL, SDValue V, SelectionDAG & DAG, const X86Subtarget & Subtarget)Create MOVMSKB, taking into account whether we need to split for AVX1.
Defined at line 32562 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerBITCAST (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 32590 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerHorizontalByteSum (SDValue V, MVT VT, const X86Subtarget & Subtarget, SelectionDAG & DAG)Compute the horizontal sum of bytes in V for the elements of VT.
Requires V to be a byte vector and VT to be an integer vector type with
wider elements than V's type. The width of the elements of VT determines
how many bytes of V are summed horizontally to produce each element of the
result.
Defined at line 32658 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerVectorCTPOPInRegLUT (SDValue Op, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 32722 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerVectorCTPOP (SDValue Op, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)Please ensure that any codegen change from LowerVectorCTPOP is reflected in
updated cost models in X86TTIImpl::getIntrinsicInstrCost.
Defined at line 32769 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerCTPOP (SDValue N, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 32813 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerBITREVERSE_XOP (SDValue Op, SelectionDAG & DAG)Defined at line 32902 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerBITREVERSE (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 32947 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerPARITY (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 33036 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerAtomicArithWithLOCK (SDValue N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 33092 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerAtomicArith (SDValue N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Lower atomic_load_ops into LOCK-prefixed operations.
Defined at line 33124 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerATOMIC_STORE (SDValue Op, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 33192 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerADDSUBO_CARRY (SDValue Op, SelectionDAG & DAG)Defined at line 33281 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue ExtendToType (SDValue InOp, MVT NVT, SelectionDAG & DAG, bool FillWithZeroes)Widen a vector input to a vector of NVT. The
input vector must have the same element type as NVT.
Defined at line 33315 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerMSCATTER (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 33358 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerMLOAD (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 33421 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerMSTORE (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 33487 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerMGATHER (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 33529 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerADDRSPACECAST (SDValue Op, SelectionDAG & DAG)Defined at line 33582 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerCVTPS2PH (SDValue Op, SelectionDAG & DAG)Custom split CVTPS2PH with wide types.
Defined at line 33623 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerPREFETCH (SDValue Op, const X86Subtarget & Subtarget, SelectionDAG & DAG)Defined at line 33636 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue LowerFCanonicalize (SDValue Op, SelectionDAG & DAG)Defined at line 33648 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
StringRef getInstrStrFromOpNo (const SmallVectorImpl<StringRef> & AsmStrs, unsigned int OpNo)Defined at line 33666 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getFlagsOfCmpZeroFori1 (SelectionDAG & DAG, const SDLoc & DL, SDValue Mask)Defined at line 33720 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
MachineBasicBlock * emitXBegin (MachineInstr & MI, MachineBasicBlock * MBB, const TargetInstrInfo * TII)Utility function to emit xbegin specifying the start of an RTM region.
Defined at line 35980 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool checkAndUpdateEFLAGSKill (int SelectItr, MachineBasicBlock * BB, const TargetRegisterInfo * TRI)The EFLAGS operand of SelectItr might be missing a kill marker
because there were multiple uses of EFLAGS, and ISel didn't know
which to mark. Figure out whether SelectItr should have had a
kill marker, and set it if it should. Returns the correct kill
marker value.
Defined at line 36347 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isCMOVPseudo (MachineInstr & MI)Return true if it is OK for this CMOV pseudo-opcode to be cascaded
together with other CMOV pseudo-opcodes into a single basic-block with
conditional jump around it.
Defined at line 36362 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
MachineInstrBuilder createPHIsForCMOVsInSinkBB (int MIItBegin, int MIItEnd, MachineBasicBlock * TrueMBB, MachineBasicBlock * FalseMBB, MachineBasicBlock * SinkMBB)Helper function, which inserts PHI functions into SinkMBB:
%Result(i) = phi [ %FalseValue(i), FalseMBB ], [ %TrueValue(i), TrueMBB ],
where %FalseValue(i) and %TrueValue(i) are taken from the consequent CMOVs
in [MIItBegin, MIItEnd) range. It returns the last MachineInstrBuilder for
the last PHI function inserted.
Defined at line 36401 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
unsigned int getSUBriOpcode (bool IsLP64)Defined at line 36751 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
unsigned int getOpcodeForIndirectThunk (unsigned int RPOpc)Defined at line 37083 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
const char * getIndirectThunkSymbol (const X86Subtarget & Subtarget, Register Reg)Defined at line 37097 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void computeKnownBitsForPSADBW (SDValue LHS, SDValue RHS, KnownBits & Known, const APInt & DemandedElts, const SelectionDAG & DAG, unsigned int Depth)Defined at line 38658 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void computeKnownBitsForPMADDWD (SDValue LHS, SDValue RHS, KnownBits & Known, const APInt & DemandedElts, const SelectionDAG & DAG, unsigned int Depth)Defined at line 38675 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
void computeKnownBitsForPMADDUBSW (SDValue LHS, SDValue RHS, KnownBits & Known, const APInt & DemandedElts, const SelectionDAG & DAG, unsigned int Depth)Defined at line 38697 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
KnownBits computeKnownBitsForHorizontalOperation (SDValue Op, const APInt & DemandedElts, unsigned int Depth, const SelectionDAG & DAG, const function_ref<KnownBits (const KnownBits &, const KnownBits &)> KnownBitsFunc)Defined at line 38720 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue narrowLoadToVZLoad (LoadSDNode * LN, MVT MemVT, MVT VT, SelectionDAG & DAG)Helper to look for a normal load that can be narrowed into a vzload with the
specified VT and memory VT. Returns SDValue() on failure.
Defined at line 39404 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool matchUnaryShuffle (MVT MaskVT, ArrayRef<int> Mask, bool AllowFloatDomain, bool AllowIntDomain, SDValue V1, const SelectionDAG & DAG, const X86Subtarget & Subtarget, unsigned int & Shuffle, MVT & SrcVT, MVT & DstVT)Attempt to match a combined shuffle mask against supported unary shuffle
instructions.
TODO: Investigate sharing more of this with shuffle lowering.
Defined at line 39420 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool matchUnaryPermuteShuffle (MVT MaskVT, ArrayRef<int> Mask, const APInt & Zeroable, bool AllowFloatDomain, bool AllowIntDomain, const SelectionDAG & DAG, const X86Subtarget & Subtarget, unsigned int & Shuffle, MVT & ShuffleVT, unsigned int & PermuteImm)Attempt to match a combined shuffle mask against supported unary immediate
permute instructions.
TODO: Investigate sharing more of this with shuffle lowering.
Defined at line 39578 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool matchBinaryShuffle (MVT MaskVT, ArrayRef<int> Mask, bool AllowFloatDomain, bool AllowIntDomain, SDValue & V1, SDValue & V2, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget, unsigned int & Shuffle, MVT & SrcVT, MVT & DstVT, bool IsUnary)Attempt to match a combined unary shuffle mask against supported binary
shuffle instructions.
TODO: Investigate sharing more of this with shuffle lowering.
Defined at line 39727 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool matchBinaryPermuteShuffle (MVT MaskVT, ArrayRef<int> Mask, const APInt & Zeroable, bool AllowFloatDomain, bool AllowIntDomain, SDValue & V1, SDValue & V2, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget, unsigned int & Shuffle, MVT & ShuffleVT, unsigned int & PermuteImm)Defined at line 39923 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineX86ShuffleChain (ArrayRef<SDValue> Inputs, unsigned int RootOpc, MVT RootVT, ArrayRef<int> BaseMask, int Depth, ArrayRef<const SDNode *> SrcNodes, bool AllowVariableCrossLaneMask, bool AllowVariablePerLaneMask, bool IsMaskedShuffle, SelectionDAG & DAG, const SDLoc & DL, const X86Subtarget & Subtarget)Combine an arbitrary chain of shuffles into a single instruction if
possible.
This is the leaf of the recursive combine below. When we have found some
chain of single-use x86 shuffle instructions and accumulated the combined
shuffle mask represented by them, this will try to pattern match that mask
into either a single instruction if there is a special purpose instruction
for this operation, or into a PSHUFB instruction which is a fully general
instruction but should only be used to replace chains over a certain depth.
Defined at line 40128 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue canonicalizeShuffleMaskWithHorizOp (MutableArrayRef<SDValue> Ops, MutableArrayRef<int> Mask, unsigned int RootSizeInBits, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Canonicalize the combined shuffle mask chain with horizontal ops.
NOTE: This may update the Ops and Mask.
Defined at line 41014 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineX86ShuffleChainWithExtract (ArrayRef<SDValue> Inputs, unsigned int RootOpcode, MVT RootVT, ArrayRef<int> BaseMask, int Depth, ArrayRef<const SDNode *> SrcNodes, bool AllowVariableCrossLaneMask, bool AllowVariablePerLaneMask, bool IsMaskedShuffle, SelectionDAG & DAG, const SDLoc & DL, const X86Subtarget & Subtarget)Combine an arbitrary chain of shuffles + extract_subvectors into a single
instruction if possible.
Wrapper for combineX86ShuffleChain that extends the shuffle mask to a larger
type size to attempt to combine:
shuffle(extract_subvector(x,c1),extract_subvector(y,c2),m1)
-->
extract_subvector(shuffle(x,y,m2),0)
Defined at line 40877 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineX86ShufflesConstants (MVT VT, ArrayRef<SDValue> Ops, ArrayRef<int> Mask, ArrayRef<const SDNode *> SrcNodes, SelectionDAG & DAG, const SDLoc & DL, const X86Subtarget & Subtarget)Attempt to constant fold all of the constant source ops.
Returns true if the entire shuffle is folded to a constant.
TODO: Extend this to merge multiple constant Ops and update the mask.
Defined at line 41224 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineX86ShufflesRecursively (ArrayRef<SDValue> SrcOps, int SrcOpIndex, unsigned int RootOpc, MVT RootVT, ArrayRef<int> RootMask, ArrayRef<const SDNode *> SrcNodes, unsigned int Depth, unsigned int MaxDepth, bool AllowVariableCrossLaneMask, bool AllowVariablePerLaneMask, bool IsMaskedShuffle, SelectionDAG & DAG, const SDLoc & DL, const X86Subtarget & Subtarget)Fully generic combining of x86 shuffle instructions.
This should be the last combine run over the x86 shuffle instructions. Once
they have been fully optimized, this will recursively consider all chains
of single-use shuffle instructions, build a generic model of the cumulative
shuffle operation, and check for simpler instructions which implement this
operation. We use this primarily for two purposes:
1) Collapse generic shuffles to specialized single instructions when
equivalent. In most cases, this is just an encoding size win, but
sometimes we will collapse multiple generic shuffles into a single
special-purpose shuffle.
2) Look for sequences of shuffle instructions with 3 or more total
instructions, and replace them with the slightly more expensive SSSE3
PSHUFB instruction if available. We do this as the last combining step
to ensure we avoid using PSHUFB if we can implement the shuffle with
a suitable short sequence of other instructions. The PSHUFB will either
use a register or have to read from memory and so is slightly (but only
slightly) more expensive than the other shuffle instructions.
Because this is inherently a quadratic operation (for each shuffle in
a chain, we recurse up the chain), the depth is limited to 8 instructions.
This should never be an issue in practice as the shuffle lowering doesn't
produce sequences of more than 8 instructions.
FIXME: We will currently miss some cases where the redundant shuffling
would simplify under the threshold for PSHUFB formation because of
combine-ordering. To fix this, we should do the redundant instruction
combining in this recursive walk.
Defined at line 41349 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineX86ShufflesRecursively (SDValue Op, SelectionDAG & DAG, const X86Subtarget & Subtarget)Helper entry wrapper to combineX86ShufflesRecursively.
Defined at line 41804 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SmallVector<int, 4> getPSHUFShuffleMask (SDValue N)Get the PSHUF-style mask from PSHUF node.
This is a very minor wrapper around getTargetShuffleMask to easy forming v4
PSHUF-style masks that can be reused with such instructions.
Defined at line 41817 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
APInt getBLENDIBlendMask (SDValue V)Get the expanded blend mask from a BLENDI node.
For v16i16 nodes, this will splat the repeated i8 mask.
Defined at line 41856 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineRedundantDWordShuffle (SDValue N, MutableArrayRef<int> Mask, const SDLoc & DL, SelectionDAG & DAG)Search for a combinable shuffle across a chain ending in pshufd.
We walk up the chain and look for a combinable shuffle, skipping over
shuffles that we could hoist this shuffle's transformation past without
altering anything.
Defined at line 41875 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineCommutableSHUFP (SDValue N, MVT VT, const SDLoc & DL, SelectionDAG & DAG)Attempt to commute shufps LHS loads:
permilps(shufps(load(),x)) --> permilps(shufps(x,load()))
Defined at line 42005 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineBlendOfPermutes (MVT VT, SDValue N0, SDValue N1, ArrayRef<int> BlendMask, const APInt & DemandedElts, SelectionDAG & DAG, const X86Subtarget & Subtarget, const SDLoc & DL)Attempt to fold BLEND(PERMUTE(X),PERMUTE(Y)) -> PERMUTE(BLEND(X,Y))
iff we don't demand the same element index for both X and Y.
Defined at line 42059 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isUnaryOp (unsigned int Opcode)TODO - move this to TLI like isBinOp?
Defined at line 42153 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue canonicalizeShuffleWithOp (SDValue N, SelectionDAG & DAG, const SDLoc & DL)Canonicalize SHUFFLE(UNARYOP(X)) -> UNARYOP(SHUFFLE(X)).
Canonicalize SHUFFLE(BINOP(X,Y)) -> BINOP(SHUFFLE(X),SHUFFLE(Y)).
Defined at line 42165 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue canonicalizeLaneShuffleWithRepeatedOps (SDValue V, SelectionDAG & DAG, const SDLoc & DL)Attempt to fold vpermf128(op(),op()) -> op(vpermf128(),vpermf128()).
Defined at line 42354 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineTargetShuffle (SDValue N, const SDLoc & DL, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Try to combine x86 target specific shuffles.
Defined at line 42406 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isAddSubOrSubAddMask (ArrayRef<int> Mask, bool & Op0Even)Checks if the shuffle mask takes subsequent elements
alternately from two vectors.
For example
<
0, 5, 2, 7> or
<
8, 1, 10, 3, 12, 5, 14, 7> are both correct.
Defined at line 43334 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isAddSubOrSubAdd (SDNode * N, const X86Subtarget & Subtarget, SelectionDAG & DAG, SDValue & Opnd0, SDValue & Opnd1, bool & IsSubAdd, bool & HasAllowContract)Returns true iff the shuffle node
can be replaced with ADDSUB(SUBADD)
operation. If true is returned then the operands of ADDSUB(SUBADD) operation
are written to the parameters
and
We combine shuffle to ADDSUB(SUBADD) directly on the abstract vector shuffle nodes
so it is easier to generically match. We also insert dummy vector shuffle
nodes for the operands which explicitly discard the lanes which are unused
by this operation to try to flow through the rest of the combiner
the fact that they're unused.
Defined at line 43371 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineShuffleToFMAddSub (SDNode * N, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)Combine shuffle of two fma nodes into FMAddSub or FMSubAdd.
Defined at line 43433 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineShuffleToAddSubOrFMAddSub (SDNode * N, const SDLoc & DL, const X86Subtarget & Subtarget, SelectionDAG & DAG)Try to combine a shuffle into a target-specific add-sub or
mul-add-sub node.
Defined at line 43475 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue narrowShuffle (ShuffleVectorSDNode * Shuf, SelectionDAG & DAG)If we have a shuffle of AVX/AVX512 (256/512 bit) vectors that only uses the
low half of each source vector and does not set any high half elements in
the destination vector, narrow the shuffle to half its original size.
Defined at line 43519 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineShuffle (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 43549 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool checkBitcastSrcVectorSize (SDValue Src, unsigned int Size, bool AllowTruncate, unsigned int Depth)Helper to peek through bitops/trunc/setcc to determine size of source vector.
Allows combineBitcastvxi1 to determine what size vector generated a
<X
x i1>.
Defined at line 45514 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
unsigned int getAltBitOpcode (unsigned int Opcode)Helper to flip between AND/OR/XOR opcodes and their X86ISD FP equivalents.
Defined at line 45551 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue adjustBitcastSrcVectorSSE1 (SelectionDAG & DAG, SDValue Src, const SDLoc & DL)Helper to adjust v4i32 MOVMSK expansion to work with SSE1-only targets.
Defined at line 45564 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue signExtendBitcastSrcVector (SelectionDAG & DAG, EVT SExtVT, SDValue Src, const SDLoc & DL)Helper to push sign extension of vXi1 SETCC result through bitops.
Defined at line 45598 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineBitcastvxi1 (SelectionDAG & DAG, EVT VT, SDValue Src, const SDLoc & DL, const X86Subtarget & Subtarget)Try to match patterns such as
(i16 bitcast (v16i1 x))
->
(i16 movmsk (16i8 sext (v16i1 x)))
before the illegal vector is scalarized on subtargets that don't have legal
vxi1 types.
Defined at line 45629 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combinevXi1ConstantToInteger (SDValue Op, SelectionDAG & DAG)Convert a vXi1 constant build vector to the same width scalar integer.
Defined at line 45779 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineCastedMaskArithmetic (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 45796 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue createMMXBuildVector (BuildVectorSDNode * BV, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 45844 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineBitcastToBoolVector (EVT VT, SDValue V, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget, unsigned int Depth)Recursive function that attempts to find if a bool vector node was originally
a vector/float/double that got truncated/extended/bitcast to/from a scalar
integer. If so, replace the scalar ops with bool vector equivalents back down
the chain.
Defined at line 45924 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineBitcast (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 46013 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool detectExtMul (SelectionDAG & DAG, const SDValue & Mul, SDValue & Op0, SDValue & Op1)(mul (zext a), (sext, b))
Defined at line 46322 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue createVPDPBUSD (SelectionDAG & DAG, SDValue LHS, SDValue RHS, unsigned int & LogBias, const SDLoc & DL, const X86Subtarget & Subtarget)Defined at line 46352 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue createPSADBW (SelectionDAG & DAG, SDValue N0, SDValue N1, const SDLoc & DL, const X86Subtarget & Subtarget)Create a PSADBW given two sources representable as zexts of vXi8.
Defined at line 46397 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineMinMaxReduction (SDNode * Extract, SelectionDAG & DAG, const X86Subtarget & Subtarget)Attempt to replace an min/max v8i16/v16i8 horizontal reduction with
PHMINPOSUW.
Defined at line 46427 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combinePredicateReduction (SDNode * Extract, SelectionDAG & DAG, const X86Subtarget & Subtarget)Attempt to replace an all_of/any_of/parity style horizontal reduction with a MOVMSK.
Defined at line 46501 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVPDPBUSDPattern (SDNode * Extract, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 46640 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineBasicSADPattern (SDNode * Extract, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 46711 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineExtractFromVectorLoad (SDNode * N, EVT VecVT, SDValue SrcVec, uint64_t Idx, const SDLoc & dl, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)If this extract is from a loaded vector value and will be used as an
integer, that requires a potentially expensive XMM -> GPR transfer.
Additionally, if we can convert to a scalar integer load, that will likely
be folded into a subsequent integer op.
Note: SrcVec might not have a VecVT type, but it must be the same size.
Note: Unlike the related fold for this in DAGCombiner, this is not limited
to a single-use of the loaded vector. For the reasons above, we
expect this to be profitable even if it creates an extra load.
Defined at line 46803 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineExtractWithShuffle (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Attempt to peek through a target shuffle and extract the scalar from the
source.
Defined at line 46841 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue scalarizeExtEltFP (SDNode * ExtElt, SelectionDAG & DAG, const X86Subtarget & Subtarget, TargetLowering::DAGCombinerInfo & DCI)Extracting a scalar FP value from vector element 0 is free, so extract each
operand first, then perform the math as a scalar op.
Defined at line 47045 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineArithReduction (SDNode * ExtElt, SelectionDAG & DAG, const X86Subtarget & Subtarget)Try to convert a vector reduction sequence composed of binops and shuffles
into horizontal ops.
Defined at line 47148 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineExtractVectorElt (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Detect vector gather/scatter index generation and convert it from being a
bunch of shuffles and extracts into a somewhat faster sequence.
For i686, the best sequence is apparently storing the value and loading
scalars back, while for x64 we should use 64-bit extracts and shifts.
Defined at line 47341 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineToExtendBoolVectorInReg (unsigned int Opcode, const SDLoc & DL, EVT VT, SDValue N0, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Convert (vXiY *ext(vXi1 bitcast(iX))) to extend_in_reg(broadcast(iX)).
This is more or less the reverse of combineBitcastvxi1.
Defined at line 47519 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue narrowVectorSelect (SDNode * N, SelectionDAG & DAG, const SDLoc & DL, const X86Subtarget & Subtarget)If both arms of a vector select are concatenated vectors, split the select,
and concatenate the result to eliminate a wide (256-bit) vector instruction:
vselect Cond, (concat T0, T1), (concat F0, F1) -->
concat (vselect (split Cond), T0, F0), (vselect (split Cond), T1, F1)
Defined at line 47618 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSelectOfTwoConstants (SDNode * N, SelectionDAG & DAG, const SDLoc & DL)Defined at line 47645 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVSelectToBLENDV (SDNode * N, SelectionDAG & DAG, const SDLoc & DL, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)If this is a *dynamic* select (non-constant condition) and we can match
this node with one of the variable blend instructions, restructure the
condition so that blends can use the high (sign) bit of each element.
This function will also call SimplifyDemandedBits on already created
BLENDV to perform additional simplifications.
Defined at line 47722 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineLogicBlendIntoConditionalNegate (EVT VT, SDValue Mask, SDValue X, SDValue Y, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Try to match:
(or (and (M, (sub 0, X)), (pandn M, X)))
which is a special case of:
(select M, (sub 0, X), X)
Per:
http://graphics.stanford.edu/~seander/bithacks.html#ConditionalNegate
We know that, if fNegate is 0 or 1:
(fNegate ? -v : v) == ((v ^ -fNegate) + fNegate)
Here, we have a mask, M (all 1s or 0), and, similarly, we know that:
((M
&
1) ? -X : X) == ((X ^ -(M
&
1)) + (M
&
1))
( M ? -X : X) == ((X ^ M ) + (M
&
1))
This lets us transform our vselect to:
(add (xor X, M), (and M, 1))
And further to:
(sub (xor X, M), M)
Defined at line 47829 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue commuteSelect (SDNode * N, SelectionDAG & DAG, const SDLoc & DL, const X86Subtarget & Subtarget)Defined at line 47867 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSelect (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Do target-specific dag combines on SELECT and VSELECT nodes.
Defined at line 47893 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSetCCAtomicArith (SDValue Cmp, X86::CondCode & CC, SelectionDAG & DAG, const X86Subtarget & Subtarget)Combine:
(brcond/cmov/setcc .., (cmp (atomic_load_add x, 1), 0), COND_S)
to:
(brcond/cmov/setcc .., (LADD x, 1), COND_LE)
i.e., reusing the EFLAGS produced by the LOCKed instruction.
Note that this is only legal for some op/cc combinations.
Defined at line 48491 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue checkSignTestSetCCCombine (SDValue Cmp, X86::CondCode & CC, SelectionDAG & DAG)Check whether we're just testing the signbit, and whether we can simplify
this by tracking where the signbit came from.
Defined at line 48610 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue checkBoolTestSetCCCombine (SDValue Cmp, X86::CondCode & CC)Check whether a boolean test is testing a boolean value generated by
X86ISD::SETCC. If so, return the operand of that SETCC and proper condition
code.
Simplify the following patterns:
(Op (CMP (SETCC Cond EFLAGS) 1) EQ) or
(Op (CMP (SETCC Cond EFLAGS) 0) NEQ)
to (Op EFLAGS Cond)
(Op (CMP (SETCC Cond EFLAGS) 0) EQ) or
(Op (CMP (SETCC Cond EFLAGS) 1) NEQ)
to (Op EFLAGS !Cond)
where Op could be BRCOND or CMOV.
Defined at line 48683 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool checkBoolTestAndOrSetCCCombine (SDValue Cond, X86::CondCode & CC0, X86::CondCode & CC1, SDValue & Flags, bool & isAnd)Check whether Cond is an AND/OR of SETCCs off of the same EFLAGS.
Match:
(X86or (X86setcc) (X86setcc))
(X86cmp (and (X86setcc) (X86setcc)), 0)
Defined at line 48801 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineCarryThroughADD (SDValue EFLAGS, SelectionDAG & DAG)When legalizing carry, we create carries via add X, -1
If that comes from an actual carry, via setcc, we use the
carry directly.
Defined at line 48842 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combinePTESTCC (SDValue EFLAGS, X86::CondCode & CC, SelectionDAG & DAG, const X86Subtarget & Subtarget)If we are inverting an PTEST/TESTP operand, attempt to adjust the CC
to avoid the inversion.
Defined at line 48901 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSetCCMOVMSK (SDValue EFLAGS, X86::CondCode & CC, SelectionDAG & DAG, const X86Subtarget & Subtarget)Attempt to simplify the MOVMSK input based on the comparison type.
Defined at line 49099 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSetCCEFLAGS (SDValue EFLAGS, X86::CondCode & CC, SelectionDAG & DAG, const X86Subtarget & Subtarget)Optimize an EFLAGS definition used according to the condition code
into a simpler EFLAGS value, potentially returning a new
and replacing
uses of chain values.
Defined at line 49334 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineCMov (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Optimize X86ISD::CMOV [LHS, RHS, CONDCODE (e.g. X86::COND_NE), CONDVAL]
Defined at line 49357 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool canReduceVMulWidth (SDNode * N, SelectionDAG & DAG, ShrinkMode & Mode)Defined at line 49616 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue reduceVMULWidth (SDNode * N, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)When the operands of vector mul are extended from smaller size values,
like i8 and i16, the type of mul may be shrinked to generate more
efficient code. Two typical patterns are handled:
Pattern1:
%2 = sext/zext
<N
x i8> %1 to
<N
x i32>
%4 = sext/zext
<N
x i8> %3 to
<N
x i32>
or %4 = build_vector
<N
x i32> %C1, ..., %CN (%C1..%CN are constants)
%5 = mul
<N
x i32> %2, %4
Pattern2:
%2 = zext/sext
<N
x i16> %1 to
<N
x i32>
%4 = zext/sext
<N
x i16> %3 to
<N
x i32>
or %4 = build_vector
<N
x i32> %C1, ..., %CN (%C1..%CN are constants)
%5 = mul
<N
x i32> %2, %4
There are four mul shrinking modes:
If %2 == sext32(trunc8(%2)), i.e., the scalar value range of %2 is
-128 to 128, and the scalar value range of %4 is also -128 to 128,
generate pmullw+sext32 for it (MULS8 mode).
If %2 == zext32(trunc8(%2)), i.e., the scalar value range of %2 is
0 to 255, and the scalar value range of %4 is also 0 to 255,
generate pmullw+zext32 for it (MULU8 mode).
If %2 == sext32(trunc16(%2)), i.e., the scalar value range of %2 is
-32768 to 32767, and the scalar value range of %4 is also -32768 to 32767,
generate pmullw+pmulhw for it (MULS16 mode).
If %2 == zext32(trunc16(%2)), i.e., the scalar value range of %2 is
0 to 65535, and the scalar value range of %4 is also 0 to 65535,
generate pmullw+pmulhuw for it (MULU16 mode).
Defined at line 49678 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineMulSpecial (uint64_t MulAmt, SDNode * N, SelectionDAG & DAG, EVT VT, const SDLoc & DL)Defined at line 49747 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineMulToPMADDWD (SDNode * N, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)If the upper 17 bits of either element are zero and the other element are
zero/sign bits then we can use PMADDWD, which is always at least as quick as
PMULLD, except on KNL.
Defined at line 49836 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineMulToPMULDQ (SDNode * N, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 49947 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineMulToPMADD52 (SDNode * N, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 49989 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineMul (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 50023 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineShiftToPMULH (SDNode * N, SelectionDAG & DAG, const SDLoc & DL, const X86Subtarget & Subtarget)Try to form a MULHU or MULHS node by looking for
(srl (mul ext, ext), 16)
TODO: This is X86 specific because we want to be able to handle wide types
before type legalization. But we can only do it if the vector will be
legalized via widening/splitting. Type legalization can't handle promotion
of a MULHU/MULHS. There isn't a way to convey this to the generic DAG
combiner.
Defined at line 50205 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineShiftLeft (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 50247 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineShiftRightArithmetic (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 50315 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineShiftRightLogical (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 50383 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineHorizOpWithShuffle (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 50459 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVectorPack (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 50605 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVectorHADDSUB (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 50756 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVectorShiftVar (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 50804 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVectorShiftImm (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 50837 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVectorInsert (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 50990 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineCompareEqual (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Recognize the distinctive (AND (setcc ...) (setcc ..)) where both setccs
reference the same FP CMP, and rewrite for CMPEQSS and friends. Likewise for
OR -> CMPNEQSS.
Defined at line 51029 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAndNotIntoANDNP (SDNode * N, const SDLoc & DL, SelectionDAG & DAG)Try to fold: (and (xor X, -1), Y) -> (andnp X, Y).
Defined at line 51137 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAndShuffleNot (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Try to fold:
and (vector_shuffle
<Z
,...,Z>
(insert_vector_elt undef, (xor X, -1), Z), undef), Y
->
andnp (vector_shuffle
<Z
,...,Z>
(insert_vector_elt undef, X, Z), undef), Y
Defined at line 51169 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue PromoteMaskArithmetic (SDValue N, const SDLoc & DL, EVT VT, SelectionDAG & DAG, const X86Subtarget & Subtarget, unsigned int Depth)Try to widen AND, OR and XOR nodes to VT in order to remove casts around
logical operations, like in the example below.
or (and (truncate x, truncate y)),
(xor (truncate z, build_vector (constants)))
Given a target type
we generate
or (and x, y), (xor z, zext(build_vector (constants)))
given x, y and z are of type
We can do so, if operands are either
truncates from VT types, the second operand is a vector of constants, can
be recursively promoted or is an existing extension we can extend further.
Defined at line 51255 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue PromoteMaskArithmetic (SDValue N, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)On AVX/AVX2 the type v8i1 is legalized to v8i16, which is an XMM sized
register. In most cases we actually compare or select YMM-sized registers
and mixing the two types creates horrible code. This method optimizes
some of the transition sequences.
Even with AVX-512 this is still useful for removing casts around logical
operations on vXi1 mask types.
Defined at line 51315 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
unsigned int convertIntLogicToFPLogicOpcode (unsigned int Opcode)Defined at line 51343 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue convertIntLogicToFPLogic (unsigned int Opc, const SDLoc & DL, EVT VT, SDValue N0, SDValue N1, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)If both input operands of a logic op are being cast from floating-point
types or FP compares, try to convert this into a floating-point logic node
to avoid unnecessary moves from SSE to integer registers.
Defined at line 51359 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineBitOpWithMOVMSK (unsigned int Opc, const SDLoc & DL, SDValue N0, SDValue N1, SelectionDAG & DAG)Attempt to fold BITOP(MOVMSK(X),MOVMSK(Y)) -> MOVMSK(BITOP(X,Y))
to reduce XMM->GPR traffic.
Defined at line 51423 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineBitOpWithShift (unsigned int Opc, const SDLoc & DL, EVT VT, SDValue N0, SDValue N1, SelectionDAG & DAG)Attempt to fold BITOP(SHIFT(X,Z),SHIFT(Y,Z)) -> SHIFT(BITOP(X,Y),Z).
NOTE: This is a very limited case of what SimplifyUsingDistributiveLaws
handles in InstCombine.
Defined at line 51454 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineBitOpWithPACK (unsigned int Opc, const SDLoc & DL, EVT VT, SDValue N0, SDValue N1, SelectionDAG & DAG)Attempt to fold:
BITOP(PACKSS(X,Z),PACKSS(Y,W)) --> PACKSS(BITOP(X,Y),BITOP(Z,W)).
TODO: Handle PACKUS handling.
Defined at line 51492 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAndMaskToShift (SDNode * N, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)If this is a zero/all-bits result that is bitwise-anded with a low bits
mask. (Mask == 1 for the x86 lowering of a SETCC + ZEXT), replace the 'and'
with a shift-right to eliminate loading the vector constant mask value.
Defined at line 51530 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getIndexFromUnindexedLoad (LoadSDNode * Ld)Get the index node from the lowered DAG of a GEP IR instruction with one
indexing dimension.
Defined at line 51591 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool hasBZHI (const X86Subtarget & Subtarget, MVT VT)Defined at line 51606 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAndNotOrIntoAndNotAnd (SDNode * N, const SDLoc & DL, SelectionDAG & DAG)Folds (and X, (or Y, ~Z)) --> (and X, ~(and ~Y, Z))
This undoes the inverse fold performed in InstCombine
Defined at line 51613 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAndLoadToBZHI (SDNode * Node, SelectionDAG & DAG, const X86Subtarget & Subtarget)This function recognizes cases where X86 bzhi instruction can replace and
'and-load' sequence.
In case of loading integer value from an array of constants which is defined
as follows:
int array[SIZE] = {0x0, 0x1, 0x3, 0x7, 0xF ..., 2^(SIZE-1) - 1}
then applying a bitwise and on the result with another input.
It's equivalent to performing bzhi (zero high bits) on the input, with the
same index of the load.
Defined at line 51645 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineScalarAndWithMaskSetcc (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Look for (and (bitcast (vXi1 (concat_vectors (vYi1 setcc), undef,))), C)
Where C is a mask containing the same number of bits as the setcc and
where the setcc will freely 0 upper bits of k-register. We can replace the
undef in the concat with 0s and remove the AND. This mainly helps with
v2i1/v4i1 setcc being casted to scalar.
Defined at line 51720 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getBMIMatchingOp (unsigned int Opc, SelectionDAG & DAG, SDValue OpMustEq, SDValue Op, unsigned int Depth)Defined at line 51800 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineBMILogicOp (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 51845 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAndXorSubWithBMI (SDNode * And, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Fold AND(Y, XOR(X, NEG(X))) -> ANDN(Y, BLSMSK(X)) if BMI is available.
Defined at line 51865 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineX86SubCmpForFlags (SDNode * N, SDValue Flag, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & ST)Defined at line 51889 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAndOrForCcmpCtest (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & ST)Defined at line 51951 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAnd (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 52031 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue canonicalizeBitSelect (SDNode * N, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Canonicalize OR(AND(X,C),AND(Y,~C)) -> OR(AND(X,C),ANDNP(C,Y))
Defined at line 52325 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool matchLogicBlend (SDNode * N, SDValue & X, SDValue & Y, SDValue & Mask)Try to match OR(ANDNP(MASK,X),AND(MASK,Y)) logic pattern.
TODO: Try to match OR(AND(~MASK,X),AND(MASK,Y)) logic pattern.
Waiting for ANDNP combine allows other combines to happen that prevent
matching.
Defined at line 52392 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineLogicBlendIntoPBLENDV (SDNode * N, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Try to fold:
(or (and (m, y), (pandn m, x)))
into:
(vselect m, x, y)
As a special case, try to fold:
(or (and (m, (sub 0, x)), (pandn m, x)))
into:
(sub (xor X, M), M)
Defined at line 52406 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerX86CmpEqZeroToCtlzSrl (SDValue Op, SelectionDAG & DAG)Helper function for combineOrCmpEqZeroToCtlzSrl
Transforms:
seteq(cmp x, 0)
into:
srl(ctlz x), log2(bitsize(x))
Input pattern is checked by caller.
Defined at line 52460 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineOrCmpEqZeroToCtlzSrl (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Try to transform:
zext(or(setcc(eq, (cmp x, 0)), setcc(eq, (cmp y, 0))))
into:
srl(or(ctlz(x), ctlz(y)), log2(bitsize(x))
Will also attempt to match more generic cases, eg:
zext(or(or(setcc(eq, cmp 0), setcc(eq, cmp 0)), setcc(eq, cmp 0)))
Only applies if the target supports the FastLZCNT feature.
Defined at line 52481 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAddOrSubToADCOrSBB (bool IsSub, const SDLoc & DL, EVT VT, SDValue X, SDValue Y, SelectionDAG & DAG, bool ZeroSecondOpOnly)If this is an add or subtract where one operand is produced by a cmp+setcc,
then try to convert it to an ADC or SBB. This replaces TEST+SET+{ADD/SUB}
with CMP+{ADC, SBB}.
Also try (ADD/SUB)+(AND(SRL,1)) bit extraction pattern with BT+{ADC, SBB}.
Defined at line 52560 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAddOrSubToADCOrSBB (SDNode * N, const SDLoc & DL, SelectionDAG & DAG)If this is an add or subtract where one operand is produced by a cmp+setcc,
then try to convert it to an ADC or SBB. This replaces TEST+SET+{ADD/SUB}
with CMP+{ADC, SBB}.
Defined at line 52769 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineOrXorWithSETCC (unsigned int Opc, const SDLoc & DL, EVT VT, SDValue N0, SDValue N1, SelectionDAG & DAG)Defined at line 52789 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineOr (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 52825 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue foldXorTruncShiftIntoCmp (SDNode * N, const SDLoc & DL, SelectionDAG & DAG)Try to turn tests against the signbit in the form of:
XOR(TRUNCATE(SRL(X, size(X)-1)), 1)
into:
SETGT(X, -1)
Defined at line 52994 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue foldVectorXorShiftIntoCmp (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Turn vector tests of the signbit in the form of:
xor (sra X, elt_size(X)-1), -1
into:
pcmpgt X, -1
This should be called before type legalization because the pattern may not
persist after that.
Defined at line 53050 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue detectUSatPattern (SDValue In, EVT VT, SelectionDAG & DAG, const SDLoc & DL)Detect patterns of truncation with unsigned saturation:
1. (truncate (umin (x, unsigned_max_of_dest_type)) to dest_type).
Return the source value x to be truncated or SDValue() if the pattern was
not matched.
2. (truncate (smin (smax (x, C1), C2)) to dest_type),
where C1 >= 0 and C2 is unsigned max of destination type.
(truncate (smax (smin (x, C2), C1)) to dest_type)
where C1 >= 0, C2 is unsigned max of destination type and C1
<
= C2.
These two patterns are equivalent to:
(truncate (umin (smax(x, C1), unsigned_max_of_dest_type)) to dest_type)
So return the smax(x, C1) value to be truncated or SDValue() if the
pattern was not matched.
Defined at line 53106 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue detectSSatPattern (SDValue In, EVT VT, bool MatchPackUS)Detect patterns of truncation with signed saturation:
(truncate (smin ((smax (x, signed_min_of_dest_type)),
signed_max_of_dest_type)) to dest_type)
or:
(truncate (smax ((smin (x, signed_max_of_dest_type)),
signed_min_of_dest_type)) to dest_type).
With MatchPackUS, the smax/smin range is [0, unsigned_max_of_dest_type].
Return the source value to be truncated or SDValue() if the pattern was not
matched.
Defined at line 53146 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineTruncateWithSat (SDValue In, EVT VT, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 53173 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineConstantPoolLoads (SDNode * N, const SDLoc & dl, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 53273 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineLoad (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 53349 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
int getOneTrueElt (SDValue V)If V is a build vector of boolean constants and exactly one of those
constants is true, return the operand index of that true element.
Otherwise, return -1.
Defined at line 53456 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool getParamsForOneTrueMaskedElt (MaskedLoadStoreSDNode * MaskedOp, SelectionDAG & DAG, SDValue & Addr, SDValue & Index, Align & Alignment, unsigned int & Offset)Given a masked memory load/store operation, return true if it has one mask
bit set. If it has one mask bit set, then also return the memory address of
the scalar element to load/store, the vector index to insert/extract that
scalar element, and the alignment for the scalar memory access.
Defined at line 53491 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue reduceMaskedLoadToScalarLoad (MaskedLoadSDNode * ML, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)If exactly one element of the mask is set for a non-extending masked load,
it is a scalar load and vector insert.
Note: It is expected that the degenerate cases of an all-zeros or all-ones
mask have already been optimized in IR, so we don't bother with those here.
Defined at line 53519 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineMaskedLoadConstantMask (MaskedLoadSDNode * ML, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Defined at line 53560 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineMaskedLoad (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 53609 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue reduceMaskedStoreToScalarStore (MaskedStoreSDNode * MS, SelectionDAG & DAG, const X86Subtarget & Subtarget)If exactly one element of the mask is set for a non-truncating masked store,
it is a vector extract and scalar store.
Note: It is expected that the degenerate cases of an all-zeros or all-ones
mask have already been optimized in IR, so we don't bother with those here.
Defined at line 53656 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineMaskedStore (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 53688 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue narrowBitOpRMW (StoreSDNode * St, const SDLoc & DL, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Look for a RMW operation that only touches one bit of a larger than legal
type and fold it to a BTC/BTR/BTS or bit insertion pattern acting on a single
i32 sub value.
Defined at line 53766 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineStore (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 53873 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVEXTRACT_STORE (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 54225 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isHorizontalBinOp (unsigned int HOpcode, SDValue & LHS, SDValue & RHS, SelectionDAG & DAG, const X86Subtarget & Subtarget, bool IsCommutative, SmallVectorImpl<int> & PostShuffleMask, bool ForceHorizOp)Return 'true' if this vector operation is "horizontal"
and return the operands for the horizontal operation in LHS and RHS. A
horizontal operation performs the binary operation on successive elements
of its first operand, then on successive elements of its second operand,
returning the resulting values in a vector. For example, if
A =
<
float a0, float a1, float a2, float a3 >
and
B =
<
float b0, float b1, float b2, float b3 >
then the result of doing a horizontal operation on A and B is
A horizontal-op B =
<
a0 op a1, a2 op a3, b0 op b1, b2 op b3 >.
In short, LHS and RHS are inspected to see if LHS op RHS is of the form
A horizontal-op B, for some already available A and B, and if so then LHS is
set to A, RHS to B, and the routine returns 'true'.
Defined at line 54261 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineToHorizontalAddSub (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Try to synthesize horizontal (f)hadd/hsub from (f)adds/subs of shuffles.
Defined at line 54449 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFMulcFCMulc (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Try to combine the following nodes
t29: i64 = X86ISD::Wrapper TargetConstantPool:i64
<i32
-2147483648[float -0.000000e+00]> 0
t27: v16i32[v16f32],ch = X86ISD::VBROADCAST_LOAD
<
(load 4 from constant-pool)> t0, t29
[t30: v16i32 = bitcast t27]
t6: v16i32 = xor t7, t27[t30]
t11: v16f32 = bitcast t6
t21: v16f32 = X86ISD::VFMULC[X86ISD::VCFMULC] t11, t8
into X86ISD::VFCMULC[X86ISD::VFMULC] if possible:
t22: v16f32 = bitcast t7
t23: v16f32 = X86ISD::VFCMULC[X86ISD::VFMULC] t8, t22
t24: v32f16 = bitcast t23
Defined at line 54529 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFaddCFmul (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Try to combine the following nodes:
FADD(A, FMA(B, C, 0)) and FADD(A, FMUL(B, C)) to FMA(B, C, A)
Defined at line 54570 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFaddFsub (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Do target-specific dag combines on floating-point adds/subs.
Defined at line 54639 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineLRINT_LLRINT (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 54650 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combinei64TruncSrlConstant (SDValue N, EVT VT, SelectionDAG & DAG, const SDLoc & DL)Attempt to fold some (truncate (srl (add/or/xor X, C1), C2)) patterns to
(add/or/xor (truncate (srl X, C2)), C1'). C1' will be smaller than C1 so we
are able to avoid generating code with MOVABS and large constants in certain
cases.
Defined at line 54692 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineTruncatedArithmetic (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget, const SDLoc & DL)Attempt to pre-truncate inputs to arithmetic ops if it will simplify
the codegen.
e.g. TRUNC( BINOP( X, Y ) ) --> BINOP( TRUNC( X ), TRUNC( Y ) )
TODO: This overlaps with the generic combiner's visitTRUNCATE. Remove
anything that is guaranteed to be transformed by DAGCombiner.
Defined at line 54734 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combinePMULH (SDValue Src, EVT VT, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Try to form a MULHU or MULHS node by looking for
(trunc (srl (mul ext, ext), >= 16))
TODO: This is X86 specific because we want to be able to handle wide types
before type legalization. But we can only do it if the vector will be
legalized via widening/splitting. Type legalization can't handle promotion
of a MULHU/MULHS. There isn't a way to convey this to the generic DAG
combiner.
Defined at line 54816 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue detectPMADDUBSW (SDValue In, EVT VT, SelectionDAG & DAG, const X86Subtarget & Subtarget, const SDLoc & DL)Attempt to match PMADDUBSW, which multiplies corresponding unsigned bytes
from one vector with signed bytes from another vector, adds together
adjacent pairs of 16-bit products, and saturates the result before
truncating to 16-bits.
Which looks something like this:
(i16 (ssat (add (mul (zext (even elts (i8 A))), (sext (even elts (i8 B)))),
(mul (zext (odd elts (i8 A)), (sext (odd elts (i8 B))))))))
Defined at line 54905 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineTruncate (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 55025 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVTRUNC (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Defined at line 55099 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue isFNEG (SelectionDAG & DAG, SDNode * N, unsigned int Depth)Returns the negated value if the node
flips sign of FP value.
FP-negation node may have different forms: FNEG(x), FXOR (x, 0x80000000)
or FSUB(0, x)
AVX512F does not have FXOR, so FNEG is lowered as
(bitcast (xor (bitcast x), (bitcast ConstantFP(0x80000000)))).
In this case we go though all bitcasts.
This also recognizes splat of a negated value and returns the splat of that
value.
Defined at line 55127 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
unsigned int negateFMAOpcode (unsigned int Opcode, bool NegMul, bool NegAcc, bool NegRes)Defined at line 55219 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFneg (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Do target-specific dag combines on floating point negations.
Defined at line 55286 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue lowerX86FPLogicOp (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 55397 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue foldXor1SetCC (SDNode * N, const SDLoc & DL, SelectionDAG & DAG)Fold a xor(setcc cond, val), 1 --> setcc (inverted(cond), val)
Defined at line 55423 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineXorSubCTLZ (SDNode * N, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 55436 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineXor (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 55492 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineBITREVERSE (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 55583 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAVG (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Various combines to try to convert to avgceilu.
Defined at line 55611 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineBEXTR (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 55635 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isNullFPScalarOrVectorConst (SDValue V)Defined at line 55652 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getNullFPConstForNullVal (SDValue V, SelectionDAG & DAG, const X86Subtarget & Subtarget)If a value is a scalar FP zero or a vector FP zero (potentially including
undefined elements), return a zero constant that may be used to fold away
that value. In the case of a vector, the returned constant will not contain
undefined elements even if the input parameter does. This makes it suitable
to be used as a replacement operand with operations (eg, bitwise-and) where
an undef should not propagate.
Defined at line 55662 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFAndFNotToFAndn (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 55673 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFAnd (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Do target-specific dag combines on X86ISD::FAND nodes.
Defined at line 55705 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFAndn (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Do target-specific dag combines on X86ISD::FANDN nodes.
Defined at line 55722 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFOr (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Do target-specific dag combines on X86ISD::FOR and X86ISD::FXOR nodes.
Defined at line 55736 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFMinFMax (SDNode * N, SelectionDAG & DAG)Do target-specific dag combines on X86ISD::FMIN and X86ISD::FMAX nodes.
Defined at line 55756 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFMinNumFMaxNum (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 55777 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineX86INT_TO_FP (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Defined at line 55850 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineCVTP2I_CVTTP2I (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Defined at line 55883 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAndnp (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Do target-specific dag combines on X86ISD::ANDNP nodes.
Defined at line 55921 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineBT (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Defined at line 56068 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineCVTPH2PS (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Defined at line 56084 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSextInRegCmov (SDNode * N, SelectionDAG & DAG)Try to combine sext_in_reg of a cmov of constants by extending the constants.
Defined at line 56125 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSignExtendInReg (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 56186 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue promoteExtBeforeAdd (SDNode * Ext, SelectionDAG & DAG, const X86Subtarget & Subtarget)sext(add_nsw(x, C)) --> add(sext(x), C_sext)
zext(add_nuw(x, C)) --> add(zext(x), C_zext)
Promoting a sign/zero extension ahead of a no overflow 'add' exposes
opportunities to combine math ops, use an LEA, or use a complex addressing
mode. This can eliminate extend, add, and shift instructions.
Defined at line 56233 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineToExtendCMOV (SDNode * Extend, SelectionDAG & DAG)If we face {ANY,SIGN,ZERO}_EXTEND that is applied to a CMOV with constant
operands and the result of CMOV is not used anywhere else - promote CMOV
itself instead of promoting its result. This could be beneficial, because:
1) X86TargetLowering::EmitLoweredSelect later can do merging of two
(or more) pseudo-CMOVs only when they go one-after-another and
getting rid of result extension code after CMOV will help that.
2) Promotion of constant CMOV arguments is free, hence the
{ANY,SIGN,ZERO}_EXTEND will just be deleted.
3) 16-bit CMOV encoding is 4 bytes, 32-bit CMOV is 3-byte, so this
promotion is also good in terms of code-size.
(64-bit CMOV is 4-bytes, that's why we don't do 32-bit => 64-bit
promotion).
Defined at line 56308 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineExtSetcc (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Attempt to combine a (sext/zext (setcc)) to a setcc with a xmm/ymm/zmm
result type.
Defined at line 56355 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSext (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 56400 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue getInvertedVectorForFMA (SDValue V, SelectionDAG & DAG)Inverting a constant vector is profitable if it can be eliminated and the
inverted vector is already present in DAG. Otherwise, it will be loaded
anyway.
We determine which of the values can be completely eliminated and invert it.
If both are eliminable, select a vector with the first negative element.
Defined at line 56457 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFMA (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 56505 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFMADDSUB (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Combine FMADDSUB(A, B, FNEG(C)) -> FMSUBADD(A, B, C)
Combine FMSUBADD(A, B, FNEG(C)) -> FMADDSUB(A, B, C)
Defined at line 56602 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue widenBuildVec (SDNode * Extend, SelectionDAG & DAG)Try to widen the build vector and bitcast it to the type of zext.
This is a special case for the 128-bit vector types. Intention is to remove
the zext and replace it with a bitcast the wider type. While lowering
the bitcast is removed and extra commutation due to zext is avoided.
For example:
zext v4i16 ( v4i8 build_vector (x, y, z, w)) -> bitcast v4i16 ( v8i8
build_vector (x, 0, y, 0, z, w, 0)
Defined at line 56632 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineZext (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 56698 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue truncateAVX512SetCCNoBWI (EVT VT, EVT OpVT, SDValue LHS, SDValue RHS, CondCode CC, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)If we have AVX512, but not BWI and this is a vXi16/vXi8 setcc, just
pre-promote its result type since vXi1 vectors don't get promoted
during type legalization.
Defined at line 56766 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAVX512SetCCToKMOV (EVT VT, SDValue Op0, CondCode CC, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)The pattern (setcc (and (broadcast x), (2^n, 2^{n+1}, ...)), (0, 0, ...),
eq/ne) is generated when using an integer as a mask. Instead of generating a
broadcast + vptest, we can directly move the integer to a mask register.
Defined at line 56783 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSetCC (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 56868 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineMOVMSK (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 57196 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineTESTP (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 57313 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineX86GatherScatter (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Defined at line 57328 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue rebuildGatherScatter (MaskedGatherScatterSDNode * GorS, SDValue Index, SDValue Base, SDValue Scale, SelectionDAG & DAG)Defined at line 57347 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineGatherScatter (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Defined at line 57371 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineX86SetCC (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Optimize RES = X86ISD::SETCC CONDCODE, EFLAG_INPUT
Defined at line 57519 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineBrCond (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Optimize branch condition evaluation.
Defined at line 57533 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVectorCompareAndMaskUnaryOp (SDNode * N, SelectionDAG & DAG)TODO: Could we move this to DAGCombine?
Defined at line 57552 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineToFPTruncExtElt (SDNode * N, SelectionDAG & DAG)If we are converting a value to floating-point, try to replace scalar
truncate of an extracted vector element with a bitcast. This tries to keep
the sequence on XMM registers rather than moving between vector and GPRs.
Defined at line 57610 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineUIntToFP (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 57642 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSIntToFP (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 57706 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFPToSInt (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 57827 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFP_TO_xINT_SAT (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Custom handling for VCVTTPS2QQS/VCVTTPS2UQQS
Defined at line 57839 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFunnelShift (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Combiner: turn uniform-constant splat funnel shifts into VSHLD/VSHRD
Defined at line 57866 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool needCarryOrOverflowFlag (SDValue Flags)Defined at line 57899 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool onlyZeroFlagUsed (SDValue Flags)Defined at line 57934 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineCMP (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 57961 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineX86AddSub (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & ST)Defined at line 58108 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSBB (SDNode * N, SelectionDAG & DAG)Defined at line 58173 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineADC (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Optimize RES, EFLAGS = X86ISD::ADC LHS, RHS, EFLAGS
Defined at line 58195 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue matchPMADDWD (SelectionDAG & DAG, SDNode * N, const SDLoc & DL, EVT VT, const X86Subtarget & Subtarget)Defined at line 58253 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue matchPMADDWD_2 (SelectionDAG & DAG, SDNode * N, const SDLoc & DL, EVT VT, const X86Subtarget & Subtarget)Attempt to turn this pattern into PMADDWD.
(add (mul (sext (build_vector)), (sext (build_vector))),
(mul (sext (build_vector)), (sext (build_vector)))
Defined at line 58363 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAddOfPMADDWD (SelectionDAG & DAG, SDValue N0, SDValue N1, const SDLoc & DL, EVT VT)ADD(VPMADDWD(X,Y),VPMADDWD(Z,W)) -> VPMADDWD(SHUFFLE(X,Z), SHUFFLE(Y,W))
If upper element in each pair of both VPMADDWD are zero then we can merge
the operand elements and use the implicit add of VPMADDWD.
TODO: Add support for VPMADDUBSW (which isn't commutable).
Defined at line 58478 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue pushAddIntoCmovOfConsts (SDNode * N, const SDLoc & DL, SelectionDAG & DAG, const X86Subtarget & Subtarget)CMOV of constants requires materializing constant operands in registers.
Try to fold those constants into an 'add' instruction to reduce instruction
count. We do this with CMOV rather the generic 'select' because there are
earlier folds that may be used to turn select-of-constants into logic hacks.
Defined at line 58522 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue matchVPMADD52 (SDNode * N, SelectionDAG & DAG, const SDLoc & DL, EVT VT, const X86Subtarget & Subtarget)Attempt to turn ADD(MUL(x, y), acc)) -> VPMADD52L
When upper 12 bits of x, y and MUL(x, y) are known to be 0
Defined at line 58589 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineAdd (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 58633 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSubABS (EVT VT, const SDLoc & DL, SDValue N0, SDValue N1, SelectionDAG & DAG)Try to fold (sub Y, cmovns X, -X) -> (add Y, cmovns -X, X) if the cmov
condition comes from the subtract node that produced -X. This matches the
cmov expansion for absolute value. By swapping the operands we convert abs
to nabs.
Defined at line 58754 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSubSetcc (SDNode * N, SelectionDAG & DAG)Defined at line 58803 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineX86CloadCstore (SDNode * N, SelectionDAG & DAG)Defined at line 58830 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSub (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 58881 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVectorCompare (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 58943 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
std::optional<unsigned int> CastIntSETCCtoFP (MVT VT, CondCode CC, unsigned int NumSignificantBitsLHS, unsigned int NumSignificantBitsRHS)Helper to determine if we can convert an integer comparison to a float
comparison byt casting the operands.
Defined at line 58989 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineConcatVectorOps (const SDLoc & DL, MVT VT, ArrayRef<SDValue> Ops, SelectionDAG & DAG, const X86Subtarget & Subtarget, unsigned int Depth)Helper that combines an array of subvector ops as if they were the operands
of a ISD::CONCAT_VECTORS node, but may have come from another source (e.g.
ISD::INSERT_SUBVECTOR). The ops are assumed to be of the same type.
Defined at line 59012 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineCONCAT_VECTORS (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 60078 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineINSERT_SUBVECTOR (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 60125 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue narrowExtractedVectorSelect (SDNode * Ext, const SDLoc & DL, SelectionDAG & DAG)If we are extracting a subvector of a vector select and the select condition
is composed of concatenated vectors, try to narrow the select width. This
is a common pattern for AVX1 integer code because 256-bit selects may be
legal, but there is almost no integer math/logic available for 256-bit.
This function should only be called with legal types (otherwise, the calls
to get simple value types will assert).
Defined at line 60336 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineEXTRACT_SUBVECTOR (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 60387 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineSCALAR_TO_VECTOR (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 60692 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combinePMULDQ (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Simplify PMULDQ and PMULUDQ operations.
Defined at line 60834 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVPMADD (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Simplify VPMADDUBSW/VPMADDWD operations.
Defined at line 60887 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineVPMADD52LH (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Simplify VPMADD52L/VPMADD52H operations.
Defined at line 60933 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineEXTEND_VECTOR_INREG (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 60967 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineKSHIFT (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Defined at line 61035 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFP16_TO_FP (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Optimize (fp16_to_fp (fp_to_fp16 X)) to VCVTPS2PH followed by VCVTPH2PS.
Done as a combine because the lowering for fp16_to_fp and fp_to_fp16 produce
extra instructions between the conversion due to going to scalar and back.
Defined at line 61072 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFP_EXTEND (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI, const X86Subtarget & Subtarget)Defined at line 61094 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineBROADCAST_LOAD (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Try to find a larger VBROADCAST_LOAD/SUBV_BROADCAST_LOAD that we can extract.
Defined at line 61189 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineFP_ROUND (SDNode * N, SelectionDAG & DAG, const X86Subtarget & Subtarget)Defined at line 61223 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineMOVDQ2Q (SDNode * N, SelectionDAG & DAG)Defined at line 61314 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combinePDEP (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Defined at line 61334 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue FixupMMXIntrinsicTypes (SDNode * N, SelectionDAG & DAG)Fixup the MMX intrinsics' types: in IR they are expressed with
<
1 x i64>,
and so SelectionDAGBuilder creates them with v1i64 types, but they need to
use x86mmx instead.
Defined at line 61347 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineINTRINSIC_WO_CHAIN (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Defined at line 61382 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineINTRINSIC_W_CHAIN (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Defined at line 61396 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
SDValue combineINTRINSIC_VOID (SDNode * N, SelectionDAG & DAG, TargetLowering::DAGCombinerInfo & DCI)Defined at line 61410 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
CondCode parseConstraintCode (StringRef Constraint)===----------------------------------------------------------------------===//
X86 Inline Assembly Support
===----------------------------------------------------------------------===//
Defined at line 61839 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isGRClass (const TargetRegisterClass & RC)Check if
is a general purpose register class.
I.e., GR* or one of their variant.
Defined at line 62307 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isFRClass (const TargetRegisterClass & RC)Check if
is a vector register class.
I.e., FR* / VR* or one of their variant.
Defined at line 62317 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool isVKClass (const TargetRegisterClass & RC)Check if
is a mask register class.
I.e., VK* or one of their variant.
Defined at line 62328 of file llvm/lib/Target/X86/X86ISelLowering.cpp
-
bool useEGPRInlineAsm (const X86Subtarget & Subtarget)Defined at line 62338 of file llvm/lib/Target/X86/X86ISelLowering.cpp